I am having a very hard time finding USB-related debugging utilities or strategies for linux.

I have a USB 3.0 device that fails when connected to an EspressoBin 3.0 port with a Not enough host controller resources for new device state. Plugging it into a USB 2.0 port works. Upon investigation with lsusb I've found that this particular device uses up 15 USB endpoints.

My questions are these:

How, under linux, can I:

  1. Determine the max number of USB 3.0 endpoints available?

  2. Determine the current number of USB 3.0 endpoints available?

  3. Determine who is currently using up USB 3.0 endpoints?

  4. Expand the number of USB 3.0 endpoints?

Any insights into any of these questions would be greatly appreciated! lsusb is great, but doesn't seem to be telling me these crucial pieces of information.

  • Guess: it's a resource limitation in the hardware/driver, not in the USB susbsystem in general. Determine which USB 3.0 host adapter the EspressoBin uses (dmesg, lsmod etc.), google datasheet, read kernel source. Locate error message in kernel source. – dirkt Aug 7 '17 at 21:30
  • @dirkt I've since found a few answers reading Marvell functional specs like you suggested, but I'm surprised this kind of information isn't available from userspace. Reading spreadsheets to find max number of EPs on given hardware seems incredibly old-fashioned for 2017 – Gillespie Aug 9 '17 at 19:51
  • Probably nobody has ever run into this limitation, or found it necessary to access it from userspace. The kernel is open source, submit a patch so you can read the info from /proc or /sys if you think it's that important. – dirkt Aug 9 '17 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.