Skip to contentSkip to conversation

Not enough bandwidth for new device state -- with Etron USB3 controller only

DISCUSSION Roman Mamedov 3 participants 5 messages Apr 21, 2021 – Apr 22, 2021 USB

lore
Share & tools
lore
#0 lore raw

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
maintainer
#1 lore raw
Quoted 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 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
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

#2 lore raw

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
maintainer
#3 lore raw
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.

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

#4 lore raw
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