Rpi3 vs Rpi4 usb latency?

Hello! I recently updated from a Rpi3 to an Rpi4 to take advantage of USB3, newer hardware etc. I have an interesting use case that VH works perfectly with - I have a home flight simulator but it's not exactly located close to my PC for typical USB connections. I am running a 30ft USB 3 extension cable which works, but instead of running multiple extension cables for what I need, VH works great to connect a hub back to my PC for peripherals. The issue I've run into is spikes in latency on the pi4 which didn't exist on the pi3. I mainly noticed my flight yoke started to disconnect on a test flight, when I checked the yokes software I noticed it was reporting high latency spikes intermittently so I performed some testing. On the USB extension cable reports around a 22ms average on polling spiking to 60, on the Pi3 - it was around 45 - spiking very rarely to 80 ms which is still more than fine. The Pi4 however seems to average 23-24ms however there are intermittent spikes to 2000, to 9000 ms on the polling. From the network perspective, my PC back to the pi4 (over wired ethernet, both on same gig switch) is only around 1.9ms with no spikes so this doesn't seem to be anything network related that I can tell.

All other peripherals seemed to work fine - even using an USB to HDMI adapter for 2 displays over VH. I could leave it on the wired extension and use VH for other devices which isn't a big deal - was mainly wondering if there's any troubleshooting worthwhile to do to maybe sort the cause. I've tried the 32bit and 64 versions of the rpi OS without any change.

Any ideas are appreciated - thanks!

-Chris

#2

It almost seems like its a kernel bug. Can you run uname -a , what does that return?

#3

Here's the output:

$ uname -a
Linux rpi4virtualhere 5.15.56-v7l+ #1575 SMP Fri Jul 22 20:29:46 BST 2022 armv7l GNU/Linux

#4

OK that is the latest kernel. I think that kernel must have a bug.

You will need to use the pi3 for the time being until someone fixes this bug.

My guess is that the bug is in the full-speed USB support on that XHCI controller they use for the pi4.

#5

Just wanted to ask if the spike issue has been resolved for the Rpi4? I noticed that there are intermittent spikes as well in the latency statistics.

#6

I dont believe it is.  I use it with some less critical hardware although I've had a few issues with those devices.  For example I have the VR Insight 737 overhead, and occasionally the LEDs will stop working briefly and then itll sort itself out after a bit.  I don't seem to have that issue over standard USB.  I may swap the pi4 back to a pi3 or utilize a different device.

#7

Actually i was looking into this in a lot of detail recently for the Yaw2 VR which also occasionally has spikes like this.

It turns out that their USB Hub has a single "Transaction Translator" (most cheap hubs do) and so switching to a good quality Multi TT hub solved the issue.

To find out if your hub has a single or Multi TT download usbtreeview (https://www.uwe-sieber.de/usbtreeview_e.html) plug the hub directly into windows and find it on the left panel in usbtreeview. It will have a section HubIsMultiTt see if that is yes