Subject: thinkpad X30 apm lockups anyone?
To: None <port-i386@netbsd.org>
From: Christoph Badura <bad@bsd.de>
List: port-i386
Date: 01/29/2003 21:00:22
Hi,

I have a new T30 thinkpad that locks up hard when left idle for a while.
Or when I try to switch off the display (Fn-F3) or enter suspend mode (Fn-F4)
from the keyboard.  Has anyone else seen this too?

I've tried APM_DISABLE_INTERRUPTS=0 in the kernel config file and various
of the other APM related options, including APM_NO_V12, all to no avail.

I've tried 1.6.1_RC1 kernels from yesterday and -current from today.
Both with the same result.

When it locks up, it doesn't respond to keyboard presses, and the fxp0
stops responding, too.  Of course, I can't enter DDB.

The only intersting thing I've noticed in the kernel messages when
booting with apmdebug=0xff is that it apparently wants a 64K datasegment
starting at 0x400.

The BIOS is the latest version 2.01.

Any ideas?

dmesg output:
NetBSD 1.6.1_RC1 (_ne_) #5: Wed Jan 29 14:17:50 MET 2003
    bad@nervous-energy:/u/1/src/sys/arch/i386/compile/_ne_
cpu0: Intel Pentium 4 (686-class), 1798.55 MHz
cpu0: D-cache 8 KB 64b/line 4-way
cpu0: L2 cache 512 KB 64b/line 8-way
cpu0: features 3febf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 3febf9ff<PGE,MCA,CMOV,FGPAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu0: features 3febf9ff<FXSR,SSE,SSE2,SS,HTT,TM>
total memory = 510 MB
avail memory = 469 MB
using 6144 buffers containing 26264 KB of memory
BIOS32 rev. 0 found at 0xfd7e0
PCI BIOS rev. 2.1 found at 0xfd8fe
pcibios: config mechanism [1][x], special cycles [x][x], last bus 8
PCI IRQ Routing Table rev. 1.0 found at 0xfdeb0, size 256 bytes (14 entries)
PCI Interrupt Router at 000:31:0 (Intel 82371FB PCI-to-ISA Bridge (PIIX))
pciintr_link_alloc: bus 2 device 8: link 0x68 invalid
pciintr_link_alloc: bus 0 device 29: link 0x6b invalid
------------------------------------------
  device vendor product pin PIRQ IRQ stage
------------------------------------------
000:29:0 0x8086 0x2482   A  0x00  11  0    already assigned
000:29:1 0x8086 0x2484   B  0x03  11  0    already assigned
000:29:2 0x8086 0x2487   C  0x02  11  0    already assigned
000:31:1 0x8086 0x248a   A  0x02  11  0    fixed up
000:31:3 0x8086 0x2483   B  0x01  11  0    already assigned
000:31:5 0x8086 0x2485   B  0x01  11  0    already assigned
000:31:6 0x8086 0x2486   B  0x01  11  0    already assigned
001:00:0 0x1002 0x4c57   A  0x00  11  0    already assigned
002:00:0 0x104c 0xac55   A  0x00  11  0    already assigned
002:00:1 0x104c 0xac55   B  0x01  11  0    already assigned
------------------------------------------
PCI fixup examining 8086:1a30
PCI fixup examining 8086:1a31
PCI fixup examining 1002:4c57
PCI bridge 0: primary 0, secondary 1, subordinate 1
PCI fixup examining 8086:2482
PCI fixup examining 8086:2484
PCI fixup examining 8086:2487
PCI fixup examining 8086:2448
PCI fixup examining 104c:ac55
PCI bridge 2: primary 2, secondary 3, subordinate 3
PCI fixup examining 104c:ac55
PCI bridge 3: primary 2, secondary 4, subordinate 4
PCI fixup examining 8086:1031
PCI bridge 1: primary 0, secondary 2, subordinate 4
PCI fixup examining 8086:248c
PCI fixup examining 8086:248a
PCI fixup examining 8086:2483
PCI fixup examining 8086:2485
PCI fixup examining 8086:2486
PCI bus #4 is the last bus
[System BIOS Setting]-----------------------
  device vendor product
  register space address    size
--------------------------------------------
000:00:0 0x8086 0x1a30 
	10h mem  0xe0000000 0x04000000
		[OK]
000:01:0 0x8086 0x1a31 
		[OK]
000:29:0 0x8086 0x2482 
	20h port 0x00001800 0x00000020
		[OK]
000:29:1 0x8086 0x2484 
	20h port 0x00001820 0x00000020
		[OK]
000:29:2 0x8086 0x2487 
	20h port 0x00001840 0x00000020
		[OK]
000:30:0 0x8086 0x2448 
		[OK]
000:31:0 0x8086 0x248c 
		[OK]
000:31:1 0x8086 0x248a 
	10h port 0x000001f0 0x00000008
	14h port 0x000003f4 0x00000004
	18h port 0x00000170 0x00000008
	1ch port 0x00000374 0x00000004
	20h port 0x00001860 0x00000010
	24h mem  0x00000000 0x00000400
		[NG]
000:31:3 0x8086 0x2483 
	20h port 0x00001880 0x00000020
		[OK]
000:31:5 0x8086 0x2485 
	10h port 0x00001c00 0x00000100
	14h port 0x000018c0 0x00000040
		[OK]
000:31:6 0x8086 0x2486 
	10h port 0x00002400 0x00000100
	14h port 0x00002000 0x00000080
		[OK]
001:00:0 0x1002 0x4c57 
	10h mem  0xe8000000 0x08000000
	14h port 0x00003000 0x00000100
	18h mem  0xd0100000 0x00010000
		[OK]
002:00:0 0x104c 0xac55 
	10h mem  0x50000000 0x00001000
		[OK]
002:00:1 0x104c 0xac55 
	10h mem  0x51000000 0x00001000
		[OK]
002:08:0 0x8086 0x1031 
	10h mem  0xd0200000 0x00001000
	14h port 0x00008000 0x00000040
		[OK]
--------------------------[  1 devices bogus]
 Physical memory end: 0x1ff58000
 PCI memory mapped I/O space start: 0x20000000
[PCIBIOS fixup stage]-----------------------
  device vendor product
  register space address    size
--------------------------------------------
000:00:0 0x8086 0x1a30 
	10h mem  0xe0000000 0x04000000
		[OK]
000:01:0 0x8086 0x1a31 
		[OK]
000:29:0 0x8086 0x2482 
	20h port 0x00001800 0x00000020
		[OK]
000:29:1 0x8086 0x2484 
	20h port 0x00001820 0x00000020
		[OK]
000:29:2 0x8086 0x2487 
	20h port 0x00001840 0x00000020
		[OK]
000:30:0 0x8086 0x2448 
		[OK]
000:31:0 0x8086 0x248c 
		[OK]
000:31:1 0x8086 0x248a 
	10h port 0x000001f0 0x00000008
	14h port 0x000003f4 0x00000004
	18h port 0x00000170 0x00000008
	1ch port 0x00000374 0x00000004
	20h port 0x00001860 0x00000010
	24h mem  0x20000000 0x00000400
		[OK]
000:31:3 0x8086 0x2483 
	20h port 0x00001880 0x00000020
		[OK]
000:31:5 0x8086 0x2485 
	10h port 0x00001c00 0x00000100
	14h port 0x000018c0 0x00000040
		[OK]
000:31:6 0x8086 0x2486 
	10h port 0x00002400 0x00000100
	14h port 0x00002000 0x00000080
		[OK]
001:00:0 0x1002 0x4c57 
	10h mem  0xe8000000 0x08000000
	14h port 0x00003000 0x00000100
	18h mem  0xd0100000 0x00010000
		[OK]
002:00:0 0x104c 0xac55 
	10h mem  0x50000000 0x00001000
		[OK]
002:00:1 0x104c 0xac55 
	10h mem  0x51000000 0x00001000
		[OK]
002:08:0 0x8086 0x1031 
	10h mem  0xd0200000 0x00001000
	14h port 0x00008000 0x00000040
		[OK]
--------------------------[  0 devices bogus]
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82845 Host (rev. 0x04)
pchb0: random number generator enabled
agp0 at pchb0: aperture at 0xe0000000, size 0x4000000
ppb0 at pci0 dev 1 function 0: Intel 82845 AGP (rev. 0x04)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: ATI Technologies product 0x4c57 (rev. 0x00)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
uhci0 at pci0 dev 29 function 0: Intel 82801CA/CAM USB Controller (rev. 0x02)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801CA/CAM USB Controller (rev. 0x02)
uhci1: interrupting at irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801CA/CAM USB Controller (rev. 0x02)
uhci2: interrupting at irq 11
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ppb1 at pci0 dev 30 function 0: Intel 82801BAM Hub-to-PCI Bridge (rev. 0x42)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
cbb0 at pci2 dev 0 function 0: Texas Instruments product 0xac55 (rev. 0x01)
cbb1 at pci2 dev 0 function 1: Texas Instruments product 0xac55 (rev. 0x01)
fxp0 at pci2 dev 8 function 0: Intel PRO/100 VE Network Controller, rev 66
fxp0: interrupting at irq 11
fxp0: Ethernet address 00:09:6b:d0:17:70
ukphy0 at fxp0 phy 1: Generic IEEE 802.3u media interface
ukphy0: i82562ET 10/100 media interface (OUI 0x005500, model 0x0033), rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
cbb0: interrupting at irq 11
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0
pcmcia0 at cardslot0
cbb1: interrupting at irq 11
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 4 device 0
pcmcia1 at cardslot1
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801CAM LPC Interface (rev. 0x02)
pciide0 at pci0 dev 31 function 1: Intel 82801CA IDE Controller (rev. 0x02)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <FUJITSU MHR2020AT>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 19077 MB, 16383 cyl, 15 head, 63 sec, 512 bytes/sect x 39070080 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
atapibus0 at pciide0 channel 1: 2 targets
cd0 at atapibus0 drive 0: <HL-DT-STCD-RW/DVD DRIVE GCC-4160N, , 0012> type 5 cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
pciide0: secondary channel interrupting at irq 15
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
Intel 82801CA/CAM SMBus Controller (SMBus serial bus, revision 0x02) at pci0 dev 31 function 3 not configured
auich0 at pci0 dev 31 function 5: i82801CA AC-97 Audio
auich0: interrupting at irq 11
auich0: ADS72 codec; headphone, Analog Devices Phat Stereo
audio0 at auich0: full duplex, mmap, independent
Intel 82801CA/CAM Modem (modem communications, revision 0x02) at pci0 dev 31 function 6 not configured
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
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
lpt2 at isa0 port 0x3bc-0x3bf irq : polled
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
isapnp0: no ISA Plug 'n Play devices found
apm: bioscall return: 102 504d 3 0 202<IEN> 0 0
apm0 at mainbus0: bioscall return: c0da0102 c021504d c0ed0003 c04c0000 202<IEN> 0 c0210000
apm0: bioscall return: c0da0304 c0210000 c0ed0000 c04c0000 247<IEN,ZF,PF,CY> 0 c0210000
apm0: bioscall return: c0daf000 5917 c0edf000 c04c0040 282<IEN,NF> ffffffff c021ffff
apm0: data segment oversized: [400,10400); resized to [400,1000)
apm0: code32len=10000, datalen=c00
apm0: mapping bios data area 400 @ 0xe2988400
apm0: detail 30102 32b:f0000/0xc05f3000/10000 16b:f0000/0xc05f3000/10000 data 400/0xc0503400/c00 ep 5917 (48:0xc05f8917) 0xc052a030
apm0: apmcall@458: driver_version/0xe (line=957) in: bx=0 cx=0x102  => out: ax=0x102 
Power Management spec V1.2
apmcall@458: get_caps/0x10 (line=918) in: bx=0  => out: bx=0x2 cx=0xab 
apm: 2 batteries, global standby, global suspend, rtimer suspend, internal standby, pccard standby
apmcall@458: engage_power_mgt/0xf (line=829) in: bx=0x1 cx=0x1  => 
apmcall@459: get_power_status/0xa (line=1003) in: bx=0x1  => out: bx=0x100 cx=0x161 dx=0xffff si=0x1 
apmcall@459: get_event/0xb (line=741)  => error 0x80 (no pending events)
biomask effd netmask effd ttymask ffff
apmcall@459: get_event/0xb (line=741)  => error 0x80 (no pending events)
boot device: wd0
root on wd0a dumps on wd0b
apmcall@460: get_event/0xb (line=741)  => error 0x80 (no pending events)
root file system type: ffs
apmcall@461: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@462: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@464: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@465: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@466: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@467: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@468: get_event/0xb (line=741)  => error 0x80 (no pending events)
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
apmcall@469: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@470: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmopen: pid 176 flag 3 mode 2000
apmcall@470: get_caps/0x10 (line=918) in: bx=0  => out: bx=0x2 cx=0xab 
apm: 2 batteries, global standby, global suspend, rtimer suspend, internal standby, pccard standby
apmcall@470: get_power_status/0xa (line=1003) in: bx=0x1  => out: bx=0x100 cx=0x161 dx=0xffff si=0x1 
apmcall@471: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@473: get_event/0xb (line=741)  => error 0x80 (no pending events)
apmcall@474: get_event/0xb (line=741)  => error 0x80 (no pending events)
...

--chris