1

What is the limit of USB devices in raspberry pi4? We have an external USB hub with its power supply and 10 devices fall off with errors.

[Wed Mar 11 09:04:43 2020] usb 1-1.3.4-port1: Cannot enable. Maybe the USB cable is bad?
[Wed Mar 11 09:04:43 2020] usb 1-1.3.4-port1: cannot disable (err = -71)
[Wed Mar 11 09:04:43 2020] usb 1-1.3.4-port1: unable to enumerate USB device
[Wed Mar 11 09:04:43 2020] usb 1-1.3.4-port1: cannot disable (err = -71)
[Wed Mar 11 09:04:43 2020] hub 1-1.3.4:1.0: hub_ext_port_status failed (err = -71)
[Wed Mar 11 09:04:43 2020] hub 1-1.3.4:1.0: hub_ext_port_status failed (err = -71)
[Wed Mar 11 09:04:51 2020] usb 1-1.3.1: USB disconnect, device number 4
[Wed Mar 11 09:04:51 2020] usb 1-1.3.3.1: USB disconnect, device number 8
[Wed Mar 11 09:04:51 2020] usb 1-1.3.4.2: USB disconnect, device number 11
[Wed Mar 11 09:04:51 2020] usb 1-1.3.2: USB disconnect, device number 5
[Wed Mar 11 09:04:51 2020] usb 1-1.3.3.2: USB disconnect, device number 10
[Wed Mar 11 09:04:51 2020] usb 1-1.3-port4: cannot reset (err = -71)
[Wed Mar 11 09:04:51 2020] usb 1-1.3-port4: cannot reset (err = -71)
[Wed Mar 11 09:04:51 2020] usb 1-1.3-port4: cannot reset (err = -71)
[Wed Mar 11 09:04:51 2020] usb 1-1.3-port4: cannot reset (err = -71)
[Wed Mar 11 09:04:51 2020] usb 1-1.3-port4: cannot reset (err = -71)
[Wed Mar 11 09:04:51 2020] usb 1-1.3-port4: Cannot enable. Maybe the USB cable is bad?

these are our devices: /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M | Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M | Port 3: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M | Port 1: Dev 4, If 0, Class=Wireless, Driver=rndis_host, 480M | Port 1: Dev 4, If 1, Class=CDC Data, Driver=rndis_host, 480M | Port 1: Dev 4, If 2, Class=Mass Storage, Driver=usb-storage, 480M | Port 2: Dev 5, If 2, Class=Mass Storage, Driver=usb-storage, 480M | Port 2: Dev 5, If 0, Class=Wireless, Driver=rndis_host, 480M | Port 2: Dev 5, If 1, Class=CDC Data, Driver=rndis_host, 480M | Port 3: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M | Port 3: Dev 12, If 2, Class=Mass Storage, Driver=usb-storage, 480M | Port 3: Dev 12, If 0, Class=Wireless, Driver=rndis_host, 480M | Port 3: Dev 12, If 1, Class=CDC Data, Driver=rndis_host, 480M | Port 1: Dev 8, If 1, Class=CDC Data, Driver=rndis_host, 480M | Port 1: Dev 8, If 2, Class=Mass Storage, Driver=usb-storage, 480M | Port 1: Dev 8, If 0, Class=Wireless, Driver=rndis_host, 480M | Port 4: Dev 14, If 1, Class=CDC Data, Driver=rndis_host, 480M | Port 4: Dev 14, If 2, Class=Mass Storage, Driver=usb-storage, 480M | Port 4: Dev 14, If 0, Class=Wireless, Driver=rndis_host, 480M | Port 2: Dev 10, If 2, Class=Mass Storage, Driver=usb-storage, 480M | Port 2: Dev 10, If 0, Class=Wireless, Driver=rndis_host, 480M | Port 2: Dev 10, If 1, Class=CDC Data, Driver=rndis_host, 480M | Port 4: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M | Port 1: Dev 9, If 2, Class=Mass Storage, Driver=usb-storage, 480M | Port 1: Dev 9, If 0, Class=Wireless, Driver=rndis_host, 480M | Port 1: Dev 9, If 1, Class=CDC Data, Driver=rndis_host, 480M | Port 2: Dev 11, If 2, Class=Mass Storage, Driver=usb-storage, 480M | Port 2: Dev 11, If 0, Class=Wireless, Driver=rndis_host, 480M | Port 2: Dev 11, If 1, Class=CDC Data, Driver=rndis_host, 480M

but they're not all here, they start to fall off as soon as the raspberries are turned on, with these mistakes: [ 8.178187] usb 1-1.3.4.3: Device not responding to setup address. [ 8.398015] usb 1-1.3.4.3: device not accepting address 17, error -71 [ 8.398304] usb 1-1.3.4-port3: unable to enumerate USB device [ 8.508030] usb 1-1.3.4.4: new high-speed USB device number 18 using xhci_hcd [ 8.618234] usb 1-1.3.4.4: device descriptor read/64, error -71 [ 8.858248] usb 1-1.3.4.4: device descriptor read/64, error -71 [ 9.048184] bcmgenet fd580000.genet eth0: Link is Down [ 9.088046] usb 1-1.3.4.4: new high-speed USB device number 19 using xhci_hcd [ 9.198230] usb 1-1.3.4.4: device descriptor read/64, error -71 [ 9.428223] usb 1-1.3.4.4: device descriptor read/64, error -71 [ 9.548346] usb 1-1.3.4-port4: attempt power cycle [ 10.228014] usb 1-1.3.4.4: new high-speed USB device number 20 using xhci_hcd [ 10.228230] usb 1-1.3.4.4: Device not responding to setup address. [ 10.448211] usb 1-1.3.4.4: Device not responding to setup address. [ 10.668020] usb 1-1.3.4.4: device not accepting address 20, error -71 [ 10.778023] usb 1-1.3.4.4: new high-speed USB device number 21 using xhci_hcd [ 10.778235] usb 1-1.3.4.4: Device not responding to setup address. [ 10.998224] usb 1-1.3.4.4: Device not responding to setup address. [ 11.218007] usb 1-1.3.4.4: device not accepting address 21, error -71 [ 11.218353] usb 1-1.3.4-port4: unable to enumerate USB device [ 13.208212] bcmgenet fd580000.genet eth0: Link is Up - 1Gbps/Full - flow control off

~ in a couple of hours, there will be nothing left of the devices, only such records in the log: [74578.357750] usb 1-1.3: device descriptor read/64, error -71 [74578.577751] usb 1-1.3: device descriptor read/64, error -71 [74578.797769] usb 1-1.3: reset high-speed USB device number 3 using xhci_hcd [74578.897763] usb 1-1.3: device descriptor read/64, error -71 [74579.117771] usb 1-1.3: device descriptor read/64, error -71 [74579.337777] usb 1-1.3: reset high-speed USB device number 3 using xhci_hcd [74579.338051] usb 1-1.3: Device not responding to setup address. [74579.557805] usb 1-1.3: Device not responding to setup address. [74579.777550] usb 1-1.3: device not accepting address 3, error -71 [74579.877549] usb 1-1.3: reset high-speed USB device number 3 using xhci_hcd [74579.877837] usb 1-1.3: Device not responding to setup address. [74580.097806] usb 1-1.3: Device not responding to setup address. [74580.317559] usb 1-1.3: device not accepting address 3, error -71 [74580.318877] usb 1-1.3: USB disconnect, device number 3 [74580.537575] usb 1-1.3: new high-speed USB device number 22 using xhci_hcd [74580.637820] usb 1-1.3: device descriptor read/64, error -71 [74580.857817] usb 1-1.3: device descriptor read/64, error -71 [74581.077583] usb 1-1.3: new high-speed USB device number 23 using xhci_hcd [74581.177816] usb 1-1.3: device descriptor read/64, error -71 [74581.397822] usb 1-1.3: device descriptor read/64, error -71 [74581.517899] usb 1-1-port3: attempt power cycle [74582.177602] usb 1-1.3: new high-speed USB device number 24 using xhci_hcd [74582.177895] usb 1-1.3: Device not responding to setup address. [74582.397876] usb 1-1.3: Device not responding to setup address. [74582.617615] usb 1-1.3: device not accepting address 24, error -71 [74582.717623] usb 1-1.3: new high-speed USB device number 25 using xhci_hcd [74582.717902] usb 1-1.3: Device not responding to setup address. [74582.937890] usb 1-1.3: Device not responding to setup address. [74583.157632] usb 1-1.3: device not accepting address 25, error -71 [74583.158012] usb 1-1-port3: unable to enumerate USB device

3
  • 1
    the USB hub may be having a problem
    – jsotola
    Mar 19 '20 at 14:28
  • Hello and welcome -- I just searched about it and found this link. It's the same as your question. Doesn't get any useful answer.
    – M. Rostami
    Mar 19 '20 at 15:03
  • What type of devices? Are you sure your powered hub can provide enough power for all of those devices?
    – Craig
    Mar 19 '20 at 17:11
2

The theoretical limit for USB is 127 devices. But, that is not really true.

First of all, the limit of 127 may not be 127, but 96. Yes it looks like a USB 1.1 hub in your log and the 96 limit is for USB 3 (and USB 3 only, AFAIK), but still, you're on a pi4 which has USB 3.

Second, it means 127 endpoints, not 127 devices. And a real device can have multiple endpoints. You can see this with

usb-devices

which outputs something like:

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0424 ProdID=ec00 Rev=02.00
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=smsc95xx

So, this device has 3 endpoints. Most of my storage devices have 2 endpoints.

I have never gone above around 15 devices (including HUBs; devices not endpoints), and the biggest problems for me were performance issues.

Your (err = -71) however seems more related to bad USB cable(s) or hardware issues on the HUB than with the maximum number of USB devices. Or perhaps a power-issue at the powered HUB.

1
  • these are our devices:
    – Dmitry
    Mar 20 '20 at 16:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.