Ethernet over PPP using serial port on Holybro Pixhawk-6c

Hi

I am trying to get the Ethernet using PPP on serial working on the Pixhawk 6c board from Holybro. I had to do a custom build with the networking options enabled. The link for my firmware is here I have set my pixhwak board using the following settings and I am using the TELEM2 port

The Pixhawk is connected to a Raspberry Pi 5 where I have updated the PPPD to the latest version. The raspberry pi is connected to my home network over Ethernet on 192.168.0.88. I use the following command to start and connect the pppd

sudo /usr/local/sbin/pppd debug /dev/ttyAMA2 921600 192.168.0.88:192.168.0.100 noauth nodetach crtscts local proxyarp ktune

At this stage I get the following output which suggests to me that the PPP-> serial connection is successful

~ $ sudo /usr/local/sbin/pppd debug /dev/ttyAMA2 921600 192.168.0.88:192.168.0.100 noauth nodetach crtscts local proxyarp ktune
using channel 5
Using interface ppp0
Failed to create pid file /usr/local/var/run/pppd/ppp0.pid: No such file or directory
Connect: ppp0 <--> /dev/ttyAMA2
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfedcab5d> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x4 <asyncmap 0x0> <magic 0x829aa26e> <pcomp> <accomp>]
sent [LCP ConfAck id=0x4 <asyncmap 0x0> <magic 0x829aa26e> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xfedcab5d> <pcomp> <accomp>]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.0.88>]
sent [IPV6CP ConfReq id=0x1 <addr fe80::c0f0:89aa:18c6:4b38>]
rcvd [IPCP ConfReq id=0x3 <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x3 <addr 192.168.0.100>]
rcvd [LCP ProtRej id=0x5 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 192.168.0.88>]
rcvd [LCP ProtRej id=0x6 80 57 01 01 00 0e 01 0a c0 f0 89 aa 18 c6 4b 38]
Protocol-Reject for 'IPv6 Control Protocol' (0x8057) received
rcvd [IPCP ConfReq id=0x4 <addr 192.168.0.100>]
sent [IPCP ConfAck id=0x4 <addr 192.168.0.100>]
rcvd [IPCP ConfAck id=0x2 <addr 192.168.0.88>]
found interface eth0 for proxy arp
local  IP address 192.168.0.88
remote IP address 192.168.0.100

I also have the net_test.lua script in the APM folder on pixhawk-6c

I can ping from Raspberry pi to the Pixhawk IP address

$ ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.
64 bytes from 192.168.0.100: icmp_seq=1 ttl=255 time=2.11 ms
64 bytes from 192.168.0.100: icmp_seq=2 ttl=255 time=2.17 ms
64 bytes from 192.168.0.100: icmp_seq=3 ttl=255 time=2.27 ms

However, now on my laptop if I open up a browser and navigate to http://192.168.0.100:8080 I don’t see anything and get the following error.
image

I have also tried connecting mavproxy over UDP from the raspberry pi using the below command and that fails too!

$ mavproxy.py --master=udp:192.168.0.100:14550
Connect udp:192.168.0.100:14550 source_system=255
Failed to connect to udp:192.168.0.100:14550 : [Errno 99] Cannot assign requested address

Can someone please help me on this ? Any help would be greatly appreciated.
@tridge Tagging you so that you can see if I am doing anything stupid.
Thanks again!

@tridge Any help on the above please ? I am a little bit stuck.

How have you connected on the Pi side? I am setting up a Pi5 right now and I don’t have a /dev/ttyAMA2 as you have. I’m just using the GPIO pin headers which I believe should give me /dev/ttyAMA0, but I’m not getting a connection to the FC.

Problem solved - /dev/serial0 was linked to /dev/ttyAMA10 NOT /dev/ttyAMA0 - I used AMA0 - everything works.

I run the Pi ↔ Flight controller on a. separate subnet from my wifi to avoid conflicts, then set up a routing table to get the routing to work. I use 192.168.144.x because my SiYi camera uses 192.168.144.25 as a fixed IP for the camera. I can connect from mavproxy.py locally but then I use mavp2p to forward the traffic from the Pi to my laptop.
I’m sure your problem has something to do with pppd trying to assign IP addresses that “belong” to the WiFi router.