Arduplane was running on 3.9.1 as I use Disco with Wifi and sbus rc …
Ok so I built it. For those who want arduplane binary for Disco : freshly build 4.0.5 available here >
https://drive.google.com/drive/folders/1uVnsX2uYeHUKklSbyLPJjkFdLChK8MjE?usp=sharing
For missing libraries, you should take one present in Lucas Demarchi toolchain and put them in /data/ftp/internal_000/ardupilot/lib/
Still no luck communicating between SC2 and Disco, something is missing. MP or QGC configuration ok. SC2 iptables-save :
# iptables-save
# Generated by iptables-save v1.4.21 on Sun Jul 5 00:16:25 2020
*nat
:PREROUTING ACCEPT [1:163]
:INPUT ACCEPT [1:163]
:OUTPUT ACCEPT [7:420]
:POSTROUTING ACCEPT [7:420]
-A PREROUTING -p udp -m udp --dport 14550 -j DNAT --to-destination 192.168.42.1
-A POSTROUTING -p udp -m udp --dport 14550 -j MASQUERADE
COMMIT
# Completed on Sun Jul 5 00:16:25 2020
In Disco I changed start_ardupilot.sh command to :
./arduplane -A udpin:0.0.0.0:14550:bcast -B /dev/ttyPA1 -C udp:192.168.43.255:14550:bcast --module-directory modules
Complete start_ardupilot.sh script is available with link above
Now monitor tcpdump during GCS connection =>
# tcpdump -n -p udp -i eth0 port 14550
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
00:42:07.734171 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
00:42:07.734277 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
00:42:07.736030 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
00:42:07.737665 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
00:42:07.739271 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
00:42:07.741280 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
00:42:07.743277 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
00:42:07.745036 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
00:42:07.745088 IP 192.168.53.67.41922 > 192.168.53.1.14550: UDP, length 14
And then it stop, GCS could not connect …
Edit : Additional note : I could connect to Disco with adb shell inside SC2 through telnet protocol so it means connection between SC2 and Disco is OK
Disco iptables-save
# iptables-save
# Generated by iptables-save v1.4.21 on Sun Jul 5 01:13:20 2020
*nat
:PREROUTING ACCEPT [1:163]
:INPUT ACCEPT [1:163]
:OUTPUT ACCEPT [7:420]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p udp -m udp --dport 14550 -j DNAT --to-destination 192.168.42.1
-A PREROUTING -p tcp -m tcp --dport 14550 -j DNAT --to-destination 192.168.42.1:14550
-A PREROUTING -s 192.168.53.0/24 -p tcp -m tcp --dport 14550 -j DNAT --to-destination 192.168.42.1:14550
-A POSTROUTING -p udp -m udp --dport 14550 -j MASQUERADE
-A POSTROUTING -j MASQUERADE
COMMIT
# Completed on Sun Jul 5 01:13:20 2020