Not enough bandwidth for new device state -- with Etron USB3 controller only
Hello,
I have a mouse and keyboard plugged into a 4-port USB 2.0 hub, plugged into a 10-meter extender (which seems to also appear as an USB 2.0 hub).
When this combination is plugged into "Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01)", it fails to work:
[Wed Apr 21 21:48:03 2021] usb 2-2: new high-speed USB device number 2 using xhci_hcd [Wed Apr 21 21:48:03 2021] usb 2-2: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11 [Wed Apr 21 21:48:03 2021] usb 2-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [Wed Apr 21 21:48:03 2021] usb 2-2: Product: USB 2.0 Hub [Wed Apr 21 21:48:03 2021] hub 2-2:1.0: USB hub found [Wed Apr 21 21:48:03 2021] hub 2-2:1.0: 4 ports detected [Wed Apr 21 21:48:04 2021] usb 2-2.4: new high-speed USB device number 3 using xhci_hcd [Wed Apr 21 21:48:04 2021] usb 2-2.4: New USB device found, idVendor=05e3, idProduct=0606, bcdDevice= 7.02 [Wed Apr 21 21:48:04 2021] usb 2-2.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [Wed Apr 21 21:48:04 2021] usb 2-2.4: Product: USB2.0 Hub [Wed Apr 21 21:48:04 2021] hub 2-2.4:1.0: USB hub found [Wed Apr 21 21:48:04 2021] hub 2-2.4:1.0: 4 ports detected [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: new low-speed USB device number 4 using xhci_hcd [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: New USB device found, idVendor=046e, idProduct=52c5, bcdDevice= 1.23 [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: Product: USB Multimedia Keyboard [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: Manufacturer: BTC [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: Not enough bandwidth for new device state. [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: can't set config #1, error -28 [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: new low-speed USB device number 5 using xhci_hcd [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: New USB device found, idVendor=0957, idProduct=0006, bcdDevice= 3.10 [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: Product: ADNS-3080 Mouse [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: Manufacturer: Agilent Mouse [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: Not enough bandwidth for new device state. [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: can't set config #1, error -28 [Wed Apr 21 21:48:11 2021] usb 2-2: USB disconnect, device number 2 [Wed Apr 21 21:48:11 2021] usb 2-2.4: USB disconnect, device number 3 [Wed Apr 21 21:48:11 2021] usb 2-2.4.3: USB disconnect, device number 4 [Wed Apr 21 21:48:11 2021] usb 2-2.4.4: USB disconnect, device number 5
But works just fine when plugged into the onboard "Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller":
[Wed Apr 21 21:48:31 2021] usb 4-4: new high-speed USB device number 3 using ehci-pci [Wed Apr 21 21:48:31 2021] usb 4-4: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11 [Wed Apr 21 21:48:31 2021] usb 4-4: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [Wed Apr 21 21:48:31 2021] usb 4-4: Product: USB 2.0 Hub [Wed Apr 21 21:48:31 2021] hub 4-4:1.0: USB hub found [Wed Apr 21 21:48:31 2021] hub 4-4:1.0: 4 ports detected [Wed Apr 21 21:48:32 2021] usb 4-4.4: new high-speed USB device number 4 using ehci-pci [Wed Apr 21 21:48:32 2021] usb 4-4.4: New USB device found, idVendor=05e3, idProduct=0606, bcdDevice= 7.02 [Wed Apr 21 21:48:32 2021] usb 4-4.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [Wed Apr 21 21:48:32 2021] usb 4-4.4: Product: USB2.0 Hub [Wed Apr 21 21:48:32 2021] hub 4-4.4:1.0: USB hub found [Wed Apr 21 21:48:32 2021] hub 4-4.4:1.0: 4 ports detected [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: new low-speed USB device number 5 using ehci-pci [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: New USB device found, idVendor=046e, idProduct=52c5, bcdDevice= 1.23 [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: Product: USB Multimedia Keyboard [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: Manufacturer: BTC [Wed Apr 21 21:48:33 2021] input: BTC USB Multimedia Keyboard as /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4.4/4-4.4.3/4-4.4.3:1.0/0003:046E:52C5.0006/input/input33 [Wed Apr 21 21:48:33 2021] hid-generic 0003:046E:52C5.0006: input,hidraw2: USB HID v1.10 Keyboard [BTC USB Multimedia Keyboard] on usb-0000:00:13.2-4.4.3/input0 [Wed Apr 21 21:48:33 2021] input: BTC USB Multimedia Keyboard System Control as /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4.4/4-4.4.3/4-4.4.3:1.1/0003:046E:52C5.0007/input/input34 [Wed Apr 21 21:48:33 2021] input: BTC USB Multimedia Keyboard Consumer Control as /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4.4/4-4.4.3/4-4.4.3:1.1/0003:046E:52C5.0007/input/input35 [Wed Apr 21 21:48:33 2021] hid-generic 0003:046E:52C5.0007: input,hiddev0,hidraw3: USB HID v1.10 Device [BTC USB Multimedia Keyboard] on usb-0000:00:13.2-4.4.3/input1 [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: new low-speed USB device number 6 using ehci-pci [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: New USB device found, idVendor=0957, idProduct=0006, bcdDevice= 3.10 [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: Product: ADNS-3080 Mouse [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: Manufacturer: Agilent Mouse [Wed Apr 21 21:48:33 2021] input: Agilent Mouse ADNS-3080 Mouse as /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4.4/4-4.4.4/4-4.4.4:1.0/0003:0957:0006.0008/input/input37 [Wed Apr 21 21:48:33 2021] hid-generic 0003:0957:0006.0008: input,hidraw4: USB HID v1.10 Mouse [Agilent Mouse ADNS-3080 Mouse] on usb-0000:00:13.2-4.4.4/input0
Any ideas? Is this a bug?
Thanks
Signature · 2 lines
With respect, Roman
Greg KH
maintainerQuoted 72 lines · Roman Mamedov
Hello,
I have a mouse and keyboard plugged into a 4-port USB 2.0 hub, plugged into a 10-meter extender (which seems to also appear as an USB 2.0 hub).
When this combination is plugged into "Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01)", it fails to work:
[Wed Apr 21 21:48:03 2021] usb 2-2: new high-speed USB device number 2 using xhci_hcd [Wed Apr 21 21:48:03 2021] usb 2-2: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11 [Wed Apr 21 21:48:03 2021] usb 2-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [Wed Apr 21 21:48:03 2021] usb 2-2: Product: USB 2.0 Hub [Wed Apr 21 21:48:03 2021] hub 2-2:1.0: USB hub found [Wed Apr 21 21:48:03 2021] hub 2-2:1.0: 4 ports detected [Wed Apr 21 21:48:04 2021] usb 2-2.4: new high-speed USB device number 3 using xhci_hcd [Wed Apr 21 21:48:04 2021] usb 2-2.4: New USB device found, idVendor=05e3, idProduct=0606, bcdDevice= 7.02 [Wed Apr 21 21:48:04 2021] usb 2-2.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [Wed Apr 21 21:48:04 2021] usb 2-2.4: Product: USB2.0 Hub [Wed Apr 21 21:48:04 2021] hub 2-2.4:1.0: USB hub found [Wed Apr 21 21:48:04 2021] hub 2-2.4:1.0: 4 ports detected [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: new low-speed USB device number 4 using xhci_hcd [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: New USB device found, idVendor=046e, idProduct=52c5, bcdDevice= 1.23 [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: Product: USB Multimedia Keyboard [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: Manufacturer: BTC [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: Not enough bandwidth for new device state. [Wed Apr 21 21:48:04 2021] usb 2-2.4.3: can't set config #1, error -28 [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: new low-speed USB device number 5 using xhci_hcd [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: New USB device found, idVendor=0957, idProduct=0006, bcdDevice= 3.10 [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: Product: ADNS-3080 Mouse [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: Manufacturer: Agilent Mouse [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: Not enough bandwidth for new device state. [Wed Apr 21 21:48:04 2021] usb 2-2.4.4: can't set config #1, error -28 [Wed Apr 21 21:48:11 2021] usb 2-2: USB disconnect, device number 2 [Wed Apr 21 21:48:11 2021] usb 2-2.4: USB disconnect, device number 3 [Wed Apr 21 21:48:11 2021] usb 2-2.4.3: USB disconnect, device number 4 [Wed Apr 21 21:48:11 2021] usb 2-2.4.4: USB disconnect, device number 5But works just fine when plugged into the onboard "Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller":
[Wed Apr 21 21:48:31 2021] usb 4-4: new high-speed USB device number 3 using ehci-pci [Wed Apr 21 21:48:31 2021] usb 4-4: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11 [Wed Apr 21 21:48:31 2021] usb 4-4: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [Wed Apr 21 21:48:31 2021] usb 4-4: Product: USB 2.0 Hub [Wed Apr 21 21:48:31 2021] hub 4-4:1.0: USB hub found [Wed Apr 21 21:48:31 2021] hub 4-4:1.0: 4 ports detected [Wed Apr 21 21:48:32 2021] usb 4-4.4: new high-speed USB device number 4 using ehci-pci [Wed Apr 21 21:48:32 2021] usb 4-4.4: New USB device found, idVendor=05e3, idProduct=0606, bcdDevice= 7.02 [Wed Apr 21 21:48:32 2021] usb 4-4.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [Wed Apr 21 21:48:32 2021] usb 4-4.4: Product: USB2.0 Hub [Wed Apr 21 21:48:32 2021] hub 4-4.4:1.0: USB hub found [Wed Apr 21 21:48:32 2021] hub 4-4.4:1.0: 4 ports detected [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: new low-speed USB device number 5 using ehci-pci [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: New USB device found, idVendor=046e, idProduct=52c5, bcdDevice= 1.23 [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: Product: USB Multimedia Keyboard [Wed Apr 21 21:48:32 2021] usb 4-4.4.3: Manufacturer: BTC [Wed Apr 21 21:48:33 2021] input: BTC USB Multimedia Keyboard as /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4.4/4-4.4.3/4-4.4.3:1.0/0003:046E:52C5.0006/input/input33 [Wed Apr 21 21:48:33 2021] hid-generic 0003:046E:52C5.0006: input,hidraw2: USB HID v1.10 Keyboard [BTC USB Multimedia Keyboard] on usb-0000:00:13.2-4.4.3/input0 [Wed Apr 21 21:48:33 2021] input: BTC USB Multimedia Keyboard System Control as /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4.4/4-4.4.3/4-4.4.3:1.1/0003:046E:52C5.0007/input/input34 [Wed Apr 21 21:48:33 2021] input: BTC USB Multimedia Keyboard Consumer Control as /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4.4/4-4.4.3/4-4.4.3:1.1/0003:046E:52C5.0007/input/input35 [Wed Apr 21 21:48:33 2021] hid-generic 0003:046E:52C5.0007: input,hiddev0,hidraw3: USB HID v1.10 Device [BTC USB Multimedia Keyboard] on usb-0000:00:13.2-4.4.3/input1 [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: new low-speed USB device number 6 using ehci-pci [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: New USB device found, idVendor=0957, idProduct=0006, bcdDevice= 3.10 [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: Product: ADNS-3080 Mouse [Wed Apr 21 21:48:33 2021] usb 4-4.4.4: Manufacturer: Agilent Mouse [Wed Apr 21 21:48:33 2021] input: Agilent Mouse ADNS-3080 Mouse as /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4.4/4-4.4.4/4-4.4.4:1.0/0003:0957:0006.0008/input/input37 [Wed Apr 21 21:48:33 2021] hid-generic 0003:0957:0006.0008: input,hidraw4: USB HID v1.10 Mouse [Agilent Mouse ADNS-3080 Mouse] on usb-0000:00:13.2-4.4.4/input0
Quoted 1 line
Any ideas? Is this a bug?
Not a bug, this is how USB works. Your first hub really does not have enough bandwidth for that device. Well, we think it doesn't, the calculation for that is really really tricky and we error on the side of "let's not take the risk and just disable the device to be safe".
Get a better hub :)
thanks,
greg k-h
Hello,
Quoted 6 lines · On Thu, 22 Apr 2021 07:49:38 +0200 Greg KH <[email protected]> wrote:
Not a bug, this is how USB works. Your first hub really does not have enough bandwidth for that device. Well, we think it doesn't, the calculation for that is really really tricky and we error on the side of "let's not take the risk and just disable the device to be safe".
Get a better hub :)
But why the calculation is different when the hub is plugged into the onboard USB 2.0 controller -- and there it works?
I hope you don't take this as a bug report to make it stop working there as well. :)
If it's because the Etron controller is USB 3.0, and the higher speeds are somehow accounted for in the bandwidth calculation, that doesn't seem right, since both of the plugged in downstream hubs are 1.1/2.0-only.
Signature · 2 lines
With respect, Roman
Greg KH
maintainerQuoted 10 lines · Roman Mamedov
Hello,
Quoted 5 lines · On Thu, 22 Apr 2021 07:49:38 +0200 Greg KH <[email protected]> wrote:
Not a bug, this is how USB works. Your first hub really does not have enough bandwidth for that device. Well, we think it doesn't, the calculation for that is really really tricky and we error on the side of "let's not take the risk and just disable the device to be safe".
Quoted 4 lines
Quoted 1 line
Get a better hub :)
But why the calculation is different when the hub is plugged into the onboard USB 2.0 controller -- and there it works?
You have more hubs in the way, they take up bandwidth on their own just sitting there.
Quoted 6 lines
I hope you don't take this as a bug report to make it stop working there as well. :)
If it's because the Etron controller is USB 3.0, and the higher speeds are somehow accounted for in the bandwidth calculation, that doesn't seem right, since both of the plugged in downstream hubs are 1.1/2.0-only.
USB 2 hubs plugged into a USB 3 controller require horrible things to be done on the wire to make everything work properly. Part of that horribleness is bandwidth determination that we honestly are not the best at in Linux. But again, we err on the side of safety, which means we guess on the low-end compared to other operating systems.
thanks,
greg k-h
Quoted 26 lines · Greg KH
Quoted 10 lines · Roman Mamedov
Hello,
Quoted 5 lines · On Thu, 22 Apr 2021 07:49:38 +0200 Greg KH <[email protected]> wrote:
Not a bug, this is how USB works. Your first hub really does not have enough bandwidth for that device. Well, we think it doesn't, the calculation for that is really really tricky and we error on the side of "let's not take the risk and just disable the device to be safe".
Quoted 4 lines
Quoted 1 line
Get a better hub :)
But why the calculation is different when the hub is plugged into the onboard USB 2.0 controller -- and there it works?
You have more hubs in the way, they take up bandwidth on their own just sitting there.
Quoted 6 lines
I hope you don't take this as a bug report to make it stop working there as well. :)
If it's because the Etron controller is USB 3.0, and the higher speeds are somehow accounted for in the bandwidth calculation, that doesn't seem right, since both of the plugged in downstream hubs are 1.1/2.0-only.
Quoted 5 lines
USB 2 hubs plugged into a USB 3 controller require horrible things to be done on the wire to make everything work properly. Part of that horribleness is bandwidth determination that we honestly are not the best at in Linux. But again, we err on the side of safety, which means we guess on the low-end compared to other operating systems.
It's even worse in the case of devices plugged into an xHCI controller. Those controllers perform bandwidth allocation automatically in firmware; the kernel doesn't get any say in the matter. With EHCI, the allocation is all done in software.
Alan Stern