MAVLink Router doesn't working on Ubuntu - Mission Planner using UDP

We installed Ubuntu on Jetson Nano, and we installed MAVLink Router (GitHub - mavlink-router/mavlink-router: Route mavlink packets between endpoints) to Jetson Nano. (by following the steps in that link)

We runned mavlink-routerd, and we read some messages on Ubuntu terminal such as,

message from 255: REQUEST_DATA_STREAM { target_system : 0, target_component : 0, req_stream_id : 3, req_message_rate : 2, start_stop : 1 }

message from 255: HEARTBEAT { type : 6, autopilot : 8, base_mode : 0, custom_mode : 0, system_status : 0, mavlink_version : 3 }

our sender&receiver example is :

$ python3 examples/ 1 0

→ //udp port 14550, sysid = 1, target_system = 0 // (broadcast)

$ python3 examples/ 50

50 = receiver sysid

Then, to route between those:

$ mavlink-routerd -e 0.0.0:5760

But, “we don’t route this MAVLink message traffic to Mission Planner using UDP”

For this situation, we need your advices, recommends and supports :slight_smile:

Thanks for your feedbacks already.

Berkay Erol

It is unclear what you are trying to achieve. Please tell me more about your current setup. Example in here is a brief explanation of how to route MAVLink messages from source to destination (source and destination communicate through loopback on the same machine). Do you want to stream the packages to remote?

What you wanted to do it in here? Shouldn’t it be “”?

Hi, Mr. Gokce
First of all, thanks for your answer.
I wanted to elaborate as I understood from your message, I hope I understood the details you wanted.

1-) We tried Mavlink Router as seen from this system diagram.
According to this system diagram, I thought sysid and compid should be like this.
(based on information on this site: Messages (common) · MAVLink Developer Guide)
However, there was no communication and the code gave an error.

In my previous message, we saw the communication messages with the sender&receiver example there, but we could not transfer the messages to MP via UDP (local device).

In fact, I tried to show the system we need to build as follows. (Remote Device)
This is exactly what we want to do :

2-) How can we know that a UDP port belongs to MP or Jetson Nano via Ubuntu terminal?
I tried " $ sudo netstat -tulpn" but couldn’t find it.

“Actually, I’m asking you to help us with the routing code and defining endpoints part.”

(sources we used :
MAVLink Basics — Dev documentation )

Thanks for your feedback already.

Berkay Erol

The thing you specify with -e is the destination. And the other at the end is the source. So the steps are:

  1. Run on your nano like: python3 100 0. Don’t change the loopback address.
  2. Run mavlink-routerd on your nano like: mavlink-routerd -e This will route your loopback port 3000 to remote machine at 4000 port. Change the part with your remote machine’s IP address.
  3. Now at your remote machine, run: python3 50. This will grab the stream and you should be able to see ping messages on both receiver and sender. Again change the part with your remote machine’s IP address.

This should work since I just tried. If it is not working, check your network configurations.