Windows Error When Plugging In Multiple NI USB Devices

Updated Dec 13, 2023

Reported In

Operating System

  • Windows

Issue Details

When I connect multiple NI USB devices to a USB hub, I get one of the following Windows errors: 
  • Not enough USB controller resources – the controller does not have enough resources for this device.
  • You have exceeded the number of supported USB devices on the Host Controller. Please disconnect alternate USB device currently not being used or connect one of the devices to a different port. 

Solution

USB host controllers are designed to support a limited number of USB endpoints. If the number of endpoints connected exceeds the number supported by the USB host controller on your computer, Windows will throw an error indicating that the controller does not have sufficient resources for the device. 

The number of endpoints used by NI USB devices is not adjustable. Try the following steps to resolve the error:
  • Unplug any USB devices that are not necessary for your application.
  • Connect NI USB devices directly to the computer, rather than through a USB hub or extender.
  • Distribute your USB devices evenly across multiple root ports or host controllers. 
    • You can see your computer’s available and installed host controllers in Windows Device Manager. 
    • If your computer has PCI, PCIe, or other types of expansion slots, you may be able to add additional host controllers with USB adapter cards.
  • If you can replace the USB host controller on your computer, try a different chipset or brand.

Additional Information

A single USB host controller can allow up to 127 connected devices. A connected USB hub counts as a USB device address, and every device connected to it goes towards the maximum allowed addresses for that one host controller. 

A single USB device can allocate up to 32 endpoints. The total number of USB endpoints allowed is dependent on the USB host controller and its firmware. For some controllers, this number can be less than 100 total allowable USB endpoints. 

Since some NI USB devices can use up to 32 endpoints per device, you can exceed the number of allowable endpoints when connecting them to a USB hub. Some computer’s own internal USB ports and other internal devices are all tied to a single USB host controller, which can also lead to exceeding USB resources quickly.