Navio2 over 4G, Gstreamer is working, Groundstation wont


I try to get my Navio2 with Raspberry 3 running, but I’m experiencing a connection problem to my QGroundcontrol.

Streaming video with Gstreamer through UDP port 9000 works pointing to my home PC.
The PC is behind my router, I port forwarded UDP 9000 to my intern IP, no problem, video working.

I did the same with port 14550, started arducopter pointing to my public home IP, but no connection.

I know, my 4G modem is behind a NAT, and thats why I get a privat IP, but Gstreamer is working and both services are UDP?

It could be that some ports are blocked by your provider.
Try to set the mavlink port to 9001 and try again

Well, no tried it with some other ports, no sucess.

I guess the udp packets arrive at my groundstation, but the groundstation hast to send some packets back.
Those packets never arrive, cause I’m behind a NAT. So no connection could be established.

Tried with TCP as protocol, but with Qgroundcontrol you have to fill in the IP of my copter, which wont’t work cause of NAT.

My guess is, that if my copter would build up a TCP connction to my GC, it might work.

does it work with wifi?

Sure, for half a year, without problems. Standard UDP port 14550.

I’m trying now with Weaved, which only works with TCP.

With Weaved I can specify TCP Port 5760 in my raspberry, so apps should be tunneld to my Raspberry through the Nat.
My GC gets the address I got from Weaved, which is proxyxx.weaved, and different port than 5760.

I will start arducopter with: arducopter-quad -A tcp:HomeIP:5760

Maybe that will work

That worked.

Created a service at TCP Port 5760 with weaved on my Raspberry.
I log in to my weaved account and connect my gc with the connection details from the webpage.
Then I start arducopter with tcp:

I’m no network expert, but shouldn’t TCP work without a tunnel?

Hello, mine works with the modem on a nat without any issue.

Do you start arducopter with the correct ip?

something like, ArduCopter-quad -A udp:your ip:14550