Date: Fri, 14 Jan 2011 18:26:32 +0300 From: Alexandr Matveev <timon@timon.net.nz> To: freebsd-acpi@freebsd.org Subject: Thinkpad suspend/resume problem Message-ID: <4D306B28.1030001@timon.net.nz>
next in thread | raw e-mail | index | archive | help
Hello I have IBM/Lenovo T61p laptop. Everything works fine except one thing - suspend/resume. I know that at present moment there a lots of work that need to be done before it will be reliable, but I want to help to improve it. My system: OS: FreeBSD-CURRENT ( cvsup at 14 Jan 2011 ) Usual dmesg output ( with all drivers loaded ): http://timon.net.nz/freebsd/acpi/dmesg.txt dmesg output after "boot -v" ( with all drivers loaded ): http://timon.net.nz/freebsd/acpi/dmesg.verbose.txt dmesg output after "boot -v" on generic kernel ( no additional drivers loaded ): http://timon.net.nz/freebsd/acpi/dmesg.verbose.generic.txt 'sysctl hw.acpi' output: http://timon.net.nz/freebsd/acpi/hw.acpi.txt ASL: http://timon.net.nz/freebsd/acpi/lenovo-t61p.asl.txt Main problem: Suspend seems to work fine ( after 'acpiconf -s 3' sleep indicator start flashing for a second, then everything power off and indicator stand on ), but system doesn't resume after suspend: after pressing power button hard drive spin-up and DVD-drive powered up, Num Lock and Caps Lock indicator light up for a moment, hard drive led light up for a 2 seconds, then led turns off and nothing happens next. Sleep indicator stays turned on all this time. What I already tried and discover: 0) Suspend and resume don't work both on i386 and amd64 kernels; 1) Simple test sysctl debug.bootverbose=1 sysctl debug.acpi.suspend_bounce=1 acpiconf -s 3 works fine: system successfuly emulates switching to S3 and back to S0 modes; 2) Mini-kernel ( config http://timon.net.nz/freebsd/acpi/mini.txt ) don't resume after sleep too. Even if APIC is disabled. 3) I can't test that system wake up ( and so go sleep ) correctly by setting sysctl debug.acpi.resume_beep=1 because my laptop don't have separate speaker on main board and speaker output connected to Intel HDA mixer, therefore, speaker don't work immedeatly after system startup; 4) Replace resume_beep in wakeup code with code that light on Num Lock and Caps Lock keyboard indicators don't have effect; 5) BIOS have switch "Power Control Beep" turned on. Description of this switch says: "Enable this option to have a beep sound when: the system enters suspend mode; the system resumes from suspend mode; the system enters hibernation mode; the system resumes from hibernation mode: the AC adapter is connected or disconnected". Laptop produce a sound when I disconnect and connect AC adapter, but don't produce any sound on suspend and resume; My conclusions: Because system don't flash on lights (4) and don't produce any sound on resume (5) I think that system don't propertly go to sleep. What I want to try next: 0) Try to output something to COM-port on wakeup code; 1) Try to get POST-code from laptop when it resume from sleep; 2) Try to use null-modem cable to record all possible debug information from console when laptop goes to suspend mode. Questions to community: 0) In what direction to look for a bug? 1) How can I test that system suspend itself correctly? -- Alexandr Matveev
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D306B28.1030001>