Summary
=======
I have an IBM/Lenove Thinkpad T42 (model 2373-9XU, dmesg below)
running 4.4-stable.  apm & speedstep work fine, but when I try to
suspend-to-RAM (either with Fn-F4 or with /usr/sbin/zzz):
* About half of the time it works perfectly: the "moon" light under
  the display blinks for a second or two, then there's a beep and
  the power light goes out, the moon light stays on continuously,
  the disk and fan stop, and the system is in suspend-to-RAM state.
  (I can wake it by pressing the Fn key or closing & then re-opening
  the lid.)
* Alas, about half of the time things don't work: the "moon" light
  starts blinking... but it keeps on blinking, the disk & fan stay
  running, and the system is hung: it won't respond to *any* keyboard
  input (including Fn, Fn-F4, and CTRL-Alt-Del).  To regain control
  I have to power-cycle the system (==> unclean shutdown ==> need to
  re-fsck filesystems on reboot).

More Information, History, dmesg
================================
Note that this issue is with suspend-to-RAM, not suspend-to-disk
(via tphdisk et al).

I had similar problems in 2007 on a T41p running 4.1-stable
(http://marc.info/?l=openbsd-misc&m=118157353605570&w=1).  The
problem turned out to be with the Radeon video driver.  The workaround
(http://marc.info/?l=openbsd-misc&m=118403957129081&w=1) was to switch
to the VESA video driver (specified in /etc/X11/xorg.conf).  This
completely solved the problem for me, at the (trivial) cost of loosing
hardware video acceleration and the XVideo extension.

When 4.2 came out, I found that the VESA workaround was no longer
necessary: suspend-to-RAM worked fine with the autoconfigured Radeon
driver (no /etc/X11/xorg.conf) with XVideo and hardware acceleration
too.

Unfortunately, changing video drivers hasn't helped with my current T42
running 4.4-stable: the problem symptoms I described above (hangs about
half of the time I suspend) are the same for all three of the following
configurations:
* let X autoconfigure everything (i.e. /etc/X11/xorg.conf does NOT
  exist; X detects the Radeon video and loads the Radeon driver)
* /etc/X11/xorg.conf exists and specifies the Radeon driver
* /etc/X11/xorg.conf exists and specifies the VESA driver
  (I checked /var/log/Xorg.0.log and verified that X is indeed
  loading the VESA driver)

In a recent thread on openbsd-tech discussing similar problems
with some other Thinkpad models, Dan Harnett suggested 
(http://marc.info/?l=openbsd-tech&m=123127247930921&w=1):
> Does your system suspend/resume fine when not in X?  If so, a workaround
> with zzz is to create scripts named /etc/apm/suspend and /etc/apm/resume
> to switch out of X before suspending, and switch back after resuming.
> You can use wsconsctl with the display.focus variable to do so.

I tried this, but it didn't help.  The system would nicely switch
out of X, and back in to X if it resumed... but it would still hang
(same symptoms as above) on about half of my suspend attempts.


So...  Can anyone suggest how to get suspend-to-RAM to work reliably
on this T42?

[One other point that might be relevant:  My /etc/fstab lists the
usual /, /var, and /usr partitions, /tmp and /usr/tmp mfs, then /data,
but not /home.  /home is an svnd-encrypted filesystem mounted on top
of /data/home.{dat,salt}; when I boot I login as root and (run a perl
script which runs) vnconfig & mount to bring /home up, then logout
and login as my normal username (with home directory under /home)
before starting X.  I don't use xdm.]

dmesg:
--- begin dmesg ---
OpenBSD 4.4-stable (GENERIC) #0: Wed Jan 21 13:04:22 EST 2009
    r...@oxygen.astro.indiana.edu:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) M processor 1.80GHz ("GenuineIntel" 686-class) 1.80 
GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,SBF,EST,TM2
real mem  = 2146398208 (2046MB)
avail mem = 2067062784 (1971MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 02/27/06, BIOS32 rev. 0 @ 0xfd750, SMBIOS 
rev. 2.33 @ 0xe0010 (61 entries)
bios0: vendor IBM version "1RETDOWW (3.20 )" date 02/27/2006
bios0: IBM 2373997
apm0 at bios0: Power Management spec V1.2
apm0: battery life expectancy 100%
apm0: AC on, battery charge high
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 @ 0xfd6e0/0x920
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdea0/272 (15 entries)
pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #6 is the last bus
bios0: ROM list: 0xc0000/0x10000 0xe0000/0x10000
cpu0 at mainbus0
cpu0: Enhanced SpeedStep 1800 MHz (1340 mV): speeds: 1800, 1600, 1400, 1200, 
1000, 800, 600 MHz
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82855PM Host" rev 0x03
ppb0 at pci0 dev 1 function 0 "Intel 82855PM AGP" rev 0x03
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "ATI Radeon Mobility M10 NP" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
agp0 at vga1: aperture at 0xd0000000, size 0x10000000
drm at vga1 unsupported
uhci0 at pci0 dev 29 function 0 "Intel 82801DB USB" rev 0x01: irq 11
uhci1 at pci0 dev 29 function 1 "Intel 82801DB USB" rev 0x01: irq 11
uhci2 at pci0 dev 29 function 2 "Intel 82801DB USB" rev 0x01: irq 11
ehci0 at pci0 dev 29 function 7 "Intel 82801DB USB" rev 0x01: irq 11
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x81
pci2 at ppb1 bus 2
cbb0 at pci2 dev 0 function 0 "TI PCI4520 CardBus" rev 0x01: irq 11
cbb1 at pci2 dev 0 function 1 "TI PCI4520 CardBus" rev 0x01: irq 11
em0 at pci2 dev 1 function 0 "Intel PRO/1000MT (82540EP)" rev 0x03: irq 11, 
address 00:16:41:ab:96:3c
ath0 at pci2 dev 2 function 0 "Atheros AR5212 (IBM MiniPCI)" rev 0x01: irq 11
ath0: AR5213 5.6 phy 4.1 rf5111 1.7 rf2111 2.3, WOR1W, address 00:05:4e:45:c8:39
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0 cacheline 0x8, lattimer 0xb0
pcmcia0 at cardslot0
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 6 device 0 cacheline 0x8, lattimer 0xb0
pcmcia1 at cardslot1
ichpcib0 at pci0 dev 31 function 0 "Intel 82801DBM LPC" rev 0x01: 24-bit timer 
at 3579545Hz
pciide0 at pci0 dev 31 function 1 "Intel 82801DBM IDE" rev 0x01: DMA, channel 0 
configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <Hitachi HTS541616J9AT00>
wd0: 16-sector PIO, LBA48, 152627MB, 312581808 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets, initiator 7
cd0 at scsibus0 targ 0 lun 0: <TOSHIBA, DVD-ROM SD-R9012, 1121> ATAPI 5/cdrom 
removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
ichiic0 at pci0 dev 31 function 3 "Intel 82801DB SMBus" rev 0x01: irq 11
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 1GB DDR SDRAM non-parity PC2700CL2.5
spdmem1 at iic0 addr 0x51: 1GB DDR SDRAM non-parity PC2700CL2.5
auich0 at pci0 dev 31 function 5 "Intel 82801DB AC97" rev 0x01: irq 11, ICH4 
AC97
ac97: codec id 0x41445374 (Analog Devices AD1981B)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auich0
"Intel 82801DB Modem" rev 0x01 at pci0 dev 31 function 6 not configured
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt2 at isa0 port 0x3bc/4: polled
aps0 at isa0 port 0x1600/31
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
biomask efed netmask efed ttymask ffff
mtrr: Pentium Pro MTRR support
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
--- end dmesg ---

ciao,

-- 
-- "Jonathan Thornburg [remove -animal to reply]" 
<jth...@astro.indiana-zebra.edu>
   Dept of Astronomy, Indiana University, Bloomington, Indiana, USA
   "Reality is that which, when you stop believing in it, doesn't go away."
                                                          -- Philip K. Dick

Reply via email to