Bug Description

This bug will be fixed by updating Lucid to 2.6.32.13 upstream stable (see Bug #583414)

---

Hi,

After resuming my laptop from suspend, USB is dead. It doesn't even give power. I have noticed a stacktrace in the dmesg output, just after the usb modules are loaded. Let me know if you need more info, i can easily reproduce. Will try to look for a workaround.

Same here on X201s (BIOS 1.12, EC 1.07, vanilla 2.6.34-rc4), but no stacktrace as using acpi_sleep=sci_force_enable from #532374
Reloading all usb modules (esp usbcore and ehci_hcd) solves the problem till next suspend.

I'm using a T410 (BIOS 1.12) with Arch linux x64 (kernel 2.6.33-ARCH) and with "acpi_sleep=sci_force_enable" workaround, and the USB don't work after suspend for me eigther. After reloading ehci_hcd, the USB works again, even after suspend. Strangely, adding SUSPEND_MODULES="ehci_hcd" to /etc/pm/config.d/module has no effect.

@Jerone
Actually I'm using arch linux, and it seems like the ehci_hcd is built as a module (at least the file /lib/modules/2.6.33-ARCH/kernel/drivers/usb/host/ehci_hcd.ko exists)
So I updated the bios, but it works the same way.
The /var/log/pm-suspend.log doesn't tell anything about module unloading, but I don't know if it should or not.

I have applied the changes from the patch provided by Alex (comment #18) to the latest ubuntu-karmic kernel (from git repo, 2.6.31-21-generic). This fixes this bug for my system (Lenovo T410, nvidia, amd64 arch) and suspend/resume works now like a charm. Thanks!
(Note for the sake of completeness: To fix all suspend/resume problems on my T410 I also had to update the BIOS to the latest version provided by Lenovo, which fixes a different suspend/resume issue (bug #532374)).

If you could also please test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

@SimonW: Are you using to the patched kernel provided by Alex Chiang in comment #15? If not, the patch which fixes this issue is not included in the Ubuntu kernel yet (version 2.6.32-22.33).

Any word on when this fix may make it into the -updates repo? I assume the fix will be included in 2.6.32-23? Also, is anyone able to answer my questions in comment #34? Is it possible to restart USB without rebooting?

I agree, a manual USB reinitialization would be a very useful work around in lieu of the kernel fix. My T410 /10.04 (2.6.32.22) is in full-time work use - not sure I'm brave enough for a manual kernel installation!

I do have the t410 with the nVidia GPU. I experience the faulty USB-behaviour after resume from suspend with the actual 2.6.32-22 Kernel. I also installed the new 2.6.34 mainline build. But this won't even boot. The initrd stops after 0.65s without any error message. Any idea? Maybe opening a new bug report for that?

I can confirm that the problem still exists on a T410s using the latest Ubuntu kernel (2.6.32-22-generic). Standby works, but USB doesnt after waking up.
So does anybody have an idea when Alex's patch will make it in the kernel or when Lenovo will release a BIOS update (the T410s BIOS is still from march, while Lenovo already has released updates for all other T-Thinkpads with an i5/i7)?

I'm running an X201s with the latest bios (v 1.14) and the latest kernel (2.6.32-22) installed from the ubuntu repository and I have working suspend/resume . However, USB DOES NOT work after resume for me.

@David: are you using the stock kernel as well? Or are you using a patched version? I can't understand if we are using the same hardware, BIOS and kernel how it would work for you and not for me??

I flashed the bios on my T410 last week (v1.18 from the LeNovo site) and the hibernate/resume cycle works just fine (with 2.6.32-22). In fact it reactivates USB that has been deactivated by a previous suspend/resume.

@Chris McDonough, these comments are very helpful, thanks. I'll give it a try - when I get some calm!

All the patches needed to solve this issue have hit upstream's -stable tree for both the .32 and .33 release streams.

What this means is that at some point in the unspecified future, the Lucid kernel will be rebased onto the latest .32-stable release, and the fix will appear in Ubuntu.

I do not know when the kernel team will do the rebase, so at this point, there's not much more for me to do from my perspective. We just have to wait for the kernel team to rebase and then release.

Thanks.

@Lars, your symptom of 2.6.34 not booting seems rather unrelated. I don't think a Launchpad bug is appropriate though, since that's obviously not a supported kernel. I'd recommend sending a mail to LKML (<email address hidden>) with whatever debug information you can gather.

Actually, are you sure that your initrd matches the kernel version you're using?

I just installed the 2.6.34-999 kernel and this definitely fixes the USB problem. Perhaps it's obvious but I discovered that the headers are also required. Installing the kernel image only resulted in no support for the Nvidia graphics. In any case I did something new, fixed the problem and learned something in the process. Thanks guys!

Seems that the kernel has been released with the relevant patches. (www.kernel.org, v2.6.32.13). As soon as there is a compiled version of it (http://kernel.ubuntu.com/~kernel-ppa/mainline/) I can test it, if that's still relevant.

Currently unable to access kernel.ubuntu.com but I have the same issue and it's basically the only crippling problem I have with Lucid on the T510. Will test a mainline kernel asap but looking forward to seeing this in the main Lucid repositories.

Works with kernel 2.6.33-02063304-generic. This simple howto explains (from mint linux forums)
- 1 - Go to this website http://kernel.ubuntu.com/~kernel-ppa/mainline/ and you'll see a huge directory tree of kernels. Find the directory for the kernel you want/need and click on it.

- 2 - In each of these directories you're going to see "BUILD.LOG", "CHANGES", three items that begin with "linux-headers", two that begin with "linux-image" and one that begins with "linux-source". The "BUILD.LOG", "CHANGES", and "linux-source" are completely unimportant right now. We're only worried about "linux-headers" and "linux-image".

- 3 - Download and then install the following IN THIS ORDER: first get the linux-headers file that ends with "all.deb". Second get the linux-headers file that ends with "i386.deb" or "amd64.deb" depending upon what architecture you need. Finally get the linux-image file that ends with "i386.deb" or "amd64.deb" again depending upon what architecture you need. Honestly it doesn't really matter what order you download them in, but you need to make absolutely sure that you install them in this order.

Does anyone watching this bug use the TPM on these laptop models, and if so, are you aware of the TPM breaking similarly to USB, as described in this bug? (suspend/resume breaks it, reboot or hibernate/thaw fixes it)

Specifically, after suspend/resume any PKCS11 operation requiring the user PIN generates a CKR_USER_PIN_NOT_INITIALIZED, even thought the token info shows it is initialized.

I'm putting together information/steps to reproduce for a new bug report, unless anyone can point me to where this issue is already being tracked.

I see we've just had a kernel update pushed out but it's still .32 and I don't see this in the release notes, it is just security updates. This is a really critical issue - when are we likely to see this rolled into Lucid mainline?

Accepted linux into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

I kind of doubt it, but I'll defer to those who are more directly involved
in the patch. From what I can tell, this mostly deals with re-initializing
USB when coming back from suspend only.

Here's a copy of the commit message:

If the firmware puts a device back into D0 state at resume time, we'll

update its state in resume_noirq and thus skip the platform resume code.
Calling that code twice should be safe and we ought to avoid getting to
that point anyway, so remove the check and also allow the platform pci
code to be called for D0.

Fixes USB not being powered after resume on recent Lenovo machines.

Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>

-RAM

(P.S. sorry if it's not good practice to respond to questions in this way;
I'm quite new to the system.)

> I have been experiencing freezing when using external USB devices
> (keyboard + mouse). Would this patch affect that?
>
> --
> Lucid: No USB after resume on Thinkpad X201, T410, T410s, T510, W510
> https://bugs.launchpad.net/bugs/566149
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Why can't I update? I have enabled the lucid-proposed through update-manager and I can see the entry in my /etc/apt/sources.list and the package appears in synaptic but when I do sudo apt-get dist-upgrade it doesn't update it.

Aaron, I had no issue with nvidia-current 195.36.15-0ubuntu3 on my T510, and the kernel module was rebuilt by dkms when I installed the new kernel. I have disabled and blacklisted nouveau on my system.

It was my mistake. I had only installed the kernel image and not the header package, and I didn't notice the output from dkms mentioning that it had failed to recompile the module for this kernel. I installed the headers and reinstalled the driver and everything works great now.

A work around seems to be to connect the USB through a powered hub. Even if it has lost the USB from a suspend, plugging in a USB mouse or my cell phone does nothing (not even power to the cell phone); however, if I plug in an externally powered hub, full USB functionality recovers.

One curious issue/bug(?): a feature of the T510 is a single "always on" USB port, which provides power even if the laptop is sleeping -- even on battery. With this kernel, all three laptop USB ports provide power even when the laptop is sleeping (and on battery). I'd be happier if the always-on USB were only the single port designated for this. I have not yet checked to see if the released kernels are different in this respect.

Hardware info: i have a 2 week old (latest BIOS) Lenovo Thinkpad T510 with the Nvidia NVS 3100M switchable graphics and a Core i5 processor.

The proprietary Nvidia drivers work fine for me, except that the brightness control doesn't work when i'm using the proprietary drivers. This is also true with the kernel in the Lucid distribution and the latest "production" kernel, so its not a result of the 2.6.32-23 kernel.

I verified the behavior of the production 2.6.32-22.36 kernel against the proposed 2.6.32-23.37 kernel. In both cases, all 3 USB ports are powered when the laptop is suspended (even if suspended on battery). So the proposed update does not add an additional bug here.

Hi,
I recently did a fresh re-install of 10.04 (reinstating kernel 2.6.32.22). Of course this brought back the suspend / USB problem on the LeNovo T410 so I enabled "proposed updates" in the Update Manager and kernel 2.6.32.23-generic is now installed. Suspend / USB is fixed fine!

Accepted linux into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Accepted linux-ec2 into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Accepted linux-mvl-dove into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Accepted linux into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed' to 'verification-done'.

If verification is not done by Thursday, November 11, this fix will be dropped from the source code, and this bug will be closed.

Hi all, I'm on Ubuntu 10.04 AMD64 on a Asus M2NSLIdeluxe and have the same problem. My USB printer & scanner are dead after a resume. Yes, all the latest Updates applied.
To get my printer to continue working, I had to unplug it & plug it back; it worked, but the printer panel crashed and would not come back. Printer is a Samsung CLP 310 with prop. driver.