Lucid: No USB after resume on Thinkpad X201, T410, T410s, T510, W510

Bug #566149 reported by Martijn de Nerd on 2010-04-18
296
This bug affects 47 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
High
Canonical Kernel Team
linux (Ubuntu)
Medium
Unassigned
Karmic
Undecided
Unassigned
Lucid
Medium
Stefan Bader

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.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: linux-image-2.6.32-21-generic 2.6.32-21.32
Regression: No
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.32-21.32-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-21-generic x86_64
NonfreeKernelModules: nvidia
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
AplayDevices:
 **** List of PLAYBACK Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: HDA Generic [HDA Generic]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: HDA Generic [HDA Generic]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: martijn 2995 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf2420000 irq 17'
   Mixer name : 'Conexant ID 5069'
   Components : 'HDA:14f15069,17aa214c,00100302 HDA:14f12c06,17aa2122,00100000'
   Controls : 6
   Simple ctrls : 4
Card1.Amixer.info:
 Card hw:1 'NVidia'/'HDA NVidia at 0xcdefc000 irq 16'
   Mixer name : 'Nvidia ID b'
   Components : 'HDA:10de000b,10de0101,00100100'
   Controls : 0
   Simple ctrls : 0
Card1.Amixer.values:

Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 6IHT30WW-1.04'
   Mixer name : 'ThinkPad EC 6IHT30WW-1.04'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Sun Apr 18 20:52:38 2010
HibernationDevice: RESUME=UUID=e10f5469-33eb-4a2d-84b2-72e79251e111
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Beta amd64 (20100406.1)
MachineType: LENOVO 2522BD7
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-21-generic root=UUID=ea9e4473-e189-4f52-aeca-27666950b793 ro quiet splash
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.34
SourcePackage: linux
dmi.bios.date: 02/16/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6IET52WW (1.12 )
dmi.board.name: 2522BD7
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6IET52WW(1.12):bd02/16/2010:svnLENOVO:pn2522BD7:pvrThinkPadT410:rvnLENOVO:rn2522BD7:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 2522BD7
dmi.product.version: ThinkPad T410
dmi.sys.vendor: LENOVO

Just tested with kernel v2.6.34-rc4-lucid (http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc4-lucid/) . Still no USB. Different dmesg output though (added log).

Seeing this too on the T510, bios 1.15.

summary: - Lucid: No USB after resume on Thinkpad T410
+ Lucid: No USB after resume on Thinkpad T410, T510
Kap4Lin (kap4lin) wrote :

Same here: T410 bios 1.12, NVS 3100M, 2.6.33-2.slh.6-sidux-amd64.

acpi_sleep=sci_force_enable hack mentioned in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/532374 does nothing.

Jerone Young (jerone) on 2010-04-20
summary: - Lucid: No USB after resume on Thinkpad T410, T510
+ Lucid: No USB after resume on Thinkpad X201, T410, T510

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.

summary: - Lucid: No USB after resume on Thinkpad X201, T410, T510
+ Lucid: No USB after resume on Thinkpad X201, T410, T510, W510

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 Young (jerone) wrote :

According to Lenovo the bios expects OS to re-initialize USB controller/USB Port/USB
device besides controlling the power as ACPI defines.

Given this it is looking like a kernel issue not repowering up USB.

@bbandi
         Can you update your bios to 1.15 & see what happens when you try to reload ehci.

Jerone Young (jerone) wrote :

Nevermind I figured out why it doing SUSPEND_MODULES="ehci_hcd" does not work. It is built into the lucid kernel.

bbandi (bbandi86) wrote :

@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.

Jerone Young (jerone) wrote :

A fix is now making it's way upstream:
http://www.spinics.net/lists/linux-pci/msg08690.html

I've tested on T410 & it now powers the usb port up after suspend. This support was missing from Linux.

Alex Chiang (achiang) wrote :

Hello,

I've built a test kernel that contains a fix for both this bug and for bug 532374.

With this kernel, you do NOT need to pass a command line parameter for suspend/resume to work. It should Just Work(tm) on its own. And after resume, you should also have USB power.

Please download from:
    http://people.canonical.com/~achiang/lp-532374_566149/

Please make sure you grab the correct kernel for your machine (amd64 vs. i386).

Thanks for testing!

Evgeni Golov (evgeni) wrote :

Hi Alex,

could you post the needed patches you applied for your fixed kernel? I'd like to stay with my own kernels and not use Ubuntu ones on my Debian ;)

TIA
Evgeni

@Alex: I've tested your kernel and it fixes the problem! Will this be in the standard-ubuntu kernel ?

Alex Chiang (achiang) wrote :

Evegeni, this is the patch I applied to the Lucid kernel. It's essentially the same as upstream with a little bit of fuzz.

Martijn, I plan on getting this pushed into Lucid, although it will appear post-release, since the kernel is locked down now.

Changed in oem-priority:
assignee: nobody → Alex Chiang (achiang)
Changed in linux (Ubuntu):
assignee: nobody → Alex Chiang (achiang)

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)).

Hi Alex,

I can confirm that your test kernel fixes this bug on my x201s (BIOS version 1.05)

Daddy_Cavy (cavy-thecave) wrote :

@Alex

Thx for building and making the fixed kernel available.

I would like to test this on my T510, but I have a number of DKMS modules that are built.

Can you create a deb "linux-headers-2.6.32-22-generic_2.6.32-22.33-lp532374-lp566149_all.deb" so the headers dependencies don't break and DKMS can build the modules properly please.

Thx in adv.. :-)

DC....

Alex Chiang (achiang) wrote :

Daddy_Cavy,

I'm a little confused. Did you look at the URL I posted?
    http://people.canonical.com/~achiang/lp-532374_566149/

There are two linux-headers packages there.

Evgeni Golov (evgeni) wrote :

@Alex, thanks, the patch from comment #18 is working just fine on my vanilla 2.6.34-rc5 and my X201s.

Alex Chiang (achiang) wrote :

The patch for this bug has been submitted for Karmic SRU: https://lists.ubuntu.com/archives/kernel-team/2010-April/010293.html

This patch will NOT be submitted for Lucid SRU, as it will go into the upstream -stable trees. Lucid will get the fix via the -stable process.

Thanks.

David Pollak (dpp+launchpad) wrote :

@Alex -- Thanks for all your work on this issue. It's made a huge difference for running Ubuntu on my X201s (vs. Windows).

How will I know when the patch has made it to a Lucid kernel? I will not update my kernel until the patch makes it.

I can confirm that this problem as well as the other suspend issue from bug #532374 is fixed by Alex's kernel on my Thinkpad T410s.

@Alex: Thanks a lot.

Also I like to know how i will know when the patch is in the Ubtunu 10.04 kernel!

summary: - Lucid: No USB after resume on Thinkpad X201, T410, T510, W510
+ Lucid: No USB after resume on Thinkpad X201, T410, T410s, T510, W510
Daddy_Cavy (cavy-thecave) wrote :

@Alex,

Hi Yeh one for i386 and one for amd64, but Ubuntu requires and "all" headers package.

<snip>
root@slab3:~/dls# dpkg -i linux-headers-2.6.32-22-generic_2.6.32-22.33-lp532374-lp566149_amd64.deb
Selecting previously deselected package linux-headers-2.6.32-22-generic.
(Reading database ... 155046 files and directories currently installed.)
Unpacking linux-headers-2.6.32-22-generic (from linux-headers-2.6.32-22-generic_2.6.32-22.33-lp532374-lp566149_amd64.deb) ...
dpkg: dependency problems prevent configuration of linux-headers-2.6.32-22-generic:
 linux-headers-2.6.32-22-generic depends on linux-headers-2.6.32-22; however:
  Package linux-headers-2.6.32-22 is not installed.
dpkg: error processing linux-headers-2.6.32-22-generic (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-headers-2.6.32-22-generic
</snip>

This dependency issue is fixed with a linux-headers-2.6.32-22-generic_2.6.32-22.33-lp532374-lp566149_all.deb package.

Or am I missing something here?

Daddy_Cavy (cavy-thecave) wrote :

@Alex,

It's all good dude, mainline kernel has been released with your fix.

Thx so much for working on this and getting it done so quickly...

Debian/Ubuntu > Winblows... :-)

Jeremy Foshee (jeremyfoshee) wrote :

Hi Martijn,

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.]

tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
David Strauss (davidstrauss) wrote :

I'm running kernel 2.6.33 on my T510 for the superior Intel GMA HD support. Is there (or will there be) a 2.6.33 series kernel I can install with the USB fix?

David Strauss (davidstrauss) wrote :

@Evgeni How can I build the same kernel you're using (2.6.34-rc5 + Alex's patch)?

@Jeremy: I've tested with the current .34 kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2010-04-28-lucid/ and that solves the problem.

Don't dare to remove the needs-upstream-testing tag since I'm probably supposed to test with a current .32 kernel, right? Couldn't find one of 28-4 though... Will look again tomorrow.

Confirmed that this fixes the USB after resume issue on my T410. Thanks much!

tekstr1der (tekstr1der) wrote :

Until this patch finds its way into the stock Lucid stable kernel, is there a workaround to re-enable USB after suspend without reboot?

*Lucid does not include the ehci_hcd module.
*Restarting the udev service does not restart USB subsystem
*modprobing usb_storage is a no-go also

How does one reinitialize the USB subsystem in Ubuntu 10.04?

tags: added: patch
Unkraut (unkraut2) wrote :

I just updated Ubuntu.
With Ubuntu-Kernel 2.6.32-22 this is gone.

Thank you a lot for fixing this!!

tekstr1der (tekstr1der) wrote :

@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?

Karl Ryder (k-s-ryder) wrote :

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!

Chris McDonough (chrism-plope) wrote :

@Karl Ryder: FTR, I just yesterday followed the steps at https://wiki.ubuntu.com/KernelTeam/MainlineBuilds to install the kernel at http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2010-05-06-lucid/ . It fixed the USB suspend problem and it didn't cause many other problems. I think it might have broken HDMI audio, but I didn't use that anyway ("normal" audio through the internal speakers is fine). I haven't noticed anything else broken yet, although there well may be. But note that you can still boot to the older kernel after installing a new one too, so I'd reconsider trying it.

Lars (yety) wrote :

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?

David Pollak (dpp+launchpad) wrote :

I'm running an X201s with the latest bios (v 1.14) and the latest Kernel (2.6.32-22) and I have working suspend/resume and USB works after resume.

Put another way, it's working for me, woo hoo!

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)?

tekstr1der (tekstr1der) wrote :

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??

Karl Ryder (k-s-ryder) wrote :

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!

Lars (yety) wrote :

I do also have the 1.18 BIOS. I Also tried to set everything back to factory defaults, but the error still occurs on my t410.

Alex Chiang (achiang) wrote :

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?

Karl Ryder (k-s-ryder) wrote :

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!

vadi01 (vadgamaharsh) wrote :

updated to the latest kernel from official repo today in t510. Does not work. Using the latest BIOS. 1.18

2.6.32-22-generic being used.

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.

Jerone Young (jerone) wrote :

@vadi01
       Everyone else .. 2.6.32-22-generic does not contain the fix.

I have tested the patch on a T410 and it works fine.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Jerone Young (jerone) on 2010-05-17
tags: added: lenovo
Changed in oem-priority:
importance: Undecided → High
Jerone Young (jerone) on 2010-05-18
Changed in oem-priority:
assignee: Alex Chiang (achiang) → nobody
Changed in linux (Ubuntu):
assignee: Alex Chiang (achiang) → nobody
Lars (yety) wrote :

I was able to solve this problem in two ways:

1. I compiled the Ubuntu kernel source by following this tutorial:https://help.ubuntu.com/community/Kernel/Compile and using the Method B) for receiving the source. Before I started compiling I applied the patch Alex had posted in #18.

2. Now as the patch is in the mainline for 2.6.32.13-lucid I was also able to use the .deb packages from this link: http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.32.13-lucid/ I guess, the newer ones will also work.

@Alex Thanks for the effort in solving this bug! And yes, I'm quite sure, I used the right initrd.

Jerone Young (jerone) wrote :

To keep things clear. What Lars is pointing out are builds of the upstream tree. Not the official Ubuntu kernel tree.

The upstream patch (as pointed to in comment #50) is not in the Ubuntu Lucid kernel tree yet.

andypiper (andypiperuk) wrote :

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.

andypiper (andypiperuk) wrote :

Well I can't try the fix as I need a PAE kernel in order to address all of my memory, and the daily / mainline builds don't seem to be -pae- ones *twiddles thumbs*

vadi01 (vadgamaharsh) wrote :

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.

Jerone Young (jerone) wrote :

@kernel team
This is the commit from 2.6.33.4 stable tree:

http://git.kernel.org/?p=linux/kernel/git/hpa/linux-2.6-allstable.git;a=commit;h=9ffd6e94b8029e8d6f64a6172461bc65df87a8b5

@vadi01
  The kernel you are pointing to is not an official Ubuntu kernel. Just a daily build of kernel.org kernel.

Changed in oem-priority:
assignee: nobody → Canonical Platform QA Team (canonical-platform-qa)
Changed in oem-priority:
assignee: Canonical Platform QA Team (canonical-platform-qa) → Canonical Kernel Team (canonical-kernel-team)
Stefan Bader (smb) wrote :

commit 523273f08eb995890ab4c3012cb95fd07686de1c
Author: Matthew Garrett <email address hidden>
Date: Thu Apr 22 09:30:51 2010 -0400

    PCI: Ensure we re-enable devices on resume

    commit cc2893b6af5265baa1d68b17b136cffca9e40cfa upstream.

This patch is part of upstream stable 2.6.32.13 and will be part of the next proposed upload, which is planned after the current security updates.

BugLink: http://bugs.launchpad.net/bugs/583414

Changed in linux (Ubuntu Lucid):
assignee: nobody → Stefan Bader (stefan-bader-canonical)
importance: Undecided → Medium
status: New → In Progress
Stefan Bader (smb) wrote :

As this has been released in 2.6.34, this should be included in the current development kernels.

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Fix Released
Jerone Young (jerone) wrote :

@Stefan
             This is not in current Ubuntu 2.6.34 that has been relased. 2.6.32-22 does not have this fix.

Jerone Young (jerone) wrote :

@Stefan
                My bad. I meant 2.6.32 lucid kernel needs this fix.

Changed in oem-priority:
status: New → In Progress
Jeremy Zimmer (jeremyz) wrote :

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.

andypiper (andypiperuk) wrote :

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?

Stefan Bader (smb) on 2010-06-10
description: updated
Changed in linux (Ubuntu Lucid):
status: In Progress → Fix Committed

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!

tags: added: verification-needed
Jon Skulski (jskulski) wrote :

I have been experiencing freezing when using external USB devices (keyboard + mouse). Would this patch affect that?

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.)

On Fri, Jun 11, 2010 at 3:50 PM, Jon Skulski <email address hidden> wrote:

> 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.
>

andypiper (andypiperuk) wrote :

Linux agrippa 2.6.32-23-generic-pae #37-Ubuntu SMP Fri Jun 11 09:26:55 UTC 2010 i686 GNU/Linux

-> confirmed that 2.6.32-23 fixes this issue on a Thinkpad T510. USB ports are now powered again after resume from suspend.

Claus Allweil (clal) wrote :

I can confim that linux-image-2.6.32-23-386 from proposed fixes this issue on Thinkpad T410.

Martin Pitt (pitti) on 2010-06-12
tags: added: verification-done
removed: verification-needed
eev2 (vangelis-scientist) wrote :

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.

Sandro (sandroid) wrote :

I'm with eev2.... just tried to update sources, ensuring I've enabled everything and this version of the kernel is not being picked up. Any specific PPA that we can get this from?

Sandro (sandroid) wrote :

....n/m, not available as update, but you can install the package

Aaron T. Myers (atmyers) wrote :

I can confirm that the 2.6.32-23 kernel fixes the USB issue on resume from standby on my Lenovo T510.

However, after installing linux-image-2.6.32-23-generic, my nvidia graphics drivers ceased to work. Is this expected?

Download full text (4.1 KiB)

Maybe you need to recompile and modprobe nvidia.ko. Also, try the
nomodeset kernel option, since nouveau might claim your graphics card
before the nvidia driver is even loaded.

Sent from my mobile

On 14.06.2010, at 07:47, "Aaron T. Myers" <email address hidden> wrote:

> I can confirm that the 2.6.32-23 kernel fixes the USB issue on resume
> from standby on my Lenovo T510.
>
> However, after installing linux-image-2.6.32-23-generic, my nvidia
> graphics drivers ceased to work. Is this expected?
>
> --
> 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.
>
> Status in OEM Priority Project: In Progress
> Status in “linux” package in Ubuntu: Fix Released
> Status in “linux” source package in Lucid: Fix Committed
>
> 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.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 10.04
> Package: linux-image-2.6.32-21-generic 2.6.32-21.32
> Regression: No
> Reproducible: Yes
> ProcVersionSignature: Ubuntu 2.6.32-21.32-generic 2.6.32.11+drm33.2
> Uname: Linux 2.6.32-21-generic x86_64
> NonfreeKernelModules: nvidia
> AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
> AplayDevices:
> **** List of PLAYBACK Hardware Devices ****
> card 0: Intel [HDA Intel], device 0: HDA Generic [HDA Generic]
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> Architecture: amd64
> ArecordDevices:
> **** List of CAPTURE Hardware Devices ****
> card 0: Intel [HDA Intel], device 0: HDA Generic [HDA Generic]
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: martijn 2995 F.... pulseaudio
> CRDA: Error: [Errno 2] No such file or directory
> Card0.Amixer.info:
> Card hw:0 'Intel'/'HDA Intel at 0xf2420000 irq 17'
> Mixer name : 'Conexant ID 5069'
> Components : 'HDA:14f15069,17aa214c,00100302 HDA:
> 14f12c06,17aa2122,00100000'
> Controls : 6
> Simple ctrls : 4
> Card1.Amixer.info:
> Card hw:1 'NVidia'/'HDA NVidia at 0xcdefc000 irq 16'
> Mixer name : 'Nvidia ID b'
> Components : 'HDA:10de000b,10de0101,00100100'
> Controls : 0
> Simple ctrls : 0
> Card1.Amixer.values:
>
> Card29.Amixer.info:
> Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg
> 0x30, fw 6IHT30WW-1.04'
> Mixer name : 'ThinkPad EC 6IHT30WW-1.04'
> Components : ''
> Controls : 1
> Simple ctrls : 1
> Card29.Amixer.values:
> Simple mixer control 'Console',0
> Capabilities: pswitch pswitch-joined penum
> Playback channels: Mono
> Mono: Playback [on]
> Date: Sun Apr 18 20:52:38 2010
> HibernationDevice: RESUME=UUID=e10f5469-33eb-4a2d-84b2-72e79251e111
> InstallationMedia: Ubuntu...

Read more...

andypiper (andypiperuk) wrote :

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.

Aaron T. Myers (atmyers) wrote :

Patrick and Andy,

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.

Thanks a lot for looking into this.

Aaron

Peter Schmidt (schmidt-peter) wrote :

updating to kernel (and headers) 2.6.32.23.24 works like a charm on my T410!
nvidia-current 195.36.24-0ubuntu1~10.04 works aswell!

Thank you so very much!

starryalley (starryalley) wrote :

I can also confirm that 2.6.32-23-generic x86_64 kernel in lucid-proposed works on my Lenovo x201s laptop with proper suspend and resume. No usb issues anymore. Thanks a lot.

Jerone Young (jerone) on 2010-06-21
Changed in oem-priority:
status: In Progress → Fix Committed

I have a T510 running Ubuntu 10.9 that has this problem.

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.

The proposed update, kernel 2.6.32-23, fixed the problem for me for Ubuntu 10.04 (Lucid Lynx).

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.

Peter Schmidt (schmidt-peter) wrote :

@craigster0:

Although this is a litte bit offtopic here, the brightness control problem is solved
here
http://www.thinkwiki.org/index.php?title=Category:T510&redirect=no
and here
http://www.nvnews.net/vbulletin/showthread.php?p=2204839#post2204839

Launchpad Janitor (janitor) wrote :
Download full text (25.2 KiB)

This bug was fixed in the package linux - 2.6.32-23.37

---------------
linux (2.6.32-23.37) lucid-proposed; urgency=low

  [ Alex Deucher ]

  * SAUCE: drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0
    - LP: #564559

  [ Andy Whitcroft ]

  * [Config] ports -- build in dm-mod to enable LVM boot
    - LP: #560717
  * tools -- fix perf version extraction for multi-part flavours
    - LP: #555130
  * SAUCE: ACPI: EC: Allow multibyte access to EC (v3)
    - LP: #526354
  * [Config] enforce -- ensure dm_mod is built-in for LVM
    - LP: #560717
  * update to ubuntu-debian:7e708d33054c373faf41da23b73e8b48c342d958
    - LP: #570500, #576274

  [ Chase Douglas ]

  * Revert "(pre-stable): input: ALPS - Add signature for HP Pavilion dm3
    laptops"
    - LP: #550625
  * Enable ftrace function profiler
    - LP: #570389
  * enforce CONFIG_TMPFS_POSIX_ACL=y
    - LP: #575940

  [ Leann Ogasawara ]

  * Revert "staging/comdi -- disable"
    - LP: #563436
  * [Config] Enable multicast routing for sparc
    - LP: #416266
  * [Config] Add ahci.ko to virtual sub-flavour
    - LP: #570542

  [ Stefan Bader ]

  * Revert "SAUCE: drm/i915: Disable FBC on 915GM and 945GM"
    - LP: #588832

  [ Tim Gardner ]

  * ubuntu: rtl8192se -- update to version 0015.0127.2010
    - LP: #567016
  * [Config] Add atl1c to nic-modules udeb
    - LP: #557130

  [ Upstream Kernel Changes ]

  * Revert "(pre-stable) iwlwifi: fix nfreed--"
    - LP: #575853
  * Revert "backlight: mbp_nvidia_bl - add five more MacBook variants"
    - LP: #575853
  * Revert "(pre-stable) pata_via: Add VIA VX900 support"
    - LP: #575853
  * Revert "(pre-stable) x86-32, resume: do a global tlb flush in S4
    resume"
    - LP: #575853
  * Revert "x86: disable IOMMUs on kernel crash"
    - LP: #575853
  * Revert "sunrpc: fix peername failed on closed listener"
    - LP: #575853
  * Revert "sunrpc: move the close processing after do recvfrom method"
    - LP: #575853
  * Revert "(pre-stable) drm/edid: allow certain bogus edids to hit a fixup
    path rather than fail"
    - LP: #575853
  * Revert "drm/radeon/kms: don't print error on -ERESTARTSYS."
    - LP: #575853
  * Revert "ath9k: fix lockdep warning when unloading module" on stable
    kernels
    - LP: #588832
  * Staging: comedi: removed "depricated" from COMEDI_CB_BLOCK
    - LP: #483343
  * fat: fix buffer overflow in vfat_create_shortname()
    - LP: #575853
  * xfs: simplify inode teardown
    - LP: #575853
  * xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks
    - LP: #575853
  * xfs: I/O completion handlers must use NOFS allocations
    - LP: #575853
  * xfs: Wrapped journal record corruption on read at recovery
    - LP: #575853
  * xfs: Fix error return for fallocate() on XFS
    - LP: #575853
  * xfs: check for not fully initialized inodes in xfs_ireclaim
    - LP: #575853
  * xfs: fix timestamp handling in xfs_setattr
    - LP: #575853
  * xfs: Don't flush stale inodes
    - LP: #575853
  * xfs: Ensure we force all busy extents in range to disk
    - LP: #575853
  * xfs: reclaim inodes under a write lock
    - LP: #575853
  * xfs: Avoid inodes in reclaim when flushing from inode cache
    - LP: #575853
  * xfs: recla...

Changed in linux (Ubuntu Lucid):
status: Fix Committed → Fix Released
Jerone Young (jerone) on 2010-06-30
Changed in oem-priority:
status: Fix Committed → Fix Released

@Peter Schmidt

thanks for the pointer about the brightness problem!

Karl Ryder (k-s-ryder) wrote :

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!

The issue I now have is that the hard disk protection (hdaps, http://www.h-bomb.nl/active-protection-in-ubuntu-9-10) wuich was working well with 10.04, kernel 2.6.32.23-generic, is now not functional with kernel 2.6.32.23-generic, giving;

Thu Jul 1 13:52:02 2010: Starting hdapsd
Thu Jul 1 13:52:02 2010: Could not find a suitable interface

I noticed this also under the mainline kernel fix I installed earlier (see #46) but assumed that it was down to the experimental nature of that kernel.

Does any one have any ideas?

Karl Ryder (k-s-ryder) wrote :

aaghh,.. sorry guys, #83, my mistake,

"was working well with 10.04, kernel 2.6.32.23-generic" should have read

"was working well with 10.04, kernel 2.6.32.22"

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!

Changed in linux (Ubuntu Karmic):
status: New → Fix Committed
tags: removed: verification-done
tags: added: verification-needed
Martin Pitt (pitti) wrote :

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!

Martin Pitt (pitti) wrote :

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!

Martin Pitt (pitti) wrote :

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!

Steve Conklin (sconklin) wrote :

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.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

robled (robled) wrote :

For me this issue was fixed several kernel releases back, but for the record I'm currently running Maverick and cannot reproduce this using kernel 2.6.35-22-generic.

BIOS Version: 6IET68WW (1.28 )

robled (robled) wrote :

I forgot to add that I'm running a Thinkpad T410.

On Fri, Nov 5, 2010 at 2:54 PM, NTolerance <email address hidden> wrote:
> For me this issue was fixed several kernel releases back,

For me as well. Running Lucid on a Thinkpad X201.

madbiologist (me-again) wrote :

What we are wanting is verification that the kernel in karmic-proposed solves the problem on Karmic.

I don't own a Lenovo Thinkpad so I can't help.

Anyone?

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.31-22.68

---------------
linux (2.6.31-22.68) karmic-proposed; urgency=low

  [ Andy Whitcroft ]

  * SAUCE: docs -- fix doc strings for fc_event_seq

  [ Brad Figg ]

  * SAUCE: (no-up) Modularize vesafb -- fix initialization
    - LP: #611471

  [ Chase Douglas ]

  * SAUCE: sched: update load count only once per cpu in 10 tick update
    window
    - LP: #513848

  [ Ike Panhc ]

  * SAUCE: agp/intel: Add second set of PCI-IDs for B43
    - LP: #640214
  * SAUCE: drm/i915: Add second set of PCI-IDs for B43
    - LP: #640214

  [ Steve Conklin ]

  * SAUCE: Fix compile error on ia64, powerpc, and sparc

  [ Upstream Kernel Changes ]

  * (pre-stable) x86-32, resume: do a global tlb flush in S4 resume
    - LP: #531309
  * PCI: Ensure we re-enable devices on resume
    - LP: #566149
 -- Steve Conklin <email address hidden> Fri, 22 Oct 2010 09:05:13 -0500

Changed in linux (Ubuntu Karmic):
status: Fix Committed → Fix Released
Davias (davias) wrote :

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.

Any idea on fixes?

To post a comment you must log in.