12

Problem
USB Ports (2.0) keep resetting causing connected peripherals to stop working after some time.

Hardware
Motherboard: ASUS J1800I-C
CPU: Intel(R) Celeron(R) CPU J1800 @ 2.41GHz
RAM: 4GB

Number of units: > 100 devices working as payment kiosks, all showing same issue.

Connected USB devices (lsusb)

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 013: ID 0dd4:015d Custom Engineering SPA
Bus 001 Device 012: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
Bus 001 Device 011: ID 23d8:0285 
Bus 001 Device 010: ID 1ff7:0013 CVT Electronics.Co.,Ltd CVTouch Screen (HID)
Bus 001 Device 009: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 0e8f:0022 GreenAsia Inc. multimedia keyboard controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


OSs reproducing the problem:
Ubuntu 14.04-server (64bit)
Ubuntu 16.04-server (64bit)
Ubuntu 18.04-server (64bit)
Tried the above OSs with both UEFI & BIOS boot.

OSs NOT producing any problem with the same hardware:
Ubuntu 14.04 (server&desktop) (32bit)
Ubuntu 16.04-server (32bit)
Windows 7

What is happening ?
On startup, all goes well and USB devices are working for 15~60 minutes. After this time, one or more ports will start resetting with errors coming in dmesg:

    [ 1484.129248] perf interrupt took too long (2520 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
    [ 2645.972003] usb 1-4-port1: cannot reset (err = -71)
    [ 2646.236044] usb 1-4.1: reset full-speed USB device number 4 using xhci_hcd
    [ 2646.324439] usb 1-4.1: ep 0x1 - rounding interval to 64 microframes, ep desc says 80 microframes
    [ 2647.558156] usb 1-4.1: reset full-speed USB device number 4 using xhci_hcd
    [ 2647.646546] usb 1-4.1: ep 0x1 - rounding interval to 64 microframes, ep desc says 80 microframes
    [ 3942.619669] usb 1-4-port1: cannot reset (err = -71)
    [ 3942.619742] usb 1-4-port1: cannot reset (err = -71)
    [ 3942.619821] usb 1-4-port1: cannot reset (err = -71)
    [ 3942.619861] usb 1-4-port1: cannot reset (err = -71)
    [ 3942.619901] usb 1-4-port1: cannot reset (err = -71)
    [ 3942.619905] usb 1-4-port1: Cannot enable. Maybe the USB cable is bad?
    [ 3942.690031] usb 1-4.1: reset full-speed USB device number 4 using xhci_hcd
    [ 3942.690038] usb 1-4.1: hub failed to enable device, error -22
    [ 3942.762176] usb 1-4.1: reset full-speed USB device number 4 using xhci_hcd
    [ 3943.170800] usb 1-4.1: device not accepting address 4, error -22
    [ 3943.242967] usb 1-4.1: reset full-speed USB device number 4 using xhci_hcd
    [ 3943.651734] usb 1-4.1: device not accepting address 4, error -22
    [ 3943.653063] usb 1-4.1: USB disconnect, device number 4
    [ 3943.751603] usb 1-4.1: new full-speed USB device number 8 using xhci_hcd
    [ 3943.840892] usb 1-4.1: New USB device found, idVendor=1ff7, idProduct=0013
    [ 3943.840899] usb 1-4.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [ 3943.841068] usb 1-4.1: ep 0x1 - rounding interval to 64 microframes, ep desc says 80 microframes
    [ 3943.850194] input: HID 1ff7:0013 as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1/1-4.1:1.0/0003:1FF7:0013.0005/input/input11
    [ 3943.850467] hid-multitouch 0003:1FF7:0013.0005: input,hiddev0,hidraw3: USB HID v1.11 Mouse [HID 1ff7:0013] on usb-0000:00:14.0-4.1/input0
    [ 4215.269989] usb 1-4-port1: cannot reset (err = -71)
    [ 4215.270192] usb 1-4-port1: cannot reset (err = -71)
    [ 4215.270264] usb 1-4-port1: cannot reset (err = -71)
    [ 4215.270343] usb 1-4-port1: cannot reset (err = -71)
    [ 4215.270383] usb 1-4-port1: cannot reset (err = -71)
    [ 4215.270386] usb 1-4-port1: Cannot enable. Maybe the USB cable is bad?
    [ 4215.342214] usb 1-4.1: reset full-speed USB device number 8 using xhci_hcd
    [ 4215.342221] usb 1-4.1: hub failed to enable device, error -22
    [ 4215.358192] hub 1-4:1.0: hub_ext_port_status failed (err = -71)
    [ 4215.358263] usb 1-4-port1: cannot reset (err = -71)
    [ 4215.622566] usb 1-4.1: reset full-speed USB device number 8 using xhci_hcd
    [ 4215.755250] usb usb1-port4: disabled by hub (EMI?), re-enabling...
    [ 4215.755273] usb 1-4: USB disconnect, device number 3
    [ 4215.755277] usb 1-4.1: USB disconnect, device number 0
    [ 4216.031181] usb 1-4.1: device not accepting address 8, error -22
    [ 4216.064588] usb 1-4.2: USB disconnect, device number 5
    [ 4216.065324] usb 1-4.3: USB disconnect, device number 6
    [ 4216.065632] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
    [ 4216.065647] option 1-4.3:1.0: device disconnected
    [ 4216.065760] huawei_cdc_ncm 1-4.3:1.1 wwx001e101f0000: unregister 'huawei_cdc_ncm' usb-0000:00:14.0-4.3, Huawei CDC NCM device
    [ 4216.079590] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
    [ 4216.079611] option 1-4.3:1.2: device disconnected
    [ 4216.079752] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
    [ 4216.079768] option 1-4.3:1.3: device disconnected
    [ 4216.148026] usb 1-4.4: USB disconnect, device number 7
    [ 4216.148183] usblp2: removed
    [ 4216.387741] usb 1-4: new high-speed USB device number 9 using xhci_hcd
    [ 4216.517658] usb 1-4: New USB device found, idVendor=05e3, idProduct=0610
    [ 4216.517666] usb 1-4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
    [ 4216.517670] usb 1-4: Product: USB2.0 Hub
    [ 4216.518341] hub 1-4:1.0: USB hub found
    [ 4216.518643] hub 1-4:1.0: 4 ports detected
    [ 4216.792385] usb 1-4.1: new full-speed USB device number 10 using xhci_hcd
    [ 4216.885849] usb 1-4.1: New USB device found, idVendor=1ff7, idProduct=0013
    [ 4216.885855] usb 1-4.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [ 4216.886042] usb 1-4.1: ep 0x1 - rounding interval to 64 microframes, ep desc says 80 microframes
    [ 4216.895096] input: HID 1ff7:0013 as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1/1-4.1:1.0/0003:1FF7:0013.0006/input/input13
    [ 4216.951230] hid-multitouch 0003:1FF7:0013.0006: input,hiddev0,hidraw2: USB HID v1.11 Mouse [HID 1ff7:0013] on usb-0000:00:14.0-4.1/input0

Things I tried and did NOT solve the problem:
I tried to disable autosuspend for USB ports by adding linux kernel cmdline: usbcore.autosuspend=-1 among many other options and they all failed.
I also tried to change multiple BIOS options related to USB, nothing helped.

Useful Facts:
- All USB 2.0 4-ports are causing the problem.
- The board has single USB 3.0 port which seems unaffected by the problem.
- Using powered USB hub connected to the USB3 port, then connecting all USB devices to it seems to solve the problem.
- Using 32bit version of the same OS seems to solve the USB problem. Tested some kiosks with 32bit installation for 3 days uptime and there were no single dmesg warning or error.

Question:
How can I solve this problem on my 64bit Ubuntu 16.04 ?

Converting to 32bit is an unrealistic solution for me as it requires the reinstallation of over 100 devices. Besides, some of my equipment comes with 64bit proprietary SDK.

Update 1:
Archlinux 64bit seems to work fine with the same hardware.

4
  • Did you apply any updates for kernel packages several days ago? Commented Apr 3, 2018 at 8:59
  • @YurijGoncharuk One of my tries was to apply latest kernel 4.15 on Ubuntu 16.04. Still, the same problem, while it works just fine on 32bit older and newer kernels.
    – Hasan
    Commented Apr 3, 2018 at 9:59
  • oooh, I have the same problem as you. It's really interesting you say that 32-bit kernels don't present this problem? What version of the kernel is in Arch?
    – kiko
    Commented Nov 16, 2018 at 1:33
  • Sometimes the bios has a "legacy" mode setting in the bios for usb. Possibly worth checking.
    – saphyra
    Commented Sep 25, 2022 at 3:48

3 Answers 3

0

I had the same issue, my dmesg was full with this messages, and could not unmount nor suspend the computer:

[ 4095.313680] usb usb4-port5: Cannot enable. Maybe the USB cable is bad?
[ 4099.301425] usb usb4-port5: Cannot enable. Maybe the USB cable is bad?
[ 4103.293161] usb usb4-port5: Cannot enable. Maybe the USB cable is bad?

I discovered it happens when keep a long time without unplugging the USB devices. Maybe the controller on some device goes erratic after staying so much time on, and going trough so many suspends and it is sending bad signals.

I discovered this fixes the problem:

  • unplug all your USB devices;

or

  • power off your computer and power off also the button which comes with the PSU (Power supply unit) because otherwise the PSU will still give juice to the motherboard and will still power the USB controllers on the device attached to it.

List item

And of course sometimes can also be a bad cable. See here: https://askubuntu.com/a/348799/82315

0

Archlinux 64bit seems to work fine with the same hardware.

Arch has rolling updates and stays current. If you need to stick with Ubuntu, try using a repo that provides mainline kernels for your Ubuntu version.

0

Also you could try putting this in a script and running it.

echo enabled > /sys/bus/usb/devices/usb1/power/wakeup

for however many devices you have.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .