All of lore.kernel.org
 help / color / mirror / Atom feed
* Not enough bandwidth for new device state -- with Etron USB3 controller only
@ 2021-04-21 17:37 Roman Mamedov
  2021-04-22  5:49 ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Roman Mamedov @ 2021-04-21 17:37 UTC (permalink / raw)
  To: linux-usb

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

-- 
With respect,
Roman

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Not enough bandwidth for new device state -- with Etron USB3 controller only
  2021-04-21 17:37 Not enough bandwidth for new device state -- with Etron USB3 controller only Roman Mamedov
@ 2021-04-22  5:49 ` Greg KH
  2021-04-22 11:08   ` Roman Mamedov
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2021-04-22  5:49 UTC (permalink / raw)
  To: Roman Mamedov; +Cc: linux-usb

On Wed, Apr 21, 2021 at 10:37:32PM +0500, Roman Mamedov wrote:
> 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?

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Not enough bandwidth for new device state -- with Etron USB3 controller only
  2021-04-22  5:49 ` Greg KH
@ 2021-04-22 11:08   ` Roman Mamedov
  2021-04-22 11:15     ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Roman Mamedov @ 2021-04-22 11:08 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-usb

Hello,

On Thu, 22 Apr 2021 07:49:38 +0200
Greg KH <gregkh@linuxfoundation.org> 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.

-- 
With respect,
Roman

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Not enough bandwidth for new device state -- with Etron USB3 controller only
  2021-04-22 11:08   ` Roman Mamedov
@ 2021-04-22 11:15     ` Greg KH
  2021-04-22 14:21       ` Alan Stern
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2021-04-22 11:15 UTC (permalink / raw)
  To: Roman Mamedov; +Cc: linux-usb

On Thu, Apr 22, 2021 at 04:08:13PM +0500, Roman Mamedov wrote:
> Hello,
> 
> On Thu, 22 Apr 2021 07:49:38 +0200
> Greg KH <gregkh@linuxfoundation.org> 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?

You have more hubs in the way, they take up bandwidth on their own just
sitting there.

> 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Not enough bandwidth for new device state -- with Etron USB3 controller only
  2021-04-22 11:15     ` Greg KH
@ 2021-04-22 14:21       ` Alan Stern
  0 siblings, 0 replies; 5+ messages in thread
From: Alan Stern @ 2021-04-22 14:21 UTC (permalink / raw)
  To: Greg KH; +Cc: Roman Mamedov, linux-usb

On Thu, Apr 22, 2021 at 01:15:50PM +0200, Greg KH wrote:
> On Thu, Apr 22, 2021 at 04:08:13PM +0500, Roman Mamedov wrote:
> > Hello,
> > 
> > On Thu, 22 Apr 2021 07:49:38 +0200
> > Greg KH <gregkh@linuxfoundation.org> 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?
> 
> You have more hubs in the way, they take up bandwidth on their own just
> sitting there.
> 
> > 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.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-04-22 14:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-21 17:37 Not enough bandwidth for new device state -- with Etron USB3 controller only Roman Mamedov
2021-04-22  5:49 ` Greg KH
2021-04-22 11:08   ` Roman Mamedov
2021-04-22 11:15     ` Greg KH
2021-04-22 14:21       ` Alan Stern

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.