Tracking down a problem we saw at St Joseph District last week.
The team has an onboard coprocessor, so to debug the whole shooting match in the pits, we left the RoboRIO connected to the radio, connected the second port on the radio on a switch in the pits, plugged the DS and coprocessor into the switch. Traffic from the RIO goes into one port on the radio, out the other, through the pit switch, and to the DS.
(Can we please please please get a 3 or 4 port radio for FRC? Pretty please?)
In this configuration, we were seeing 50-75% packet loss indicated in the DS.
I had the team leave their radio out of the bag, and we put it on the bench today. Plugging the RoboRIO into “it’s” port on the radio and the DS into the other port has the same results; tons of packet loss.
Putting just a cable between the DS and the RIO is much better, though we still see packet drops.
I used iperf3 to move a a few hundred meg of UDP packets between the ports, and saw no packet drops.
Why would the DS/RoboRIO software indicate packet drops on a path that does not seem to actually be dropping packets? Is it that sensitive to the possible additional latency between the radio ports?