QGroundControl connection via LAN

We are planning to use cellular instead of WiFi for increased range, but are having trouble with the connection. To eliminate the cellular modem as the culprit, we have switched to attempting to connect over the LAN that is formed by a cabled router. All services appears to work, eg: 6030 (System Information), as does the WebUI from BlueOS. The default port #5760 (which may be the serial port baud rate, 57600, truncated) was a big distraction, but eventually we enabled Pirate mode and discovered two services that might be the right target: ‘ArudPilot Manager’ on port 8000, and ‘Commander’ on port 9100. Could not find anything like this in the docs.

So we set up a ‘Comm Link’ under ‘Application Settings’ with the blueos IP and port 8000. Very briefly, the position marker showed up at the correct map location, but that was it. All subsequent attempts (reboots of everything included) only show the cached map image and “Disconnected.”
Interestingly, the blueos netstat says QGroundControl is connected on port 8000 (ArduPilot Manager)

pi@blueos:~ $ netstat -a | grep 8000
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN     
tcp        0      0 blueos.lan:8000         butters.lan:58824       ESTABLISHED

What have we done wrong? Should we be connecting to the “Commander” service instead? Also, and it may be a symptom, we can press the ‘Disconnect’ button, and the connection goes away on the blueos side. But the Connect button does not return to active, and so we must restart QGroundControl every time to re-attempt the connection. Is this normal?

Thank you

OS info:

BlueOS:
Linux blueos 5.10.33-v7l+ #1415 SMP Fri Apr 30 15:50:57 BST 2021 armv7l

Ubuntu host running the QGroundControl AppImage:

(base) sst@butters:~/Downloads$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.6 LTS
Release:	20.04
Codename:	focal

Hi @cuz -
There is a much more straightforward approach to using BlueOS via cellular connection! I’m really pretty lost on what you were attempting here

eventually we enabled Pirate mode and discovered two services that might be the right target: ‘ArudPilot Manager’ on port 8000, and ‘Commander’ on port 9100. Could not find anything like this in the docs.

The Comm Links in QGround Control application settings are not relevant to setting up a remote connection. If a Mavlink Endpoint is pointed at your computer’s IP address, QGround Control will connect automatically!
The trick is getting your computer to have an IP address that is reachable from BlueOS and its cellular internet connection - that’s where the ZeroTier extension comes in. Simply install it from the Extension Manager in BlueOS, and create a free account. Then create a network, and copy the 16 digit network ID to the ZeroTier interface in BlueOS, to join the network. This will fail initially, and you will need to authorize the client in the ZeroTier web interface. Finally, repeat this process with your computer and the appropriate ZeroTier client for your operating system.
Then, you’ll be able to reach BlueOS at its ZeroTier IP address, and can configure a Mavlink Endpoint to reach your client computer at its ZeroTier IP address. Once this is setup, your system will connect automatically over cellular, as long as both computer and vehicle have internet access!
Critically, no modification to QGround Control settings is required. I would recommend that you are on the latest stable version of BlueOS - 1.2.6 - the information you shared doesn’t indicate what version you’re running, just what kernel. Don’t forget to update the bootstrap if prompted!

Sorry Tony, I didn’t explain it very well. BlueOS=1.2.6. There are three devices sharing the cellular modem. We were trying to set up a port forward in the modem so that QGroundControl could connect to BlueOS. What threw us off is that when creating a Comm Link, a default port of 5760 is suggested. But netstat doesn’t show that port in BlueOS, and now I am suspicious that 5760 is the default baud rate 57600 with one zero truncated.
We were avoiding ZeroTier because our IT Dept. needed to vet it first (Takes weeks). However, yesterday we realized that if we used a shop laptop, that we would not be touching the corporate network.
Short version: we got it working yesterday.
Details: It required a medium level of Linux skill. The download for ZeroTier for the laptop from your page failed silently, with no apparent way to diagnose. So we apt removed and followed this and, built: GitHub - Williangalvani/ZeroTierOne: A Smart Ethernet Switch for Earth (BlueOS edition). We built the service and the GUI, thankfully both built just fine. The make install target for the GUI did create a proper icon in the Gnome app launcher. This is the OS for the laptop:

(base) sst@butters:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.6 LTS
Release:	20.04
Codename:	focal
(base) sst@butters:~$ uname -a
Linux butters 5.15.0-113-generic #123~20.04.1-Ubuntu SMP Wed Jun 12 17:33:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

But it wasn’t over. We used usermod to add the ‘zerotier-one’ group to our user, and once we saw that ‘id’ showed the group, the GUI still told us that we were not permitted to start the service. So we started it manually, and then it worked. We nearly jumped out of our skin when the connection completed and the app started talking to us (Had the volume up WAY too loud)!
Thank you for the help - Clark

1 Like

Here is the link for how top build & install the ZeroTier service and GUI:

Hi @cuz -
To clarify - you followed this process on your control computer, and were able to connect to the BlueOS device running the ZeroTier extension? I’m surprised the existing ZeroTier client was not supported on the laptop…

Also, there has been considerable vetting of ZeroTier with positive analysis!

Correct. But we had to build it. The binary we downloaded would quit instantly every time we started it it, with no stdout or stderr. The install process, dependencies, everything looked normal. It also did not create an icon for launching, maybe it usually does and something went wrong with the download? Thanks again!