Jump to content

Legacy kernel - USB 2.0 ports "HC died" fix ?


Go to solution Solved by Pencheff,

Recommended Posts

Posted
Armbianmonitor:

Board is RockPro64, legacy kernel - 4.4.213-rockchip64.  The issue is this:

[ 1451.681339] ohci-platform fe3a0000.usb: frame counter not updating; disabled
[ 1451.681972] ohci-platform fe3a0000.usb: HC died; cleaning up
[ 1451.682516] usb 8-1: usbfs: usb_submit_urb returned -19
[ 1451.682569] usb 8-1: USB disconnect, device number 2

 

It happens only on the USB2.0 ports with different keyboards, mice, custom USB HID device, webcam. The other 2x USB 3.0 ports are working fine with the same devices.

 

Tried fixes so far - turning usbcore.autosuspend option off, adding usbhid.quirks for every device.

 

extraargs=usbcore.autosuspend=-1 usbhid.quirks=0x10c4:0x85d4:0x00000400

 

The problem seems to be fixed in mainline kernel, as 24/7 test with continuous transfers to a custom USB HID device passes for 3 days that I tested.

I cannot use mainline kernel since I need the VPU and GPU accelerated X with EGL. 

 

Any advice on fixing this in the legacy kernel is appreciated.

<
  • Solution
Posted (edited)

Nevermind, it turns out not to be a kernel problem. Leaving details about what was wrong, if anyone else has similar issues.

I have a custom USB HID device that gets accessed every 3-4 seconds by an app, which uses libusb. The libusb has 2 implementations - libusb-1.0 and hidraw. It turns out libusb-1.0 implementation was causing the host controller issues, funny it happened only with legacy kernels.

The problems went away when I switched to the hidraw implementation.

Edited by Pencheff
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines