* S3 on Asus M6R
@ 2005-03-21 13:54 Jan Kasprzak
[not found] ` <20050321135401.GC30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Jan Kasprzak @ 2005-03-21 13:54 UTC (permalink / raw)
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Hi all,
I have an Asus M6R laptop (http://www.fi.muni.cz/~kas/m6r/).
I have tried to use ACPI S3 suspend-to-ram, but it does not work for me:
- usually the system either immediately resumes and locks up
after "echo 3 > /proc/acpi/sleep", or it or powers itself down
and does a cold boot when I push the power button. I have found
that the lm_sensors package is what causes the problem (altough
I have no idea why).
- without lm_sensors enabled (chkconfig lm_sensors off), I can suspend
my system (the power LED starts blinking, which means the system
is suspended to RAM). But I cannot resume it back - after hitting
the power button the LEDs are on as when the laptop is normally
running, but I get no output on the display, no response to ping, no
response to CapsLock key, etc.
I have read Documentation/power/video.txt, but neither using
vbetool or boot-radeon utility make any difference for me.
I have tried to use bash -x s3.sh >s3.log 2>s3.err, where s3.sh
is as follows:
#!/bin/bash
chvt 1
rmmod ohci-hcd
rmmod ehci-hcd
sync
echo 3 > /proc/acpi/sleep
sync
/tmp/boot-radeon
chvt 7
but after the (unsuccessful) resume there was only the debugging output
up to the "rmmod ehci-hcd" command in the s3.err file.
I have tried acpi_sleep=s3_bios and s3_mode, but it does not help.
I use generic 2.6.11.3 kernel, Fedora Core 3 system.
What else should I try to make S3 state working for me?
Thanks,
-Y.
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Czech Linux Homepage: http://www.linux.cz/ |
> Whatever the Java applications and desktop dances may lead to, Unix will <
> still be pushing the packets around for a quite a while. --Rob Pike <
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 8+ messages in thread[parent not found: <20050321135401.GC30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>]
* Re: S3 on Asus M6R [not found] ` <20050321135401.GC30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org> @ 2005-03-21 16:29 ` Carl-Daniel Hailfinger [not found] ` <423EF660.7010906-hi6Y0CQ0nG0@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Carl-Daniel Hailfinger @ 2005-03-21 16:29 UTC (permalink / raw) To: Jan Kasprzak; +Cc: acpi-devel [forgot the CC:] Jan Kasprzak schrieb: > Hi all, > > I have an Asus M6R laptop (http://www.fi.muni.cz/~kas/m6r/). > I have tried to use ACPI S3 suspend-to-ram, but it does not work for me: > > - usually the system either immediately resumes and locks up > after "echo 3 > /proc/acpi/sleep", or it or powers itself down > and does a cold boot when I push the power button. I have found > that the lm_sensors package is what causes the problem (altough > I have no idea why). > > - without lm_sensors enabled (chkconfig lm_sensors off), I can suspend > my system (the power LED starts blinking, which means the system > is suspended to RAM). But I cannot resume it back - after hitting > the power button the LEDs are on as when the laptop is normally > running, but I get no output on the display, no response to ping, no > response to CapsLock key, etc. > > I have read Documentation/power/video.txt, but neither using > vbetool or boot-radeon utility make any difference for me. > > I have tried to use bash -x s3.sh >s3.log 2>s3.err, where s3.sh > is as follows: > > #!/bin/bash > chvt 1 > rmmod ohci-hcd > rmmod ehci-hcd > sync > echo 3 > /proc/acpi/sleep > sync > /tmp/boot-radeon > chvt 7 Can we see your kernel command line? Do you use any framebuffer? Does it work if you boot with init=/bin/bash? Regards, Carl-Daniel -- http://www.hailfinger.org/ ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <423EF660.7010906-hi6Y0CQ0nG0@public.gmane.org>]
* Re: S3 on Asus M6R [not found] ` <423EF660.7010906-hi6Y0CQ0nG0@public.gmane.org> @ 2005-03-21 17:03 ` Jan Kasprzak [not found] ` <20050321170340.GK30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Jan Kasprzak @ 2005-03-21 17:03 UTC (permalink / raw) To: Carl-Daniel Hailfinger; +Cc: acpi-devel Carl-Daniel Hailfinger wrote: : Can we see your kernel command line? # cat /proc/cmdline ro root=/dev/hda1 resume=/dev/hda2 : Do you use any framebuffer? No. : Does it work if you boot with init=/bin/bash? : No. It suspends, but resume fails (LEDs are on, fan is on, but no display output, no ping reply, ...). -Yenya -- | Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> | | GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E | | http://www.fi.muni.cz/~kas/ Czech Linux Homepage: http://www.linux.cz/ | > Whatever the Java applications and desktop dances may lead to, Unix will < > still be pushing the packets around for a quite a while. --Rob Pike < ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <20050321170340.GK30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>]
* Re: S3 on Asus M6R [not found] ` <20050321170340.GK30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org> @ 2005-03-21 17:34 ` Carl-Daniel Hailfinger [not found] ` <423F05A9.6050309-hi6Y0CQ0nG0@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Carl-Daniel Hailfinger @ 2005-03-21 17:34 UTC (permalink / raw) To: Jan Kasprzak; +Cc: acpi-devel Jan Kasprzak schrieb: > Carl-Daniel Hailfinger wrote: > : Can we see your kernel command line? > > # cat /proc/cmdline > ro root=/dev/hda1 resume=/dev/hda2 > > : Do you use any framebuffer? > > No. > > : Does it work if you boot with init=/bin/bash? > : > No. It suspends, but resume fails (LEDs are on, fan is on, > but no display output, no ping reply, ...). Bah. Last try: Is a CD/DVD in the drive or are you plugged into a docking station? Another thing you could try is a serial console, but I doubt it will work after resume. Regards, Carl-Daniel -- http://www.hailfinger.org/ ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <423F05A9.6050309-hi6Y0CQ0nG0@public.gmane.org>]
* Re: S3 on Asus M6R [not found] ` <423F05A9.6050309-hi6Y0CQ0nG0@public.gmane.org> @ 2005-03-21 17:39 ` Jan Kasprzak [not found] ` <20050321173912.GN30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Jan Kasprzak @ 2005-03-21 17:39 UTC (permalink / raw) To: Carl-Daniel Hailfinger; +Cc: acpi-devel Carl-Daniel Hailfinger wrote: : Bah. Last try: Is a CD/DVD in the drive or are you plugged into a : docking station? No and no. : Another thing you could try is a serial console, but I doubt it : will work after resume. No serial port on Asus M6R :-(. -Yenya -- | Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> | | GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E | | http://www.fi.muni.cz/~kas/ Czech Linux Homepage: http://www.linux.cz/ | > Whatever the Java applications and desktop dances may lead to, Unix will < > still be pushing the packets around for a quite a while. --Rob Pike < ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <20050321173912.GN30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>]
* Re: S3 on Asus M6R [not found] ` <20050321173912.GN30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org> @ 2005-03-21 19:56 ` Stefan Dösinger [not found] ` <200503212056.20589.stefandoesinger-RbZlAiThDcE@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Stefan Dösinger @ 2005-03-21 19:56 UTC (permalink / raw) To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: Jan Kasprzak, Carl-Daniel Hailfinger Am Montag, 21. März 2005 18:39 schrieb Jan Kasprzak: > Carl-Daniel Hailfinger wrote: > : Bah. Last try: Is a CD/DVD in the drive or are you plugged into a > : docking station? > > No and no. > > : Another thing you could try is a serial console, but I doubt it > : will work after resume. > > No serial port on Asus M6R :-(. You can try to place a few markers in the wakeup code. The first one would be to insert "lcall $0xffff, $0" (without the quote, hope the code is correct) in arch/i386/kernel/wakeup.S right at the beginning after ".code16" (Line number 22 in 2.6.11.3. If your kernel gets the control on resume this should cause a reboot right after wakeup. If it does, the problem is in the wakeup code, if it does not it's in the suspend code Stefan ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <200503212056.20589.stefandoesinger-RbZlAiThDcE@public.gmane.org>]
* Re: S3 on Asus M6R [not found] ` <200503212056.20589.stefandoesinger-RbZlAiThDcE@public.gmane.org> @ 2005-03-21 21:02 ` Jan Kasprzak [not found] ` <20050321210217.GF14356-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Jan Kasprzak @ 2005-03-21 21:02 UTC (permalink / raw) To: Stefan Dösinger Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Carl-Daniel Hailfinger Stefan Dösinger wrote: : You can try to place a few markers in the wakeup code. The first one would be : to insert "lcall $0xffff, $0" (without the quote, hope the code is correct) : in arch/i386/kernel/wakeup.S right at the beginning after ".code16" (Line : number 22 in 2.6.11.3. It is arch/i386/kernel/acpi/wakeup.S. Yes, adding "lcall $0xffff, $0" to the line #22 causes the machine reboot when I hit the power button after the suspend. OK, I will try to move this instruction down in wakeup.S now. Any other hints? Thanks! -Yenya -- | Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> | | GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E | | http://www.fi.muni.cz/~kas/ Czech Linux Homepage: http://www.linux.cz/ | > Whatever the Java applications and desktop dances may lead to, Unix will < > still be pushing the packets around for a quite a while. --Rob Pike < ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <20050321210217.GF14356-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>]
* Re: S3 on Asus M6R [not found] ` <20050321210217.GF14356-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org> @ 2005-03-21 21:56 ` Stefan Dösinger 0 siblings, 0 replies; 8+ messages in thread From: Stefan Dösinger @ 2005-03-21 21:56 UTC (permalink / raw) To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: Jan Kasprzak, Carl-Daniel Hailfinger [-- Attachment #1: Type: text/plain, Size: 1235 bytes --] Am Montag, 21. März 2005 22:02 schrieb Jan Kasprzak: > Stefan Dösinger wrote: > : You can try to place a few markers in the wakeup code. The first one > : would be to insert "lcall $0xffff, $0" (without the quote, hope the code > : is correct) in arch/i386/kernel/wakeup.S right at the beginning after > : ".code16" (Line number 22 in 2.6.11.3. > > It is arch/i386/kernel/acpi/wakeup.S. Yes, adding "lcall $0xffff, $0" > to the line #22 causes the machine reboot when I hit the power button after > the suspend. > > OK, I will try to move this instruction down in wakeup.S now. > Any other hints? Thanks! 1)Try the attached patch 2)Yes, try to take down the line. The next function is, I think, in drivers/acpi/sleep/main.c. Search for the "Back to C" string to find it. Watch out: that call is an old real mode BIOS call which simply causes a sysem reset. It won't work as soon as the system is in protected mode again(the switch is somewhere in wakeup.S I think. 3)As soon as the machine reaches the protected mode, you can try to make beeps from the system speaker, if you have one. I don't know how to do this anyway. 4)Did you build a minimal kernel with as few drivers as possible? Stefan [-- Attachment #2: suspend.diff --] [-- Type: text/plain, Size: 2994 bytes --] --- linux-2.6.9/include/linux/pm.h 2005-01-20 14:04:54.248337144 +0100 +++ include/linux/pm.h 2005-01-20 14:03:12.000000000 +0100 @@ -206,9 +206,11 @@ struct pm_ops { suspend_disk_method_t pm_disk_mode; - int (*prepare)(suspend_state_t state); - int (*enter)(suspend_state_t state); - int (*finish)(suspend_state_t state); + int (*prepare)(suspend_state_t state); /*Called before suspending devices*/ + int (*setup)(suspend_state_t state); /*Called after device suspend*/ + int (*enter)(suspend_state_t state); /*To Finally enter the sleep state*/ + int (*leave)(suspend_state_t state); /*Before device wakeup*/ + int (*finish)(suspend_state_t state); /*After device wakeup*/ }; extern void pm_set_ops(struct pm_ops *); --- linux-2.6.9/kernel/power/main.c 2005-01-20 14:04:54.463304464 +0100 +++ kernel/power/main.c 2005-01-20 14:10:36.499307088 +0100 @@ -67,6 +67,12 @@ if ((error = device_suspend(state))) goto Finish; + + if (pm_ops->setup) { + if ((error = pm_ops->setup(state))) + goto Finish; + } + return 0; Finish: if (pm_ops->finish) @@ -104,6 +110,8 @@ static void suspend_finish(suspend_state_t state) { + if (pm_ops && pm_ops->leave) + pm_ops->leave(state); device_resume(); if (pm_ops && pm_ops->finish) pm_ops->finish(state); --- linux-2.6.9/drivers/acpi/sleep/main.c 2005-01-20 14:04:47.382380928 +0100 +++ drivers/acpi/sleep/main.c 2005-01-20 14:12:29.234168784 +0100 @@ -36,7 +36,7 @@ static int init_8259A_after_S1; /** - * acpi_pm_prepare - Do preliminary suspend work. + * acpi_pm_setup - Do preliminary suspend work. * @pm_state: suspend state we're entering. * * Make sure we support the state. If we do, and we need it, set the @@ -44,7 +44,7 @@ * wakeup code to the waking vector. */ -static int acpi_pm_prepare(suspend_state_t pm_state) +static int acpi_pm_setup(suspend_state_t pm_state) { u32 acpi_state = acpi_suspend_states[pm_state]; @@ -130,7 +130,23 @@ return ACPI_SUCCESS(status) ? 0 : -EFAULT; } +/** + * acpi_pm_leave - Make system ready to resume devices. + * @pm_state: State we're coming out of. + * + * This is called after we wake back up and before device + * resume methods are called. + */ +static int acpi_pm_leave(suspend_state_t pm_state) +{ + u32 acpi_state = acpi_suspend_states[pm_state]; + + acpi_leave_sleep_state(acpi_state); + acpi_disable_wakeup_device(acpi_state); + + return 0; +} /** * acpi_pm_finish - Finish up suspend sequence. * @pm_state: State we're coming out of. @@ -143,9 +159,6 @@ { u32 acpi_state = acpi_suspend_states[pm_state]; - acpi_leave_sleep_state(acpi_state); - acpi_disable_wakeup_device(acpi_state); - /* reset firmware waking vector */ acpi_set_firmware_waking_vector((acpi_physical_address) 0); @@ -171,8 +184,10 @@ } static struct pm_ops acpi_pm_ops = { - .prepare = acpi_pm_prepare, + .prepare = NULL, + .setup = acpi_pm_setup, .enter = acpi_pm_enter, + .leave = acpi_pm_leave, .finish = acpi_pm_finish, }; ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-03-21 21:56 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-21 13:54 S3 on Asus M6R Jan Kasprzak
[not found] ` <20050321135401.GC30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>
2005-03-21 16:29 ` Carl-Daniel Hailfinger
[not found] ` <423EF660.7010906-hi6Y0CQ0nG0@public.gmane.org>
2005-03-21 17:03 ` Jan Kasprzak
[not found] ` <20050321170340.GK30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>
2005-03-21 17:34 ` Carl-Daniel Hailfinger
[not found] ` <423F05A9.6050309-hi6Y0CQ0nG0@public.gmane.org>
2005-03-21 17:39 ` Jan Kasprzak
[not found] ` <20050321173912.GN30293-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>
2005-03-21 19:56 ` Stefan Dösinger
[not found] ` <200503212056.20589.stefandoesinger-RbZlAiThDcE@public.gmane.org>
2005-03-21 21:02 ` Jan Kasprzak
[not found] ` <20050321210217.GF14356-0hYGf3jDe+XrBKCeMvbIDA@public.gmane.org>
2005-03-21 21:56 ` Stefan Dösinger
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox