Resume failure on ThinkPad T41

Bug #21609 reported by Shannon McMackin
14
Affects Status Importance Assigned to Milestone
linux-source-2.6.15 (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

I experienced successful hibernate and resume under Hoary with this laptop, an
IBM Thinkpad T41. Since doing a Colony 3 install of Breezy and apt-get
dist-upgrade to Preview, it hasn't worked properly.

Here are some versions of what's installed:

kernel 2.6.12-8-686
acpi-support 0.30
laptop-mode 0.4
laptop-mode-tools 1.10-1
ibm-acpi 0.11
powermgmt-base 1.22
powernowd 0.96-1ubuntu1

The laptop hibernates and then upon resume, freezes while copying from memory.

In /var/log/dmesg, I see this:

[4294676.715000] swsusp: Suspend partition has wrong signature?

I see nothing relevant in /var/log/messages.

I've also been trying to compile a vanilla 2.6.13.1 kernel with swsusp2 patches.
 This kernel will not boot.

I fear this may have complicated things.

Please let me know if there is any further info I can provide.

Revision history for this message
Shannon McMackin (mcmackin) wrote :

I've re-installed Breezy Preview. I've acquired all updates and installed
nothing new.

I've editted /boot/grub/menu.lst and added resume=/dev/hda2 to the kopt line and
run update-grub.

Same behavior. Upon resume from hibernation, I get the error that my resume
option is not set even though it appears at boot time in the kernel statement.

Upon copying the image, it actually now reboots itself.

Hibernation is initiated by pressing Fn+F12 on this Thinkpad. I will continue
testing with other options.

Revision history for this message
Shannon McMackin (mcmackin) wrote :

Here is the screen output during resume:

[4295383.837000] Freeing memory...... Done (60942 pages freed)
[4295388.420000] GTM info 78,3c,0,0,13
[4295390.137000] GTM info 78,14,0,0,13
[4295390.593000] ACPI:PCI interrupt for device 0000:02:00.1 disabled
[4295390.593000] ACPI:PCI interrupt for device 0000:02:00.0 disabled
[4295390.594000] ACPI:PCI interrupt for device 0000:00:1F.5 disabled
[4295390.601000] .....................................swsusp: need to copy 15350
pages

I have 1GB RAM with a 2.1GB swap file on /dev/hda2.

This time, the machine did not reboot, it hung.

Revision history for this message
Matthew Garrett (mjg59) wrote :

That indicates that the resume was successful, but something is going wrong
while hardware is being reenabled.

Revision history for this message
Shannon McMackin (mcmackin) wrote :

I'm used to configuring swsusp2, but I've never done much with swsusp. Can you
direct me on where I can make subtle changes to how the resume executes under
breezy? I'd like to assume it's the same as any other distro, but one never knows.

Will any changes to /etc/default/acpi-support affect hibernate/resume?

Revision history for this message
Shannon McMackin (mcmackin) wrote :

I modified /etc/default/acpi-support as follows:

# Uncomment the next line to switch away from X and back again after resume.
# This is needed for some hardware, but should be unnecessary on most.
DOUBLE_CONSOLE_SWITCH=true

This seemed to allow the copying of memory to go, but when it switched back, the
video was garbled and the machine still hung.

Here is my video chipset:

0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M7
LW [Radeon Mobility 7500] (prog-if 00 [VGA])
        Subsystem: IBM: Unknown device 0530
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping+ SERR+ FastB2B+
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 66 (2000ns min), Cache Line Size: 0x08 (32 bytes)
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
        Region 1: I/O ports at 3000 [size=256]
        Region 2: Memory at c0100000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: <available only to root>

This is what seems to be the most pertinent section of xorg.conf:

Section "Device"
        Identifier "ATI Technologies, Inc. Radeon Mobility 9000 (M7 LW)"
        Driver "ati"
        BusID "PCI:1:0:0"
EndSection

Section "Monitor"
        Identifier "Generic Monitor"
        Option "DPMS"
EndSection

Section "Screen"
        Identifier "Default Screen"
        Device "ATI Technologies, Inc. Radeon Mobility 9000 (M7 LW)"
        Monitor "Generic Monitor"
        DefaultDepth 24
        SubSection "Display"
                Depth 1
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth 4
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth 8
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth 15
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth 16
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth 24
                Modes "1024x768"
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier "Default Layout"
        Screen "Default Screen"
        InputDevice "Generic Keyboard"
        InputDevice "Configured Mouse"
        InputDevice "Synaptics Touchpad"
EndSection

Section "DRI"
        Mode 0666
EndSection

Revision history for this message
Edward Mendelson (em36) wrote :

Same problem on a ThinkPad T42 with Breezy preview, fully updated. Problem
occurs whether or not I add pci=noacpi and acpi_sleep=s3_bios to the boot line.
The crash seems to occur at different times, sometimes after a line about
swsusp, sometimes with garbled video, - and sometimes (as reported elsewhere in
this bug) the machine tries to recover, but then spontaneously reboots.
Shouldn't this be upgraded to a severe bug? Hibernation worked perfectly on this
machine with Hoary.

Revision history for this message
Matthew Garrett (mjg59) wrote :

Ok. With luck, this will be fixed in the next initramfs-tools upload.

Revision history for this message
Shannon McMackin (mcmackin) wrote :

I'm used to being a guinea pig, so if there's anything I can look at before you
load upstream, feel free to send it my way or tell me where I can get it.

Thanks.

Revision history for this message
Shannon McMackin (mcmackin) wrote :

I just applied an update to initramfs-tools and resume still behaves the same way.

Revision history for this message
Matthew Garrett (mjg59) wrote :

You need to do

dpkg-reconfigure linux-image-`uname -r`

after an initramfs update

Revision history for this message
Shannon McMackin (mcmackin) wrote :

Thanks for the guidance...

Well, it's certainly different, but not yet proper. The resume process goes
until a certain point and then the screen goes a light shade of gray with a
blinking cursor halfway down the left side.

The GTM items are still displayed on the screen, but not the PCI items or the
message about swsusp copying from memory. Looks something like this:

[4295383.837000] Freeing memory...... Done (60942 pages freed)
[4295388.420000] GTM info 78,3c,0,0,13
[4295390.137000] GTM info 78,14,0,0,13

Then the screen goes to gray....

Revision history for this message
Shannon McMackin (mcmackin) wrote :

I have not seen any updates and have done a fresh install last night with the
same results.

The machine hibernates just fine, but upon resume, it ends up going to a gray
screen.

Revision history for this message
Shannon McMackin (mcmackin) wrote :

Just tried after the new update to initramfs-tools.

Ran dpkg-reconfigure as directed.

Hibernates fine, upon resume, it get's to the point of copying from memory and
reboots.

Almost back to the original behavior.

I'll gladly provide any info I can.

Shannon

Revision history for this message
Shannon McMackin (mcmackin) wrote :

As an update, the condition has not changed, even with all the updates that have
been coming.

Revision history for this message
Edward Mendelson (em36) wrote :

Yes, problem still occurs exactly as described above, on a ThinkPad T42.

Revision history for this message
Shannon McMackin (mcmackin) wrote :

Discovery made!!!!

I've been playing with /etc/default/acpi-support and found that if I comment out
the line that reboots video, it resumes.

Network is a little flaky after that, but it could be because I'm using Network
Manager and I may have to play with.

Here's a copy of my current acpi-support:

# Uncomment the next line to enable ACPI suspend to RAM
ACPI_SLEEP=true

# Comment the next line to disable suspend to disk
ACPI_HIBERNATE=true

# Change the following to "standby" to use ACPI S1 sleep, rather than S3.
# This will save less power, but may work on more machines
ACPI_SLEEP_MODE=mem

# Add modules to this list to have them removed before suspend and reloaded
# on resume. An example would be MODULES="em8300 yenta_socket"
#
# Note that network cards and USB controllers will automatically be unloaded
# unless they're listed in MODULES_WHITELIST
MODULES="ath_pci ehci_hcd uhci_hcd e1000"

# Add modules to this list to leave them in the kernel over suspend/resume
MODULES_WHITELIST=""

# Should we save and restore state using the VESA BIOS Extensions?
SAVE_VBE_STATE=true

# The file that we use to save the vbestate
VBESTATE=/var/lib/acpi-support/vbestate

# Should we attempt to warm-boot the video hardware on resume?
# POST_VIDEO=true

# Should we switch the screen off with DPMS on suspend?
# USE_DPMS=true

# Use Radeontool to switch the screen off? Seems to be needed on some machines
# RADEON_LIGHT=true

# Uncomment the next line to switch away from X and back again after resume.
# This is needed for some hardware, but should be unnecessary on most.
DOUBLE_CONSOLE_SWITCH=true

# Set the following to "platform" if you want to use ACPI to shut down
# your machine on hibernation
HIBERNATE_MODE=shutdown

# Comment this out to disable screen locking on resume
LOCK_SCREEN=true

# Uncomment this line to have DMA disabled before suspend and reenabled
# afterwards
# DISABLE_DMA=true

# Uncomment this line to attempt to reset the drive on resume. This seems
# to be needed for some Sonys
# RESET_DRIVE=true

# Add services to this list to stop them before suspend and restart them in
# the resume process.
STOP_SERVICES="mysql ibm-wclient NetworkManager NetworkManagerDispatcher"

Revision history for this message
Matthew Garrett (mjg59) wrote :

That's very odd - hibernate.sh is supposed to unset POST_VIDEO before resuming.
I'll look into this.

Revision history for this message
Shannon McMackin (mcmackin) wrote :

I spoke too soon...

It worked once and I have not been able to get it to resume properly since.

More disturbing is the randomness of this.

Revision history for this message
Mark Histed (histed237) wrote :

I see the same problem with the Breezy RC on my Thinkpad X31: upon resume from
hibernate the machine crashes after:

swsusp: need to copy XXXXX pages

When I boot in 'single' mode (recovery mode in grub) hibernate and resume work fine.

This worked fine in hoary.
My machine has 1GB of memory and I'm using the xorg radeon driver.

Let me know if you need further information; I can turn it around today.

List of modules that are installed during normal bootup but NOT installed with
'single' kernel opt:
+af_packet
+bluetooth
+container
+cpufreq_conservative
+cpufreq_ondemand
+cpufreq_stats
+cpufreq_userspace
+dev_acpi
+hotkey
+i2c_acpi_ec
+i2c_core
+ibm_acpi
+ipv6
+l2cap
+lp
+pcc_acpi
+pcmcia
+rfcomm
+sony_acpi
+tc1100_wmi
+vga16fb
+vgastate
+video

Revision history for this message
Mark Histed (histed237) wrote :

I tried to change the summary to:

Resume failure on ThinkPad T41 / X31

Revision history for this message
Mark Histed (histed237) wrote :

Aha!

I found the problem by winnowing down the list of modules. It seems like
vga16fb is the problem.

Booting without the splash screen allows resume to work successfully.
(remove the 'splash' kernel option in grub/menu.list from the
#kopt/#nonaltoptions lines or directly from the 'kernel' line)

Should I add a note about this to the wiki or a mailing list someplace?

Revision history for this message
Shannon McMackin (mcmackin) wrote :

As you can see, it worked once for me....

Can you repeat your success?

Revision history for this message
Mark Histed (histed237) wrote :

Yes it is repeatable

Revision history for this message
Shannon McMackin (mcmackin) wrote :

I concur...

Removing the splash option from menus.lst allows my T41 to resume properly, more
than once...

Thank you!!!

Revision history for this message
Martin Bergner (martin-bergner) wrote :

Is this still an issue with the splash option in the menu.ls?
Since this is the default in dapper, we better check if this bug still exists.

Revision history for this message
Simon Law (sfllaw) wrote :

Shannon,

Are you still unable to resume from hibernation with a recent Flight
of Dapper? It should be fixed in recent kernels.

Thanks.

Matt Zimmerman (mdz)
Changed in linux-source-2.6.15:
assignee: mjg59 → nobody
status: Confirmed → Needs Info
Revision history for this message
Karianne Fog Heen (simira) wrote :

Is this still a problem on Dapper final?

Revision history for this message
Mark Histed (histed237) wrote : Re: [Bug 21609] Re: Resume failure on ThinkPad T41

I'm not sure if this problem still exists. I stopped running Linux on my laptop
because of the multiplicity of suspend/resume problems to both memory/disk. Sorry!

Revision history for this message
Stu Hood (stuhood) wrote :

Dapper Suspends/Resumes just fine on my T41.

Revision history for this message
Karianne Fog Heen (simira) wrote :

Seems to work now. Please reopen if the problem reappears.

Changed in linux-source-2.6.15:
status: Needs Info → Fix Released
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.