Mission Planner Can't Connect Through UDP


I am trying to connect Win 11 / Mission Planner to my SpeedyBee 405 Wing /HappyModel EP2 via the ELRS built in wifi, but I am getting the above error. It connects fine using a com port over USB. I configured the transmitter and receiver according to the instructions at MAVLink - ExpressLRS. I can connect to the resulting Backpack wifi network, but when trying to connect with Mission Planner using UDP, baud rate = 460800, and port = 14550, I keep getting the above error. Netstat -an does not show that port in use, and I have the Defender firewall disabled. I also find it strange that the file paths in the error do not exist on my PC. Is there a way to troubleshoot this?

If you have multiple GCS things running, this can happen, like mavproxy. This message means two applications are trying to listen on port 14550.

C:\Users\jkord>netstat -ano | findstr 14550
  UDP    0.0.0.0:14550          *:*                                    1631768

C:\Users\jkord>tasklist | findstr 1631768
MissionPlanner.exe         1631768 Console                    1    270,816 K

The last line will be the process number and will be different in your case, I expect you’ll see what is running.

TIL that the windows command line now supports pipes…

Thanks for those shortcuts. They confirmed what I was seeing when I looked at the entire output of netstat. Mission Planner is the only task listening on that port. Interestingly, I just left the error displaying and while I was using netstat, it suddenly attempted to connect, but timed out. The new error is “No heartbeat packets received.” Here are the new details. Again, C:\Users\mich1 is not a directory that exists on my PC.

Sequence contains no elements
at System.Linq.Enumerable.Aggregate[TSource](IEnumerable1 source, Func3 func)
at MissionPlanner.MAVLinkInterface.OpenBg(IProgressReporterDialogue PRsender, Boolean getparams) in C:\Users\mich1\Desktop\CubePilot\MissionPlanner\ExtLibs\ArduPilot\Mavlink\MAVLinkInterface.cs:line 886
at MissionPlanner.Controls.ProgressReporterDialogue.RunBackgroundOperation(Object o) in C:\Users\mich1\Desktop\CubePilot\MissionPlanner\ExtLibs\Controls\ProgressReporterDialogue.cs:line 111

On Windows you need to disable the firewall to allow unsolicited UDP to get to your applications. Disable or figure out how to allow Mission Planner through. Especially if you’re expecting a UDP stream to be initiated from the craft to your GCS Laptop

1 Like

Thanks, yes, Defender has always been turned off for both public and private networks. I also double-checked the UART on my flight controller to ensure that it was set to a protocol of 2 (Mavlink2) baud 460, and RSSI_TYPE=5. I think I will attack this from the radio side and make sure all of this is supported on Ethos and HappyModel. It is looking that as long as I wait for everything to initialize MissionPlanner is doing everything it can to connect.

1 Like

你的设置是对的。
再看看接收机是否正确。
Uploading: MAVLink.png…

Serial Protocol
MAVLINK

Thanks Peter. I do have that set correctly on my receiver. However, I have found that the Link Mode setting on my transmitter will not persist to the setting of MAVLink. If I leave that configuration page and return, the value always reverts back to Normal. I am filing an issue against the Lua script to narrow down whether it is a problem with the script or the module firmware.

OK, it turns out I could only change that setting when the receiver was not linked. The setting persists now and I get a connection to Mission Planner. However, the connection dialog just spins at Getting Parameters and never loads the parameter list. I have left it for 10 minutes in case it was just a slow link. Mission Planner is updating telemetry though from the flight controller. Also once I set the UART on my receiver to the correct MavLink settings, I lose RC control from the transmitter. I’m not sure how much of this is ArduPilot related but wanted to pass it along and see if I can get it working.

I have encountered the issue where you get telemetry but never get params. As a workaround, I set SRx_PARAMS to a nonzero value, which worked in that case.

You can probably also make sure that Mission Planner is configured to change the relevant stream rate values.

Thanks for those tips. SRx_PARAMS was set to 10 for all streams on my flight controller. All the stream rates in MP are set to 2 with the exception of Altitude, which is set to 4, so I believe MP can change those since they are not -1. This sounds like a fairly new feature in ELRS so I may just look into a UART based wifi module instead.