Summary
=======
I have a problem with suspend-to-RAM on an IBM/Lenovo ThinkPad T41p
running OpenBSD 4.1-stable.  Basically, suspend-to-RAM works fine if
I'm not running X, but hangs the system if I'm running X.  My basic
question is, has anyone gotten suspend-to-RAM to work while X is
running on a T41p, and if so, how did you do it?

Details
=======
hardware: IBM/Lenovo ThinkPad T41p laptop, model 2373-221, dmesg
          is given below.  The entire disk is devoted to OpenBSD; I
          wiped the IBM/Lenovo recovery partition to get more disk
          space for OpenBSD
software: OpenBSD 4.1-stable, last cvs updated 7.Jun.2007.
          rc.conf.local starts apmd with the -C flag

What works fine:
* automatic clock speed adjustment (done by apmd)
* powerdown with 'halt -p'
* suspend-to-RAM if X is *not* running:
  boot the machine
  login (as either root or my normal non-root login)
  do stuff in a console shell *without* starting X
  type 'zzz' ==> the moon-shaped status light blinks a few times,
                 the machine beeps,
                 and in a second or two it goes into suspend-to-RAM
                 state (disk and fan are off)
  press 'Fn' key, or close and then re-open the lid
             ==> machine recovers from suspend-to-RAM and works normally

What doesn't work:
* boot the machine
  login (as either root or my normal non-root login)
  type 'startx&;logout'
  X starts
  type 'zzz' in an xterm
        ==> the moon-shaped status light starts blinking
            and keeps on blinking, disk and fan stay running,
            and the machine is hung (all keyboard input is ignored,
            including 'Fn' and 'Fn-F4'; I have to power-cycle it
            to regain control (which in turn requires fsck-ing all
            mounted the file systems etc))
* something else that doesn't work is this:
  boot the machine
  login (as either root or my normal non-root login)
  type 'startx&;logout'
  X starts
  shut down X
  login again to console shell
  type 'zzz' ==> same symptoms as when I tried it under X

In summary, suspend-to-RAM works fine if I don't use X, but if X is
running, or even _has_ run since I last booted the machine, then
suspend-to-RAM hangs the machine. :( :(

Can anyone point me to how to get suspend-to-RAM to work with X
(under OpenBSD -- I don't want to change OSs)?

Here's my dmesg:
OpenBSD 4.1-stable (GENERIC) #1: Thu Jun  7 10:55:58 CEST 2007
    [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) M processor 1700MHz ("GenuineIntel" 686-class) 599 MHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,TM,SBF,EST,TM2
real mem  = 535785472 (523228K)
avail mem = 481177600 (469900K)
using 4278 buffers containing 26914816 bytes (26284K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+ BIOS, date 04/07/04, BIOS32 rev. 0 @ 0xfd750, SMBIOS 
rev. 2.33 @ 0xe0010 (61 entries)
bios0: IBM 2373221
apm0 at bios0: Power Management spec V1.2
apm0: battery life expectancy 98%
apm0: AC off, battery charge high, estimated 3:16 hours
apm0: flags 30102 dobusy 0 doidle 1
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 0xd0000/0x1000 0xd1000/0x1000 0xdc000/0x4000! 
0xe0000/0x10000
acpi at mainbus0 not configured
cpu0 at mainbus0
cpu0: Enhanced SpeedStep 600 MHz (956 mV): speeds: 1700, 1400, 1200, 1000, 800, 
600 MHz
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82855PE Hub" rev 0x03
ppb0 at pci0 dev 1 function 0 "Intel 82855PE AGP" rev 0x03
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 vendor "ATI", unknown product 0x4e54 rev 0x80
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
uhci0 at pci0 dev 29 function 0 "Intel 82801DB USB" rev 0x01: irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1 "Intel 82801DB USB" rev 0x01: irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2 "Intel 82801DB USB" rev 0x01: irq 11
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7 "Intel 82801DB USB" rev 0x01: irq 11
usb3 at ehci0: USB revision 2.0
uhub3 at usb3
uhub3: Intel EHCI root hub, rev 2.00/1.00, addr 1
uhub3: 6 ports with 6 removable, self powered
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:0d:60:8e:fe:9e
ipw0 at pci2 dev 2 function 0 "Intel PRO/Wireless 2100" rev 0x04: irq 11, 
address 00:0c:f1:32:c4:4c
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
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: <HTS726060M9AT00>
wd0: 16-sector PIO, LBA, 57231MB, 117210240 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
cd0 at scsibus0 targ 0 lun 0: <TOSHIBA, DVD-ROM SD-R9012, 1121> SCSI0 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
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
isa0 at ichpcib0
isadma0 at isa0
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
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
biomask effd netmask effd ttymask ffff
pctr: 686-class user-level performance counters enabled
mtrr: Pentium Pro MTRR support
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302

-- 
-- "Jonathan Thornburg -- remove -animal to reply" <[EMAIL PROTECTED]>
   Max-Planck-Institut fuer Gravitationsphysik (Albert-Einstein-Institut)
   and School of Mathematics, U of Southampton, England
   "Washing one's hands of the conflict between the powerful and the
    powerless means to side with the powerful, not to be neutral."
                                      -- quote by Freire / poster by Oxfam

Reply via email to