USB HID problem

From: Bruce Korb
Date: Sat Jul 16 2016 - 13:37:40 EST


This is likely the wrong list, so I apologize in advance.
Google didn't get me where I need to go.

I have a USB 3.0 hub and switch that I need to use to switch devices
between a Linux desktop, laptop and MacBook Pro. At first, I was
testing with just a keyboard and mouse.
The switch is connected to USB Bus 1:

# lsusb -t
[...]
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M


with keyboard and mouse plugged in, OS/X is all happy and sees them fine.
They do not show up with "lsusb -t", but plain "lsusb":


# lsusb|sort
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 008: ID 05ac:1002 Apple, Inc. Extended Keyboard Hub [Mitsumi]
Bus 001 Device 010: ID 046d:c245 Logitech, Inc. G400 Optical Mouse
[...]


the story is different, but the same story were my MS Natural
keyboard plugged in instead of the Apple. Next, I plugged in
an SD card reader and, to my great surprise, it worked:

# lsusb -t
[...]
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 25, If 0, Class=Mass Storage, Driver=usb-storage, 480M
|__ Port 1: Dev 25, If 1, Class=Chip/SmartCard, Driver=, 480M
|__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
# lsusb|sort
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 008: ID 05ac:1002 Apple, Inc. Extended Keyboard Hub [Mitsumi]
Bus 001 Device 010: ID 046d:c245 Logitech, Inc. G400 Optical Mouse
Bus 001 Device 025: ID 048d:1366 Integrated Technology Express, Inc.
[...]


I was able to mount the device.

So therefore, Linux can work with USB devices hung off of a hub hanging off
of a switch, but not keyboards and mice. And these are keyboards and mice
that work just fine when plugged directly into a motherboard USB port.

Why would that be?

Since I have tried several variations of hubs and switches, it gets down
to Linux needing some fixes. Have they already been made? If so,
where can I get the patch? If not, please point me at some code so
I might be able to fix it -- at least for myself.

Thank you. Regards, Bruce