Comment 26 for bug 1856608

Revision history for this message
Matthew Ruffell (mruffell) wrote :

@bamoqi, @speedym, @david-sinnott-morgan:

I have prepared a test kernel based on 5.4.0-42-generic, for Ubuntu 20.04 in the following ppa.
It hasn't finished building yet, Launchpad is taking a long time. Please make sure it has finished building before installing.

https://launchpad.net/~mruffell/+archive/ubuntu/lp1856608-test

The test kernel has this commit reverted:

commit: 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e
Author: Jan-Marek Glogowski <email address hidden>
Date: Fri Feb 1 13:52:31 2019 +0100
Subject: usb: handle warm-reset port requests on hub resume
Link: https://github.com/torvalds/linux/commit/4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e

This is the commit which this Launchpad bug was originally made for. As @dannf mentioned before, when we looked into this, the systems that were affected had USB cables with mixed up Tx and Rx lines, and weren't USB spec complaint.

Anyway, the code is still present in 5.8, so if you could, please do some testing:

1) Install the official 5.4.0-42-generic kernel from the normal Ubuntu repos.
If you see "usb usb2-port2: Cannot enable. Maybe the USB cable is bad?" in dmesg, go to step 2.

2) Add the ppa with the test kernel. The kernel is the same as 5.4.0-42-generic, but with the above commit reverted.

$ sudo add-apt-repository ppa:mruffell/lp1856608-test
$ sudo apt-get update

Then install the kernel:

$ sudo apt install linux-image-unsigned-5.4.0-42-generic linux-modules-5.4.0-42-generic linux-modules-extra-5.4.0-42-generic linux-headers-5.4.0-42-generic linux-headers-5.4.0-42

If you get asked to abort the kernel install, say no.

$ sudo reboot
$ uname -rv

You should see a uname like "5.4.0-42.46+TEST1856608v20200805b1". Make sure it has the TEST1856608v20200805b1 part somewhere, or you are running the wrong kernel, and need to edit your grub settings to boot into the test kernel.

Reproduce the problem. Plug your USB devices in, and check dmesg. Do you still see "usb usb2-port2: Cannot enable. Maybe the USB cable is bad?"?

If you do, then this commit isn't the problem, and it is something else. Or, it could be non compliant hardware.

If it fixes the problem, well, we will have to go and talk to the USB maintainer again and get this fixed.