suspend/resume issues on ThinkPad T41 under 5.2.1-RELEASE
Dan Langille
dan at langille.org
Mon Jun 14 01:31:46 GMT 2004
On 13 Jun 2004 at 17:46, Kevin Oberman wrote:
> > From: "Dan Langille" <dan at langille.org>
> > Date: Sun, 13 Jun 2004 19:21:00 -0400
> > Sender: owner-freebsd-mobile at freebsd.org
> >
> > I've got 5.2.1 running on my ThinkPad T41. I have no settings in
> > /etc/sysctl.conf.
> >
> > /boot/loader.conf contains:
> > hw.pci.allow_unsupported_io_range="1"
> > hw.cbb.start_memory="0xc0210000"
> >
> > The first is to get em0 running. The second is to avoid memory
> > conflicts.
> >
> > I'm trying ACPI.
> >
> > $ sysctl hw.acpi.supported_sleep_state sysctl hw.acpi.s4bios
> > hw.acpi.supported_sleep_state: S3 S4 S5
> > hw.acpi.s4bios: 0
> >
> > S4OS and and S5 both suspend, but I cannot resume (ie. opening the
> > laptop doesn't power up the box, and I've tried various key pressing
> > combinations, but nothing happens unless I press the power button).
> >
> > "acpiconf -s 3" does suspend the box. When resuming, I get this in
> > /var/log/messages:
> >
> > Jun 13 18:48:34 laptop sudo: dan : TTY=ttyp1 ; PWD=/usr/home/dan
> > ; USER=root ; COMMAND=/usr/sbin/acpiconf -s S3
> > Jun 13 18:48:43 laptop kernel: pcib0: slot 29 INTA is routed to irq
> > 11
> > Jun 13 18:48:43 laptop kernel: pcib0: slot 29 INTB is routed to irq
> > 11
> > Jun 13 18:48:43 laptop kernel: pcib0: slot 29 INTC is routed to irq
> > 11
> > Jun 13 18:48:43 laptop kernel: pcib0: slot 29 INTD is routed to irq
> > 11
> > Jun 13 18:48:44 laptop kernel: pcib0: slot 31 INTB is routed to irq
> > 11
> > Jun 13 18:48:44 laptop last message repeated 2 times
> > Jun 13 18:48:44 laptop kernel: pcib1: slot 0 INTA is routed to irq 11
> > Jun 13 18:48:44 laptop kernel: usb0: cannot start
> > Jun 13 18:48:44 laptop kernel: usb1: cannot start
> > Jun 13 18:48:44 laptop kernel: usb2: cannot start
> > Jun 13 18:48:44 laptop kernel: pcib2: slot 0 INTA is routed to irq 11
> > Jun 13 18:48:44 laptop kernel: pcib2: slot 0 INTB is routed to irq 11
> > Jun 13 18:48:44 laptop kernel: pcib2: slot 1 INTA is routed to irq 11
> > Jun 13 18:48:44 laptop kernel: pcib2: slot 2 INTA is routed to irq 11
> > Jun 13 18:48:44 laptop kernel: wakeup from sleeping state (slept
> > 00:00:08)
> > Jun 13 18:48:44 laptop kernel: uhub0: illegal enable change, port 1
> > Jun 13 18:48:44 laptop kernel: uhub1: illegal enable change, port 1
> > Jun 13 18:48:44 laptop kernel: uhub2: illegal enable change, port 1
> > Jun 13 18:48:45 laptop kernel: uhub0: port 1 reset failed
> > Jun 13 18:48:45 laptop kernel: uhub0: illegal enable change, port 2
> > Jun 13 18:48:45 laptop kernel: uhub1: port 1 reset failed
> > Jun 13 18:48:45 laptop kernel: uhub1: illegal enable change, port 2
> > Jun 13 18:48:45 laptop kernel: uhub2: port 1 reset failed
> > Jun 13 18:48:45 laptop kernel: uhub2: illegal enable change, port 2
> > Jun 13 18:48:46 laptop kernel: uhub0: port 2 reset failed
> > Jun 13 18:48:46 laptop kernel: uhub0: illegal enable change, port 1
> > repeat....
> >
> > Plus a blinking cursor top left corner.
> >
> > Any ideas? http://www.freebsd.org/cgi/query-pr.cgi?pr=59747
> > indicates that this is a known problem. Do I have options other than
> > removing USB support from the kernel?
> >
> > Ideas? Comments?
>
> First, S5 is a very deep sleep...power off. It only resumes by powering
> up and booting.
Heh, sounds like it's a "shutdown -h now", which is more or less what
I saw on the screen the last time I tried.
> S4 is suspend to disk. It requires that you build a hibernation
> partition on the hard drive. Without it, S4 will not work (but you
> noticed that.). This is indicated by the value of hw.acpi.s4bios.
The lack of a hibernation partition is indicated the value of
hw.acpi.s4bios? That's interesting. I will try a hibernation
partition. From the sounds of it, it sounds like the best suspend
strategy. I now have a clear milestone which will indicate I'm good
to go with hibernation.
> To get S3 (suspend to RAM) to work, I'd suggest building a kernel
> without SMP or APIC. The messages you are reporting are indicative of
> problems figuring out the interrupt routing for multiple processors,
> but you have only a single CPU. Turning off APIC (and SMP it it's
> enabled) should return to the simpler interrupt delivery.
Thank you for that. This explains a few things... I had removed the
above two devices from my kernel. Upon rechecking, I see I did a
make buildkernel KENCONF=LAPTOP.... and KENCONF != KERNCONF....
After compiling the correct kernel (the above worked on GENERIC by
default), I no longer have the uhub issues.
The existing issues after a resume are:
- blinking cursor at top left (I'll try killing moused in
/etc/suspend and starting it again in /etc/resume)
- em0 is dead upon resume (I'll try killing dhclient, and starting it
again, as well as setting). I keep getting
laptop kernel: em0: The EEPROM Checksum Is Not Valid
laptop kernel: em0: Unable to initialize the hardware
At boot time, this problem is avoided with the following entry in
/boot/loader.conf
hw.pci.allow_unsupported_io_range="1"
Any ideas how to set that upon resume?
--
Dan Langille : http://www.langille.org/
BSDCan - http://www.bsdcan.org/
More information about the freebsd-mobile
mailing list