Many USB 3.0 devices on a single Ubuntu via a powered HUB

I tried connecting multiple usb 3.0 enabled devices to my ubuntu 12.04 machine. But found out that at a time not more than 9 devices could be seen connected. I tried monitoring the kernel logs at /var/log/kern.log, where i found out that on connecting the 10th device, the below error was there:

this device cannot find enough free resources that it can use. (code 12)

My USB Host Controller is:

Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)

Some forums have suggested disabling the USB 3.0 support should force the devices to work in USB 2.0 mode, and it should solve the problem. And this was true. Disabling xHCI support from BIOS did the trick for me.

I assumed this should be a bug on the older Ubuntu 12.04 setup(or the usb driver may be). Therefore, i upgraded my system to Ubuntu 16. But here also the same problem exists. What if i want to use my devices with USB 3.0? What if the option to disable xHCI support from BIOS is not present on some motherboard?


A controller has internal buffers that it allocates for the connected devices for the purpose of doing input and output. These buffers are also called resources or endpoints.

Faster devices need to have allocated more buffers to contain more data. This number can vary per device, but the maximum is 32 endpoints with 16 in and 16 out per device.

There are reports that the Intel 8 Series USB 3.0 XHCI host controller only supports 96 endpoints, and practical limits can be hit earlier.

From the information in your post, I would guess that each USB3 disk uses 10 endpoints aka. resources, probably 5 in and 5 out. Therefore 9 disks used 90 endpoints which was fine, but 10 disks require 100 endpoints that exceeds the limit of 96, hence the controller sent an error code to the operating system.

When you degraded the connection to the slower USB2, the controller allocated much less buffers for each device, therefore you could connect more disks.

The solution might be to add a USB2 hub and put on it the disks that do not need high transfer rates.

Further reading :

  • USB endpoints and their pipes
  • Not Enough USB Controller Resources?