Bug 5884

Summary: compaq 2110us/hp nx9005 will not resume from suspend to ram
Product: ACPI Reporter: Ted Logan (tedtheologian)
Component: Power-BatteryAssignee: Shaohua (shaohua.li)
Status: REJECTED UNREPRODUCIBLE    
Severity: normal CC: acpi-bugzilla, bunk, mmvinni, pavel
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    
Attachments: acpidump
debug patch

Description Ted Logan 2006-01-13 07:56:46 UTC
Although resumes fine in XP, in Linux, after you suspend to ram, if you wish to
resume, if you hit power button or any acpi button, it seems for a split second
as though it is resuming, but then shuts off instantly.

Laptop with Athlon XP 1.67 processor.
Comment 1 Ted Logan 2006-01-17 12:12:33 UTC
Using pavlov's modification of acpi/wakeup.S, the power will resume, as well as
the lights and what not, but keyboard/video are unusable(despite using hibernate
script).  The modifications prevent suspend to ram from being usable, but only
with them and shutting off acpid does it not poweroff when I try to resume by
hitting an acpi key.


---------------
#define BEEP \
      inb     $97, %al;       \
      outb    %al, $0x80;     \
      movb    $3, %al;        \
      outb    %al, $97;       \
      outb    %al, $0x80;     \
      movb    $-74, %al;      \
      outb    %al, $67;       \
      outb    %al, $0x80;     \
      movb    $-119, %al;     \
      outb    %al, $66;       \
      outb    %al, $0x80;     \
      movb    $15, %al;       \
      outb    %al, $66;

ALIGN
       .align  4096
ENTRY(wakeup_start)
wakeup_code:
       wakeup_code_start = .
       .code16
BEEP
1:
       jmp 1b

       movw    $0xb800, %ax
       movw    %ax,%fs
       movw    $0x0e00 + 'L', %fs:(0x10)

---------------------------
Comment 2 Pavel Machek 2006-01-18 05:28:25 UTC
This is pretty much impossible to debug, may be BIOS problems. If someone has
any ideas...
Comment 3 Ted Logan 2006-01-18 07:23:31 UTC
I was mistaken, it does not actually power off.
It SEEMS as though it is powered off, but if I hit a MM key at the top a second
time, it reboots the machine.
Comment 4 Ted Logan 2006-01-25 12:48:35 UTC
Created attachment 7147 [details]
acpidump
Comment 5 Shaohua 2006-02-07 18:50:02 UTC
So even with the changes in comment #1 the system is still reboot at resume, 
right?
Comment 6 Shaohua 2006-02-07 18:54:47 UTC
Created attachment 7270 [details]
debug patch

For such issues, I suspect Linux missed something, but haven't strong idea. The
attached patch tries to disable some devices at suspend time. Is it helpful?
Comment 7 Ted Logan 2006-02-07 19:36:08 UTC
Do you want me to try that patch and report something?  if so, let me know
specifically what you'd like me to do, as I am anxious to get this working:)

As far as comment 1, I thought at first it stopped the "reboot" or whatever, but
then It seemed most of the time, and only rarely, would it not do the reboot action.

it seems to power off, but as soon as i hit power button or mm button on top, it
reboots immediately.
Comment 8 Ted Logan 2006-02-07 19:39:29 UTC
sorry, i read it wrong.  I am at kernel 2.6.15.2.  This is what I get on
application.

 patch -p0 < sleepkernelpatch.patch
patching file a/arch/i386/kernel/acpi/wakeup.S
Hunk #1 FAILED at 11.
Hunk #2 succeeded at 232 with fuzz 2 (offset 197 lines).
1 out of 2 hunks FAILED -- saving rejects to file
a/arch/i386/kernel/acpi/wakeup.S.rej


what should i modify in patch for it to work w/this kernel?

Comment 9 Shaohua 2006-02-07 20:20:03 UTC
For comment #1, you can manually change your code to align with the sample 
code of comment #1. please also try the debug patch I added. Thanks!
Comment 10 Ted Logan 2006-02-08 08:04:00 UTC
err, I made comment 1.  That's what i responded to with comment 7:)  Your patch
fails on 2.6.15.2.
Comment 11 Ted Logan 2006-02-08 10:23:12 UTC
:(
applied your patch manually, same problem.  on resume, seems to power down, but
hitting MM key again reboots machine:(
Comment 12 Paul Johnson 2006-02-10 06:52:42 UTC
Did suspend ever work for you in Linux?  On my Dell D800 Latitude, it did work
in kernel 2.6.12, but it has not been able to wake up the video since then.  So
the system seems to still be asleep after suspend, but it is really asleep,
except for the video.

I don't know what an MM key is or why it would cause a reboot, but I think you
need to rule out the possibility that your system is running except for the video

While trying to debug this, I was following advice from many people and one
advice was to fiddle the start-time kernel options for acpi.  That's one of the
changes in the kernel's documentation on dealing with waking up the video. I
found certain combinations that would cause the symptom you describe.  my
recollection was that if I put acpi-sleep=bios. So I'd suggest you make sure you
don't have that option in /etc/grub.conf.
Comment 13 Ted Logan 2006-02-10 09:16:23 UTC
title Red Hat Linux ACPI
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.15-wake ro root=/dev/hda2 pci=usepirqmask
resume2=swap:/dev/hda5 idebus=100 nolapic pci=noacpi noapic

i only started trying suspend to ram again with recent kernels, as i couldn't
get it working when i last tried years ago.

MM keys are the multimedia tiny keys on top of laptop keyboard, and power button
does same thing.

when i try to resume hitting one of those, all lights go off, and there are no
sounds.  it seems as though it is powered off.  but, if you hit one of those
keys, it quickly turns on and reboots.

Comment 14 Rafael J. Wysocki 2007-06-04 10:48:49 UTC
What is the current status of this bug?
Comment 15 Ted Logan 2007-06-04 12:56:18 UTC
No idea, I sold this laptop over 1 year ago:)