Thinkpad T400 (model 2765-TDG) fails to resume after second suspend

Bug #578138 reported by Miguel Martinez
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

This Thinkpad T400 no longer suspends and resumes reliably, while it did on Intrepid and perhaps in Jaunty (but I can't remember when the regression started).

In an almost fully updated T400 (newest BIOS, 3.16 as of May 5th, 2010, did not upgrade hdd firmware), the first suspend and resume will work flawlessly. However, after the second suspend, the machine won't resume. The HDD light will blink once and there seems to be activity for about one second. Nevertheless, the sleep light will remain on and only a forced power off will allow me to restart the computer.

The logs I attach via apport have been produced after a successful suspend-resume cycle.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: linux-image-2.6.32-22-generic 2.6.32-22.33
Regression: Yes
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.32-22.33-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-22-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: miguel 1584 F.... pulseaudio
CRDA: Error: [Errno 2] No existe el fichero ó directorio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xfc020000 irq 17'
   Mixer name : 'Conexant CX20561 (Hermosa)'
   Components : 'HDA:14f15051,17aa211c,00100000 HDA:14f12c06,17aa2122,00100000'
   Controls : 14
   Simple ctrls : 7
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 7VHT16WW-1.06'
   Mixer name : 'ThinkPad EC 7VHT16WW-1.06'
   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: Mon May 10 08:48:17 2010
HibernationDevice: RESUME=UUID=a53e32da-7fd2-463c-a4e6-aba3587b7f79
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release amd64 (20091027)
MachineType: LENOVO 2765TDG
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-22-generic root=UUID=deccd0e8-e72a-4b85-bb5c-e2ded564ca8c ro splash
ProcEnviron:
 PATH=(custom, user)
 LANG=es_ES.utf8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.34
SourcePackage: linux
dmi.bios.date: 04/19/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 7UET86WW (3.16 )
dmi.board.name: 2765TDG
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:bvr7UET86WW(3.16):bd04/19/2010:svnLENOVO:pn2765TDG:pvrThinkPadT400:rvnLENOVO:rn2765TDG:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 2765TDG
dmi.product.version: ThinkPad T400
dmi.sys.vendor: LENOVO

Revision history for this message
Miguel Martinez (el-quark) wrote :
Revision history for this message
madbiologist (me-again) wrote :

Alex, would you be able to add this machine to your patch before the final 2.6.34 kernel is released?

Alex Chiang (achiang)
Changed in linux (Ubuntu):
assignee: nobody → Alex Chiang (achiang)
Revision history for this message
Alex Chiang (achiang) wrote :

@madbiologist, I'm a little confused.

Are you looking for an Ubuntu kernel patch for Lucid, or are you really asking for a 2.6.34 upstream patch?

If you're really asking for upstream, I'm sorry to say, the answer is "no". Let me explain.

We really don't want to add any more machines to that DMI table, and there has been quite a bit of effort upstream by Matthew Garrett to find the proper fix. I think he's pretty much got it now:

http://thread.gmane.org/gmane.linux.acpi.devel/45907

Matthew's patch should fix the bug once and for all. I believe it will be targeted for 2.6.35.

In the meantime, please use the kernel command line workaround "acpi_sleep=sci_force_enable". I know this is annoying, but should be quite manageable if you're adventurous enough to run an upstream kernel.

For Lucid, it's a different story. We can add an Ubuntu-specific patch to handle this machine.

Revision history for this message
Miguel Martinez (el-quark) wrote :

Do you guys have experience with that flag? Anyway, it seems that Greg Kroah-Hartmann is backporting this fix to 2.6.32 stable:

http://linux.derkeiler.com/Mailing-Lists/Kernel/2010-05/msg03550.html

Revision history for this message
madbiologist (me-again) wrote :

I guess I was asking for something that would make it's way into Lucid and also be included upstream for future kernels. If there are different solutions for those two targets then that's fine by me.

It seems like Matthew is doing some great work on this. Would you mind liaising with him to include this machine in his patch (I just had a look at his patch at the link you provided and saw the other machines but not this one).

An Ubuntu-specific kernel patch for Lucid (I think we call them SAUCE - is that correct?) would probably be the most suitable for the original reporter of this bug, although the patch mentioned in comment 4 which is under review for 2.6.32.13 stable may be equally suitable and would save you some work. What are your thoughts on this?

Revision history for this message
Alex Chiang (achiang) wrote :

madbiologist,

Lucid will definitely get a solution. It's just a matter of time.

The next Lucid kernel will have a version of the "acpi_sleep=sci_force_enable" patch. I'm not sure when it will be released since the team is currently in Belgium for UDS.

I've had a little more time to think about adding another entry for the T400 into Lucid, and it's probably a good idea. I'll look into doing that next week. However, I do not plan on sending the T400-specific patch upstream.

Just to clear up a little confusion, Matthew's patch in comment #4 is actually removing all the entries from the DMI table, not adding any. He does that because he also provides the proper way to solve the issue.

Thanks.
/ac

Revision history for this message
madbiologist (me-again) wrote :

> I've had a little more time to think about adding another entry for the T400 into Lucid, and it's probably a good idea. I'll look into doing that next week. However, I do not plan on sending the T400-specific patch upstream.

Thanks. Based on your earlier comments, I agree that it doesn't need to go upstream. Once again, thanks for your help.

> Just to clear up a little confusion, Matthew's patch in comment #4 is actually removing all the entries from the DMI table, not adding any. He does that because he also provides the proper way to solve the issue.

Ah, I've got it now :) Thanks for the explanation (I'm assuming you meant comment #3).

Revision history for this message
Miguel Martinez (el-quark) wrote : AlsaDevices.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
Miguel Martinez (el-quark) wrote : AplayDevices.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : BootDmesg.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : Card0.Amixer.values.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : Card0.Codecs.codec.0.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : Card0.Codecs.codec.1.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : IwConfig.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : Lspci.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : Lsusb.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : PciMultimedia.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : ProcModules.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : RfKill.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : UdevDb.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : UdevLog.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote : WifiSyslog.txt

apport information

Revision history for this message
Miguel Martinez (el-quark) wrote :

Hello again,

Sorry for the many messages. I was convinced that apport-collect would only use one "comment". If you grep dmesg for "acpi_sleep" you will see it's passed as a command line argument in grub. I think I've done it properly: edit /etc/default/grub and run update-grub as root.

Nevertheless, resume still fails after second suspend, which is why I added all the previous information. It seems to me that, after pressing the power button during the second suspend, the fan will start and keep working. However, the round light with a rotated Z inside will never light. This light (the fourth one from the right in my T400) lights during successful resumes and power ons right after the HD light, in case this helps. Other lights that don't blink but should are the Num Lock and Caps Lock lights.

Revision history for this message
Alex Chiang (achiang) wrote :

Miguel,

I apologize because I was unclear. The current Lucid kernel does not have support for this command line argument.

The next one that is released will have this support. I believe we'll see a release within the next two weeks.

Thanks.

Revision history for this message
Miguel Martinez (el-quark) wrote :

Ah, cool. I'm sorry for all that log spam, then. I wouldn't have sent so much info had dmesg given me any error messages regarding the unknown option. I'll report back as soon as the next kernel is installed.

Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi Miguel,

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: kernel-suspend
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Miguel Martinez (el-quark) wrote :

I've got a couple of questions regarding mainline kernel testing. This is especially so because every unsuccessful test will make me force power the machine off, which is something I don't particularly enjoy.

1) What kernel do you want me to test? The latest 2.6.33 or a 34 release candidate?

2) I build tp-smapi for each kernel. The question is: with? without? both?

I was also wondering, because it wasn't very clear to me from the wiki, whether those kernels have the "ubuntu sauce" applied to them or not.

Revision history for this message
Alex Chiang (achiang) wrote :

Miguel, I don't think you need to test upstream. It's not going to tell us anything we don't already know.

Thanks.

madbiologist (me-again)
Changed in linux (Ubuntu):
status: Incomplete → New
tags: removed: needs-upstream-testing
Revision history for this message
Miguel Martinez (el-quark) wrote :

Dear Alex,

I just got an updated kernel, 2.6.32-22.23. However, the changelog seems to imply "just" a boatload of security fixes, with their CVE advisories and all. I didn't see your upstream patch anywhere. Will testing this kernel help?

Regards and thanks for the efforts

Revision history for this message
Alex Chiang (achiang) wrote :

Miguel,

No, this kernel doesn't contain any patches to help with this bug.

You'll want it anyway for the security fixes though.

Thanks.

Revision history for this message
Miguel Martinez (el-quark) wrote :

Hello again,

Following the update to kernel 2.6.32-23, I tried again. Unfortunately, resume still hangs after the second suspend. My kernel boot line looks like the following (copy-paste from /boot/grub/grub.cfg):

linux /boot/vmlinuz-2.6.32-23-generic root=UUID=deccd0e8-e72a-4b85-bb5c-e2ded564ca8c ro splash acpi_sleep=sci_force_enable

Nevertheless, I don't know whether the option is being accepted or not. This is what grep tells me after dmesg:

$ dmesg | grep -i acpi | grep -i force
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-2.6.32-23-generic root=UUID=deccd0e8-e72a-4b85-bb5c-e2ded564ca8c ro splash acpi_sleep=sci_force_enable
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-2.6.32-23-generic root=UUID=deccd0e8-e72a-4b85-bb5c-e2ded564ca8c ro splash acpi_sleep=sci_force_enable

In any case, the changelog of 2.6.32-23 does mention Alex' patch, so I suppose it's already included. Honestly, I'm starting to lose faith in my laptop. I don't know if I've got some oh-so-slightly faulty hardware that only works on windows, if the BIOS I'm using (now 3.18) is sabotaging ubuntu or if it's actually an issue with the firmware of the hard drive (lenovo released an update to that a while ago).

Revision history for this message
Miguel Martinez (el-quark) wrote :

Hello again,

Although I still haven't given 2.6.32-24 a go with the double suspend issue, I'll do it later today. In order to see if there's an issue with the graphics card, I'll try it with both the Intel (I'm almost sure it will fail) and the ATi one.

Nevertheless, I've just had a wild idea. I'm loading thinkad_ec in order to use hdaps and tp-smapi, which requires a force option to work around some BIOS values. I've heard reports of people successfully resuming from suspend more than once using new BIOS-es in the forums. So it's either my computer (which works OK in Vista 32 bit and used to work fine in win 7 RC1) or something that I'm doing. I'll also check whether the suspend issues exists without thinkad_ec, hdaps and tp-smapi loaded. Could that have anything to do?

Thanks again everybody for their efforts.

Revision history for this message
Miguel Martinez (el-quark) wrote :

Hello again,

I'm yet to test Intel without tp-smapi in kernel 2.6.32-24. Nevertheless, the freeze after the second resume exists in my laptop with 2.6.32-24, ATi w/ tp-smapi, ATi without tp-smapi, and intel w/tp-smapi.

One thing I've noticed, however, is that on the first suspend-resume cycle, the T400 will "beep" when you trigger the resume routines. However, on the second cycle, the "beep" will come right before it suspends. As far as I know, it never comes back to life. Funnily enough, in Windows Vista Business 32bit (no suspend-resume issues), the beep comes right at suspension. I don't recall the machine beeping on resume.

I hope this info helps anyone. If you suspect the blame actually lies in my laptop, I'd also like to hear this.

Regards,

Miguel

Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
tags: removed: regression-potential
penalvch (penalvch)
description: updated
description: updated
Revision history for this message
penalvch (penalvch) wrote :

Miguel Martinez, thank you for reporting this and helping make Ubuntu better. This bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please provide the information following https://wiki.ubuntu.com/DebuggingKernelSuspendHibernateResume ? As well, can you try with the latest development release of Ubuntu? ISO CD images are available from http://cdimage.ubuntu.com/releases/ . However, note you can only test Suspend, not Hibernate, when using a LiveCD. If the issue remains, run the following command in the development release from a Terminal (Applications->Accessories->Terminal) as it will automatically gather and attach updated debug information to this report.

apport-collect -p linux <BUGNUMBER>

Additionally, if you could try to reproduce this with the upstream mainline kernel 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.

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.

Please let us know your results. Thanks in advance.

tags: added: needs-upstream-testing
Changed in linux (Ubuntu):
assignee: Alex Chiang (achiang) → nobody
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.