Over the last several days, I've been doing a lot of testing of Pi with self-powered USB hubs. Of the 3 hubs I possess, one is not Pi-compatible so I won't refer to it any further here. The other two are nominally Pi-compatible and USB-compliant (they don't supply power upstream through the A-B lead), and the Pi boots fine with either of them connected, even when its power comes from one of their ports. They are well-known and moderately expensive 4 and 7-port Belkin hubs, powered with hefty 2.5A and 3.8A mains adapters respectively:
- Belkin TetraHub Hi-Speed USB 2.0 (4-Port) Hub F5U231
- Belkin USB 2.0 Plus (7 Port) Hub F5U307
The testing had a single goal, to get the Pi to work correctly with 2 common USB devices attached to the self-powered hub, a mouse and a keyboard, while at the same time being connected to my local wired network. The definition of "work correctly" for these tests was "A. Not lose any USB events" and "B. Operate normally over the local LAN without RTT anomalies nor packet loss". Nobody could call this requirement ambitious --- it's the minimum one could demand of a networked computer today, or even less than minimum since the tests involved no thumb drive for backup for example. (Such expansion is the reason for the hub.)
Soon after receiving my Pi I reported here about the substantial USB event/data loss I was seeing, which made the Pi barely usable for me. (No USB hubs were connected at the time). I found a wired mouse and keyboard that worked with only occasional dropouts so the Pi became more or less operational, but I had no time to pursue the USB loss issue further, until now. "More or less operational" means I wasn't cursing too frequently, despite the losses.
Tethered keyboards aren't too bad for me because the keyboard rarely moves around, but I find tethered mice a poor human interface as the wire just gets in the way. Therefore my main focus was to find an RF mouse that works with the Pi in the above configuration, and I planned to check out RF keyboards only later. I have 6 RF mice of 4 different types:
- Logitech MX-1000
- Logitech MK320 Desktop combo (mouse only)
- Logitech EX110 Desktop combo (mouse only)
- Sandstrom SMWLL11
I won't list my wired keyboards nor wired mice for the simple reason that they all work "mostly OK" both when plugged into the Pi's on-board USB sockets and also when plugged into the self-powered hubs --- they're a combination of Logitech, Dell, and unbranded others. "Mostly OK" means that there is an occasional USB event lost, but other than that, they fall into my "more or less operational" category. (Not really satisfactory, but then, this is the Pi ...)
To avoid this post getting too long, I'm going to summarize my results ruthlessly, because despite a little variation, they all fall into the same ballpark:
- If any of the above RF mice is plugged into either of the above self-powered hubs, then USB event/data loss increases from minimal to massive, USB response often disappears altogether for 5-10 seconds at a time (both mouse and keyboard), network ping RTT changes from a nominal 0.5 ms to thousands of times longer (1-13 seconds), Ethernet controller read and write failures appear repeatedly in /var/log/messages, and all higher-level network activity such as ssh or NFS ceases or fails.
- Replacing the RF mouse by a wired one usually ends the problem and returns the system to normal (but not perfect) operation. Sometimes, unplugging the RF mouse is not enough and the hub needs to be unplugged from the Pi and replugged, which almost always ends the problem as long as no RF mouse is connected. A couple of times I also had to reboot to recover.
This difference between RF and wired mice is so striking and so unambiguous that I'll just leave it at that.
From my experience, the Pi is not usable with RF mice attached to self-powered hubs, if my hubs are representative.
These tests were carried out with Raspbian updated to the latest packages and RPF firmware.
Morgaine.







