Unable to wake up from suspend on Dell M101z

Bug #674984 reported by Raf Geens
58
This bug affects 6 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Unassigned
Natty
Fix Released
High
Unassigned

Bug Description

The machine goes into suspend but can't wake up from it. When inspecting /var/log/kern.log afterwards, no suspend-related messages are added to it at that time, while on my Dell Latitude E6400 which has working suspend there are. On the E6400 the first line that would show up is "PM: Syncing filesystems ... ", which is from the enter_state function in kernel/power/suspend.c . I added some print statements in that code to see if the M101z got near that point, and it does indeed enter the function, but acquiring a mutex seems to fail:

int enter_state(suspend_state_t state)
{
        int error;

        if (!valid_state(state))
                return -ENODEV;

        if (!mutex_trylock(&pm_mutex))
                return -EBUSY;

        printk(KERN_INFO "PM: Syncing filesystems ... ");

On the M101z the function returns after mutex_trylock, while on the E6400 it carries on.

I then found out about the s2ram instructions at http://en.opensuse.org/SDB:Suspend_to_RAM and found that suspend works when I pass the noapic boot option to the kernel. Locking the mutex succeeds in that case.

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: linux-image-2.6.35-22-generic 2.6.35-22.35
Regression: No
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.35-22.35-generic 2.6.35.4
Uname: Linux 2.6.35-22-generic i686
NonfreeKernelModules: fglrx wl
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: SB [HDA ATI SB], device 0: ALC259 Analog [ALC259 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: raf 1708 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'SB'/'HDA ATI SB at 0xd0400000 irq 16'
   Mixer name : 'Realtek ALC259'
   Components : 'HDA:10ec0269,10280470,00100100'
   Controls : 13
   Simple ctrls : 8
Card1.Amixer.info:
 Card hw:1 'HDMI'/'HDA ATI HDMI at 0xd0110000 irq 43'
   Mixer name : 'ATI RS690/780 HDMI'
   Components : 'HDA:1002791a,00791a00,00100000'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Sat Nov 13 20:33:13 2010
EcryptfsInUse: Yes
HibernationDevice: RESUME=UUID=8a09427d-f838-4dca-ad36-0f46eee42216
InstallationMedia: Ubuntu-Netbook 10.10 "Maverick Meerkat" - Release i386 (20101007)
MachineType: Dell Inc. Inspiron 1120
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.35-22-generic root=UUID=f9223b5e-ef82-433f-a550-f08dbadb24de ro crashkernel=384M-2G:64M,2G-:128M quiet splash
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.38
SourcePackage: linux
dmi.bios.date: 07/26/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A03
dmi.board.asset.tag: 1234567890
dmi.board.name: 090DNY
dmi.board.vendor: Dell Inc.
dmi.board.version: A03
dmi.chassis.asset.tag: 1234567890
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: A03
dmi.modalias: dmi:bvnDellInc.:bvrA03:bd07/26/2010:svnDellInc.:pnInspiron1120:pvrA03:rvnDellInc.:rn090DNY:rvrA03:cvnDellInc.:ct8:cvrA03:
dmi.product.name: Inspiron 1120
dmi.product.version: A03
dmi.sys.vendor: Dell Inc.

Revision history for this message
Raf Geens (rafgeens) wrote :
Revision history for this message
Raf Geens (rafgeens) wrote :

noapic isn't sufficient to work around this: if I leave the machine suspended for a non-trivial amount of time (say more than a minute), it's again unable to wake up. In that case I also can't turn the machine off using the power button anymore, and have to disconnect the battery to restart.

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

Hi Raf,

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
Raf Geens (rafgeens) wrote :

I tested with the 2.6.37-999.201012151130 daily mainline build. X doesn't work for me with that kernel so I've only tested in the console. Suspend behaviour is still the same: without noapic it doesn't come out of suspend, with noapic it does if you do it fast enough. If you use noapic and it comes out of suspend, I can do things like restart using ctrl-alt-del, but I don't see anything in the console. If I do the same on the current Ubuntu kernel while X is running, the console is unreadable and contains a mess of characters after coming out of suspend.

tags: removed: needs-upstream-testing
Changed in linux (Ubuntu):
status: Incomplete → New
Ara Pulido (ara)
tags: added: blocks-hwcert pcert
Ara Pulido (ara)
Changed in linux (Ubuntu Natty):
importance: Undecided → High
Revision history for this message
Ara Pulido (ara) wrote :

Marc Legris, could you confirm if this is still happening in Natty, please?

Revision history for this message
Ara Pulido (ara) wrote :

Chris, can you have a look to this one, please?

Changed in linux (Ubuntu Natty):
assignee: nobody → Chris Van Hoof (vanhoof)
Revision history for this message
Robert Hooker (sarvatt) wrote :

This should be fixed by

http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-natty.git;a=commit;h=7f74f8f28a2bd9db9404f7d364e2097a0c42cc12

Which is in the natty kernel. Can you please test to be sure it is an issue still?

Changed in linux (Ubuntu Natty):
status: New → Incomplete
Revision history for this message
Michael Steel (boozezela) wrote :

I have just tried the Natty B1. Apart from the fact that the touchpad right button get stuck, here you are the results for standby/hibernate.

From The liveCD:
==========
Suspend to disk (hybernate): not available
Suspend to RAM (standby): works
Resume: does not work
Messages on console:

SQUASHFS error: unable to read fragment cache entry [xxxxxxxx]
SQUASHFS error: unable to read page, block xxxxxxxx, size xxxxxx
SQUASHFS error: unable to read data cache entry [xxxxxxxx]

Installed on a USB disk:
===============
Suspend to disk (hybernate): seems to work as it dumps data on the disk before shutting off the machine.

It is possible that the BIOS does not allow resume from external drives.

Suspend to RAM (standby): works
Resume: does not work
Messages on console:

EXT4-fs error (device sdb1): ext4_find_entry:933: inode #2: comm unity-panel-ser:reading directory lblock 0
EXT4-fs (sdb1): previous I/O error to superblock detected

This is the same behaviour as with 10.10 booted with the noapic kernel parameter, basically it is like if the USB bus does not get properly awakened.

Note that whit this notebook the BIOS triggers automatically hibernation (suspend to disk) after the notebook has been suspended to RAM for a while. This seems to be by design and independent from the OS. With windows it is the same.

Revision history for this message
Michael Steel (boozezela) wrote :

> "It is possible that the BIOS does not allow resume from external drives."
To be read, it does not resume, it is possible that...

BTW I have used natty 11.04.AMD64.

Revision history for this message
Chris Van Hoof (vanhoof) wrote :

Assigning this to Marc as this needs testing w/ final natty kernel

Changed in linux (Ubuntu Natty):
assignee: Chris Van Hoof (vanhoof) → Marc Legris (maaarc)
Revision history for this message
Marc Legris (maaarc-deactivatedaccount-deactivatedaccount-deactivatedaccount-deactivatedaccount-deactivatedaccount) wrote :

I'm seeing this issue resolved with the latest packages for natty for the Inspiron 1120

Changed in linux (Ubuntu Natty):
status: Incomplete → Fix Released
Revision history for this message
Michael Steel (boozezela) wrote :

I have just tried ubuntu-11.04-beta2-desktop-amd64 and it is still badly broken.

From The liveCD (installed on a usb pen this time):
==========
Suspend to disk (hybernate): not available
Suspend to RAM (standby): works
Resume: works
Messages on console: none

Anyway Immediately after resuming I get a generic crash related to pulseaudio, with the crash report highlighting that /dev/whatever files became stale.

Installed on a USB disk:
===============
Suspend to disk (hybernate): NOT AVAILABLE
Note that I am using a 5GB swap partition on a 4GB machine, the option for hibernation is just not there.

Suspend to RAM (standby): works
Resume: does not work
Messages on console: same as the previous test.

I have not tried (and I will not try) an installation on the internal disk, where it MAY work.

Back to Windows 7 and waiting...

Revision history for this message
Michael Steel (boozezela) wrote :

> Chris Van Hoof wrote on 2011-04-11:
> I'm seeing this issue resolved with the latest packages for natty for the Inspiron 1120

Forgot to ask: does the package gets installed by default or do I need to install it manually?

Thank you

Revision history for this message
suidaso (alexitin-master) wrote :

I try this: add "acpi_skip_timer_override" to kernel's cmdline in /boot/grub/grub.conf.

It works! (I use ATI's driver) also long-time suspends.

I take this fix from this thread: http://marc.info/?l=linux-kernel&m=129623757413868 (thanks Chris Van Hoof to post a link to it).

Other fix in the thread is:
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1365,6 +1365,10 @@ static void setup_ioapic_irq(int apic_id, int pin, unsigned int irq,
       apic_id, mp_ioapics[apic_id].apicid, pin, cfg->vector,
       irq, trigger, polarity);

+ if (pin == 2) {
+ polarity = 0;
+ trigger = 0;
+ }

  if (setup_ioapic_entry(mp_ioapics[apic_id].apicid, irq, &entry,
           dest, trigger, polarity, cfg->vector, pin)) {

--

It didnt works for me :/
Neither ping == 2 or pin == 9 or (pin ==2 || pin == 9) didnt work.

I try with pin 9 because pin 9 have polarity = 1

I attach my IRQ redirects table (with apic=debug)

Revision history for this message
suidaso (alexitin-master) wrote :

I tried the "acpi_skip_timer_override" trick with five hours suspend and it didn't work :/

Revision history for this message
suidaso (alexitin-master) wrote :

Note: The fix of io_apic.c works with Xorg's friver. But didn't with Radeon drivers

Revision history for this message
Michael Steel (boozezela) wrote :

I have just tried ubuntu-11.04-desktop-amd64 FINAL.

From The liveCD (installed on a usb pen):
===========================
Suspend to disk (hybernate): not available
Suspend to RAM (standby): works
Resume: works
Messages on console: none

No pulseaudio related crash this time.

Installed on a USB drive:
===============
Suspend to disk (hybernate): Available, but not tested.
Resume: does not work

Messages on console trying to login:

EXT4-fs (sdb1): previous I/O error to superblock detected
EXT4-fs error (sdb1): ext4_find_entry:933: inode #xxxxxxxx: comm getty:reading directory lblock 0

EXT4-fs (sdb1): previous I/O error to superblock detected
EXT4-fs error (sdb1): ext4_find_entry:933: inode #xxxxxxxx: comm gnome-settings:reading directory lblock 0

EXT4-fs (sdb1): previous I/O error to superblock detected
EXT4-fs error (sdb1): ext4_find_entry:933: inode #xxxxxxxx: comm init:reading directory lblock 0

EXT4-fs (sdb1): previous I/O error to superblock detected
EXT4-fs error (sdb1): ext4_find_entry:933: inode #xxxxxxxx: comm init:reading directory lblock 0

EXT4-fs (sdb1): previous I/O error to superblock detected
EXT4-fs error (sdb1): ext4_find_entry:933: inode #xxxxxxxx: comm init:reading directory lblock 0

EXT4-fs (sdb1): previous I/O error to superblock detected
EXT4-fs error (sdb1): ext4_find_entry:933: inode #xxxxxxxx: comm init:reading directory lblock 0

And so on...

Revision history for this message
BrianS (brians200) wrote :

I am getting the same error as Gensuke with a fresh install from liveCD in ubuntu 11.10

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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