Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
3,509 Views

NUC7i3BNH and disabling xhci

Jump to solution

Hi there,

We have a bunch of NUC7i3BNH intended to be used in production for testing usb (2.0) devices. All NUCs run latest Ubuntu 16.04 LTS. When we connect a 49 port USB hub (which is a usb 2.0 hub) with about 40 devices connected to it, to a NUC, it "accepts" about 26 devices (+ a usb keyboard), creates devices in /dev/ as it should, but then complains:

[ 3867.140383] xhci_hcd 0000:00:14.0: Error while assigning device slot ID

[ 3867.142756] xhci_hcd 0000:00:14.0: Max number of devices this xHCI host supports is 64.

[ 3867.145013] usb 1-2.4.6-port2: couldn't allocate usb_device

So it seems we hit some sort of xHCI limitation. The solution I found on the internet is to disable xHCI mode in BIOS, so that linux would use slower eHCI mode/drivers, which support many more USB devices compared to xHCI. The problem is - there is no such option in BIOS.

I compiled a custom kernel (4.4.6) with disabled "xHCI HCD (USB 3.0) support" and left "EHCI HCD (USB 2.0) support" enabled, but NUC booted without any USB support at all, i.e. usb keyboard/mouse did not work, nor did the wired networking. Any solution to all this ?

Thanks.

0 Kudos

Accepted Solutions
Highlighted
Moderator
372 Views

Hi big_nuc_user

NUC USB controller supports 128 end points and/or up to 64 devices, this is something you are already aware of it  [ 3867.142756] xhci_hcd 0000:00:14.0: Max number of devices this xHCI host supports is 64. Each USB device can have up to 16 end points so worst case if each device has 16 endpoints we would only support up to 16 devices.

We don't have any option in BIOS to disable xHCI, this was removed in later devices due to recent operating systems natively supporting USB3.0. and I would assume this NUC is purely xHCI as it provides interfacing for USB 1.x, 2.0, and 3.x compatible devices, I don't believe there is any other default back controller e.g. EHCI to run USB 2.0 devices.

Unfortunately I don't have any recommendation at this point to mitigate this issue as it seems to be a hardware limitation.

Regards,

Ronny G

View solution in original post

0 Kudos
18 Replies
Highlighted
Community Manager
372 Views

Hello big_nuc_user

 

 

Thank you for joining the community.

 

 

At this point due to of the peripherals nor being recognized you can try a clean installation of the operating system (OS), or get assistance from the Ubuntu community https://www.ubuntu.com/support/community-support https://www.ubuntu.com/support/community-support to restore the system to a point prior to the changes made on the kernel.

 

 

Regards,

 

Leonardo C.

 

0 Kudos
Highlighted
Beginner
372 Views

Hi Leonardo,

I can always boot back to stock kernel, so that's not a problem.

The problem, as I described in the first post, is that I'm getting a "Max number of devices this xHCI host supports is 64" error and there is no way, as far as I know, to disable xHCI (USB 3.0) in the BIOS.

By disabling xHCI and forcing EHCI, the NUCs would support many more USB devices. The question is how to do it. Why is there no BIOS option to disable xHCI ?

Regards

0 Kudos
Highlighted
Community Manager
372 Views

Hello big_nuc_user

 

 

Thank you for your response.

 

 

Could you let us know more information about the project that you have?

 

 

What are the models of the USB-hub and model of the USB devices you are testing?

 

 

Allow me to share with you that the options to disable xHCI is not available in the BIOS of the unit, but upon looking into the situation let me tell you that the unit has a USB header 2.0 on the board that could help you with your set up, refer to page 44 and 45 of the technical product specification (TPS) for Intel® NUC board NUC 7i3BNB on the following link

 

 

https://www.intel.com/content/dam/support/us/en/documents/boardsandkits/NUC7i3BN_TechProdSpec.pdf https://www.intel.com/content/dam/support/us/en/documents/boardsandkits/NUC7i3BN_TechProdSpec.pdf

 

 

To use this USB header 2.0 you would have to get a USB 2.0 Panel Female Connectors to 10 Pin 2.0mm - 12 Inches please refer to the following link to check the product

 

 

http://www.gorite.com/2-usb-2-0-panel-female-connectors-to-10-pin-2-0mm-12-inches http://www.gorite.com/2-usb-2-0-panel-female-connectors-to-10-pin-2-0mm-12-inches

 

 

Please be aware that the content on that site is not controlled by Intel®. This information is offered for your convenience and should not be viewed as an endorsement by Intel® for the merchants or services offered there.

 

 

Hope this helps.

 

 

Regards,

 

Leonardo C.

 

0 Kudos
Highlighted
Community Manager
372 Views

Hello big_nuc_user

 

 

I was checking your case and would like to know if you need further help. If so, please do not hesitate in replying back.

 

 

Regards,

 

Leonardo C.

 

0 Kudos
Highlighted
Beginner
372 Views

Ok, here comes more info. This is the usb hub we are using: http://usb.brando.com/USB-49-Port-Hub_p12794c39d15.html USB 49-Port Hub

We connect 49 (usb 2.0) devices to the hub, and then connect the hub itself to one og usb3 (or event internal usb 2.0 port) to the NUC.

However out of 49 devices only about 26 devices are recognized before we start getting those error messages:

[ 3867.140383] xhci_hcd 0000:00:14.0: Error while assigning device slot ID

[ 3867.142756] xhci_hcd 0000:00:14.0: Max number of devices this xHCI host supports is 64.

[ 3867.145013] usb 1-2.4.6-port2: couldn't allocate usb_device

As I mentioned multiple times now, it seems like xHCI mode is the problem here, as it supports less devices then eHCI. Usually one can disable xHCI mode in BIOS, but there is no such option in the NUC BIOS.

0 Kudos
Highlighted
Community Manager
372 Views

Hello big_nuc_user

 

 

Thank you for your response.

 

 

Could you provide us with the model of the power supply that is being used on the USB-HUB?

 

 

Have you tested if all the pots on the board are working properly?

 

 

Could you test the HUB on a desktop system? Does the system recognize all the devices?

 

 

Could you provide with the kind of USB 2.0 devices that are being tested?

 

 

Regards,

 

Leonardo C.

 

0 Kudos
Highlighted
Community Manager
372 Views

Hello big_nuc_user

 

 

I was checking your case and would like to know if you need further help. If so, please do not hesitate in replying back.

 

 

Regards,

 

Leonardo C.

 

0 Kudos
Highlighted
Beginner
372 Views

> Could you provide us with the model of the power supply that is being used on the USB-HUB?

Corsair RM550x. This is just ordinary PC power supply, should not matter.

> Have you tested if all the pots on the board are working properly?

 

Yes, they are fine.

> Could you test the HUB on a desktop system? Does the system recognize all the devices?

 

Yes, we have some A20-OLinuXino-LIME2 (using EHCI mode) which runs older debian os, and it recognises all 49 devices.

> Could you provide with the kind of USB 2.0 devices that are being tested?

 

Video conferencing endpoints, which have usb serial port for debugging and configuration - that's the one we connect to USB hubs.

0 Kudos
Highlighted
Community Manager
372 Views

Hello big_nuc_user

 

 

Thank you for your response, I have sent you a private message, please review your private inbox.

 

 

Regards,

 

Leonardo C.

 

0 Kudos
Highlighted
Beginner
372 Views

I replied to the private message.

0 Kudos
Highlighted
Community Manager
372 Views

Hello big_nuc_user

 

 

Thank you for your response.

 

 

I am going to investigate further in the case, I will be posting back as soon as news become available.

 

 

Regards,

 

Leonardo C.

 

0 Kudos
Highlighted
Moderator
373 Views

Hi big_nuc_user

NUC USB controller supports 128 end points and/or up to 64 devices, this is something you are already aware of it  [ 3867.142756] xhci_hcd 0000:00:14.0: Max number of devices this xHCI host supports is 64. Each USB device can have up to 16 end points so worst case if each device has 16 endpoints we would only support up to 16 devices.

We don't have any option in BIOS to disable xHCI, this was removed in later devices due to recent operating systems natively supporting USB3.0. and I would assume this NUC is purely xHCI as it provides interfacing for USB 1.x, 2.0, and 3.x compatible devices, I don't believe there is any other default back controller e.g. EHCI to run USB 2.0 devices.

Unfortunately I don't have any recommendation at this point to mitigate this issue as it seems to be a hardware limitation.

Regards,

Ronny G

View solution in original post

0 Kudos
Highlighted
Beginner
372 Views

Hi Ronny,

so you are saying that even if I would find a way to disable xHCI driver in linux to force it to use EHCI, it wouldn't support more devices ?

Regards

0 Kudos
Highlighted
Community Manager
372 Views

Hello big_nuc_user

 

 

Thank you for your response.

 

 

I am going to forward the case to the right department, for your better assistance.

 

 

Regards,

 

Leonardo C.

 

0 Kudos
Highlighted
Moderator
372 Views

Hi big_nuc_user,

 

My assumption is that the NUC7i3BNH is xHCI only and that EHCI was not part of the implementation since xHCi is capable of USB 1.0/2.0 and 3.0. and Operating Systems validated to work with support USB 3.0 natively.

I think that if you disable xHCI, all USB ports would be disabled.

We have never tested this and this is not supported or validated, I am just assuming this should be the behavior based on the product specification, unfortunately I cant think of any other option to accomplish the amount of USB devices you want to connect.

I am going to do an extra consultation but if you dont hear from me over the next week it is because I was not able to find a workaround.

Regards,

Ronny G

0 Kudos
Highlighted
Beginner
372 Views

Thanks for the help Ronny. Could you tell me what is the latest NUC model which is NOT "xHCI only" ?

Regards

0 Kudos
Highlighted
Moderator
372 Views

I would say:

Intel® NUC Kit NUC5CPYH

Intel® NUC Kit NUC5PPYH

Intel® NUC Kit NUC6i3SYH

Intel® NUC Kit NUC6i3SYK

Intel® NUC Kit NUC6i5SYH

Intel® NUC Kit NUC6i5SYK

Intel® NUC Kit NUC6i7KYK

...please keep in mind and I am sorry to be repetitive but we dont provide support for this type of question as you already know this is not POR for any of the NUCs.

We are not responsible If the NUCs I listed above do not provide the necessary support for the amount of USB devices that you are trying to attach via the USB Hub, I am still consulting if there is any possible workaround though.

Thanks,

Ronny G

0 Kudos
Highlighted
Moderator
372 Views

Hi big_nuc_user,

I checked with some of my peers and upper escalation team but unfortunately I wasn't able to get any additional information other than what we have already chatted about.

Regards,

Ronny G

0 Kudos