Flightaware - PiAware Connectivity Trouble

All day I’ve been having trouble sending data to Flightaware. Absolutely everything else on my network is working fine, including internet access. Since it’s been all day, and I’ve not seen any other complaints, I’m guessing it’s just me, but I can’t figure out what the issue is. I’ve restart the the Pi, can ssh into it and so forth. At my wits end, so thought I’d see if anyone else has any ideas. Here’s the relevant portion of the piaware.log file:

Dec  6 18:54:35 piaware piaware[5859]: reconnecting in 50 seconds...
Dec  6 18:54:35 piaware piaware[5859]: mlat-client(6777): Disconnecting from localhost:30005: Lost connection to multilateration server, no need for input data
Dec  6 18:54:35 piaware piaware[5859]: mlat-client(6777): Exiting on connection loss
Dec  6 18:55:25 piaware piaware[5859]: Connecting to FlightAware adept server at piaware.flightaware.com/1200
Dec  6 18:55:25 piaware piaware[5859]: Connection with adept server at piaware.flightaware.com/1200 established
Dec  6 18:55:25 piaware piaware[5859]: TLS handshake with adept server at piaware.flightaware.com/1200 completed
Dec  6 18:55:25 piaware piaware[5859]: FlightAware server certificate validated
Dec  6 18:55:25 piaware piaware[5859]: encrypted session established with FlightAware
Dec  6 18:55:26 piaware piaware[5859]: logged in to FlightAware as user cwesley
Dec  6 18:55:26 piaware piaware[5859]: my feeder ID is **REDACTED**
Dec  6 18:55:26 piaware piaware[5859]: site statistics URL: https://flightaware.com/adsb/stats/user/cwesley#stats-83179
Dec  6 18:55:26 piaware piaware[5859]: multilateration data requested
Dec  6 18:55:26 piaware piaware[5859]: Starting multilateration client: /usr/lib/piaware/helpers/fa-mlat-client --input-connect localhost:30005 --input-type auto --results beast,connect,localhost:30104 --results beast,listen,30105 --results ext_basestation,listen,30106 --udp-transport 70.42.6.156:5972:477411466
Dec  6 18:55:27 piaware piaware[5859]: mlat-client(7794): fa-mlat-client 0.2.10 starting up
Dec  6 18:55:27 piaware piaware[5859]: mlat-client(7794): Using UDP transport to 70.42.6.156 port 5972
Dec  6 18:55:27 piaware piaware[5859]: mlat-client(7794): Listening for Beast-format results connection on port 30105
Dec  6 18:55:27 piaware piaware[5859]: mlat-client(7794): Listening for Extended Basestation-format results connection on port 30106
Dec  6 18:55:27 piaware piaware[5859]: mlat-client(7794): Input connected to localhost:30005
Dec  6 18:55:27 piaware piaware[5859]: mlat-client(7794): Detected BEAST format input
Dec  6 18:55:27 piaware piaware[5859]: mlat-client(7794): Input format changed to BEAST, 12MHz clock
Dec  6 18:55:27 piaware piaware[5859]: mlat-client(7794): Beast-format results connection with 127.0.0.1:30104: connection established
Dec  6 18:56:05 piaware piaware[5859]: data isn't making it to FlightAware, reconnecting...
Dec  6 18:56:05 piaware piaware[5859]: multilateration data no longer required, disabling mlat client
Dec  6 18:56:06 piaware piaware[5859]: fa-mlat-client exited normally
Dec  6 18:56:06 piaware piaware[5859]: reconnecting in 63 seconds...
Dec  6 18:56:06 piaware piaware[5859]: mlat-client(7794): Disconnecting from localhost:30005: Lost connection to multilateration server, no need for input data
Dec  6 18:56:06 piaware piaware[5859]: mlat-client(7794): Exiting on connection loss

Lather, rinse, repeat.

Any ideas?

Can you ping the mlat server? It looks like a network issue between you and there. Do you get sensible output from a traceroute to it?

I can ping it reliably. Running mtr for a few minutes doesn’t show any packet losses to FlightAware, although there is an intermediate host routinely not responding to pings… don’t think that means anything though.

Here’s the result of the traceroute:

pi@piaware:~ $ mtr 70.42.6.156
                                                   Packets               Pings
 Host                                            Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. USG3PRouter                                   0.0%   171    2.4   2.5   1.6   5.3   0.5
 2. 192.168.137.1                                 0.0%   170    2.6   3.1   2.0   9.6   0.8
 3. ???
 4. 10.14.48.1                                    0.0%   170  113.3 115.6  87.7 217.5  14.6
 5. 72.11.137.153.static.quadranet.com            0.0%   170  117.9 111.4  90.9 200.1  12.2
 6. 104.129.29.248.static.quadranet.com           0.0%   170  128.5 106.8  88.1 172.7  11.0
 7. ae4.mpr1.ord5.us.zip.zayo.com                 0.0%   170  102.0 105.4  86.7 136.9   6.5
 8. ae2.mpr1.ord6.us.zip.zayo.com                 0.0%   170  107.3 106.6  87.7 146.2   6.6
 9. ae30-113.cs3.ord2.us.eth.zayo.com            91.1%   170  147.3 138.0 130.2 159.0   8.1
10. ae4.cs1.iah1.us.eth.zayo.com                  0.0%   170  143.0 134.2 116.2 221.8  10.6
11. ae6.er2.iah1.us.zip.zayo.com                  0.0%   170  140.3 138.7 115.9 172.8  10.5
12. 208.184.110.82.IPYX-072053-005-ZYO.above.net  0.0%   170  126.3 127.2 111.7 164.3  10.6
13. border3.ae2-bbnet2.hou.pnap.net               0.0%   170  146.2 138.5 114.5 309.4  15.9
14. edge1.ae1-edgenet.hou.pnap.net                0.0%   170  138.5 138.0 122.8 408.0  22.2
15. superconnect-7.edge1.hou.pnap.net             1.8%   170  140.0 137.7 116.5 246.3  12.3
16. ???
17. riffy.hou.flightaware.com                     0.0%   170  157.8 142.5 123.2 335.7  19.2

That smells like the problem.
High packet loss in the path.
Damaged switch or other faulty hardware.
Wait it out.

Look at the latency difference between hops 2 and 4 - 100ms. That could mean that the link is overloaded. I get 40ms coast to coast in my company. Even Europe is only 75ms from NYC.

Is the device connected via wifi? The latency to hop 1 looks like wifi timings.

ICMP loss is not significant as it is treated as low priority traffic in most networks.

Hop 3 to 4 is my internet connection… it is fairly high latency. I live in the middle of nowhere (according to the ISPs, that is), and have very limited selection of providers. What I’m using now is something I’ve hobbled together using a VPN over an LTE link. I really hesitate to mention that because it tends to be the scapegoat for anything internet related that goes wrong in my household. But, it has been reliably reporting data to flightaware for over a year, until today, and I’ve changed nothing about it recently. Every other internet connected IoT device in my home is still working just fine, including Amazon Echos, Netflix on the TV, etc.

This is the primary problem and it means the TCP connection’s write buffer has filled up. Either the outgoing TCP segments aren’t making it to the FlightAware server, or the acks aren’t making it back.

The mlat stuff can be ignored as it is piggy-backing on the main TCP connection and so if the main connection goes down, so does mlat.

You can check netstat -nto, look for a non-zero send-q on the piaware connection to port 1200.

As to the cause - no idea, you might need to dig around with wireshark to work out what’s breaking. If I had to guess, maybe a path MTU problem that’s making the TCP connection wedge?

1 Like

@obj -That’s helpful. I’ll grab some PCAPs and dive in deeper… tomorrow.

Thanks.