Pavel Piatruk’ tech & personal blog

USB modems don't show up

How to solve Not enough host resources in Linux system log, when USB modems don’t show up though they are visible in lsusb and only 3..10 of them are actually working.

Check with the command :

sudo journalctl -b -k  | grep -E 'Not enough host .* resources|set config' | tail 

If you see this output :

Oct 31 21:39:38 px kernel: usb 3-4.1.3: can't set config #1, error -12
Oct 31 21:39:45 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 61
Oct 31 21:39:45 px kernel: usb 3-4.6.2: can't set config #1, error -12
Oct 31 21:39:48 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 59
Oct 31 21:39:48 px kernel: usb 3-4.1.3: can't set config #1, error -12
Oct 31 21:39:59 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 58
Oct 31 21:39:59 px kernel: usb 3-4.1.3: can't set config #1, error -12
Oct 31 21:40:10 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 59
Oct 31 21:40:10 px kernel: usb 3-4.6.2: can't set config #1, error -12
Oct 31 21:40:21 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 59
Oct 31 21:40:21 px kernel: usb 3-4.6.2: can't set config #1, error -12
Oct 31 21:40:32 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 59
Oct 31 21:40:32 px kernel: usb 3-4.6.2: can't set config #1, error -12
Oct 31 21:40:42 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 59
Oct 31 21:40:42 px kernel: usb 3-4.6.2: can't set config #1, error -12
Oct 31 21:40:53 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 59
Oct 31 21:40:53 px kernel: usb 3-4.6.2: can't set config #1, error -12
Oct 31 21:41:04 px kernel: xhci_hcd 0000:00:14.0: Not enough host resources, active endpoint contexts = 59
Oct 31 21:41:04 px kernel: usb 3-4.6.2: can't set config #1, error -12

.. then solutions are as follows.

Simple solutions

Try one of, or all of them together:

  • Disable USB 3 in BIOS completely.
  • use USB 2.0 cables
  • use USB 2.0 hub
  • use USB 2.0 slot on the PC side

Solution with custom kernel

Build a Linux kernel without USB 3 kernel driver. Disable CONFIG_USB_XHCI_HCD while building.

Then disable UEFI (Secure boot) in BIOS, because custom kernels are not signed with enrolled Ubuntu keys (or enroll yours..).

Or install a kernel already built by me:

https://pathos.tanatos.org/repo/kernel.usb2.0/

Download for your Ubuntu version.

Then install it