4 Replies Latest reply on Apr 24, 2018 4:18 PM by Intel Corporation

    NUC7i3BNH and disabling xhci

    big_nuc_user

      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.