I just found your address as a better one than linux-kernel: ******* My typing follows a line with a bunch of stars. That is followed by command output. ******* 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. With keyboard and mouse plugged in, OS/X is all happy and sees them fine. They do not show up with "lsusb -t" # 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 # 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 [...] ******* As you see, with plain "lsusb", 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 ******* so 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 ******* The failing devices using usb-devices script have "no such file" errors: T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 27 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=05ac ProdID=1002 Rev=01.22 S: Manufacturer=Mitsumi Electric S: Product=Hub in Apple Extended USB Keyboard C: #Ifs= 0 Cfg#= 0 Atr= MxPwr= cat: /sys/bus/usb/devices/usb1/1-1/1-1.2/1-*:?.*/bInterfaceNumber: No such file or directory cat: /sys/bus/usb/devices/usb1/1-1/1-1.2/1-*:?.*/bAlternateSetting: No such file or directory cat: /sys/bus/usb/devices/usb1/1-1/1-1.2/1-*:?.*/bNumEndpoints: No such file or directory cat: /sys/bus/usb/devices/usb1/1-1/1-1.2/1-*:?.*/bInterfaceClass: No such file or directory cat: /sys/bus/usb/devices/usb1/1-1/1-1.2/1-*:?.*/bInterfaceSubClass: No such file or directory cat: /sys/bus/usb/devices/usb1/1-1/1-1.2/1-*:?.*/bInterfaceProtocol: No such file or directory /usr/bin/usb-devices: line 79: printf: (none): invalid number I: If#= 0 Alt= 0 #EPs= 0 Cls=() Sub= Prot= Driver= T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#= 28 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c245 Rev=69.00 S: Manufacturer=Logitech S: Product=Gaming Mouse G400 C: #Ifs= 0 Cfg#= 0 Atr= MxPwr= cat: [...] No such file or directory /usr/bin/usb-devices: line 79: printf: (none): invalid number I: If#= 0 Alt= 0 #EPs= 0 Cls=() Sub= Prot= Driver= ******* The same information gotten from /sys/kernel/debug/usb/devices: T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 27 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=05ac ProdID=1002 Rev= 1.22 S: Manufacturer=Mitsumi Electric S: Product=Hub in Apple Extended USB Keyboard C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 50mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver= E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#= 28 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c245 Rev=69.00 S: Manufacturer=Logitech S: Product=Gaming Mouse G400 C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 98mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver= E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver= E: Ad=82(I) Atr=03(Int.) MxPS= 2 Ivl=1ms ******* If it is any help, I plugged the Apple keyboard directly into a motherboard port (bus 9): # lsusb -t /: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/5p, 12M |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/3p, 12M |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 1: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M T: Bus=09 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 5 B: Alloc= 30/900 us ( 3%), #Int= 5, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0001 Rev= 4.01 S: Manufacturer=Linux 4.1.27-24-default ohci_hcd S: Product=OHCI PCI host controller S: SerialNumber=0000:00:13.0 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms T: Bus=09 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=045e ProdID=00db Rev= 1.73 S: Manufacturer=Microsoft S: Product=Natural�� Ergonomic Keyboard 4000 C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms T: Bus=09 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#= 3 Spd=12 MxCh= 3 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=05ac ProdID=1002 Rev= 1.22 S: Manufacturer=Mitsumi Electric S: Product=Hub in Apple Extended USB Keyboard C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 50mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms T: Bus=09 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=05ac ProdID=0204 Rev= 1.22 S: Manufacturer=Mitsumi Electric S: Product=Apple Extended USB Keyboard C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 50mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=82(I) Atr=03(Int.) MxPS= 4 Ivl=255ms ******** and the contents for Bus 9 in the kernel debug file system: T: Bus=09 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 5 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0001 Rev=04.01 S: Manufacturer=Linux 4.1.27-24-default ohci_hcd S: Product=OHCI PCI host controller S: SerialNumber=0000:00:13.0 C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub T: Bus=09 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=045e ProdID=00db Rev=01.73 S: Manufacturer=Microsoft S: Product=Natural�� Ergonomic Keyboard 4000 C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid T: Bus=09 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#= 3 Spd=12 MxCh= 3 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=05ac ProdID=1002 Rev=01.22 S: Manufacturer=Mitsumi Electric S: Product=Hub in Apple Extended USB Keyboard C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=50mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub T: Bus=09 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=05ac ProdID=0204 Rev=01.22 S: Manufacturer=Mitsumi Electric S: Product=Apple Extended USB Keyboard C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=50mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid ******* Finally, some dmesg messages: [13026.604365] usb 1-1.3: USB disconnect, device number 28 [13043.430087] usb 1-1.3: new full-speed USB device number 32 using xhci_hcd [13043.528010] usb 1-1.3: New USB device found, idVendor=046d, idProduct=c245 [13043.528018] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [13043.528023] usb 1-1.3: Product: Gaming Mouse G400 [13043.528027] usb 1-1.3: Manufacturer: Logitech [13043.528309] usb 1-1.3: Not enough bandwidth for new device state. [13043.528319] usb 1-1.3: can't set config #1, error -28 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html