IBM T41 adventures

Model Name: 23739FG, Part Number: TC19FNU

Specs: 1.7 GHz Pentium M, 512 MB RAM, 60 GB Harddisk, 1400x1050 14,1" TFT LCD, ATI Mobility Radeon 9000 M9, Atheros 802.11[abg] WaveLAN, bluetooth, security chip, CDRW / DVD drive, 2 USB 2.0 slots, 2 Cardbus / PCMCIA slots, audio, S-VHS out, VGA out, thinklight, modem.

This page is very much work in progress.

Hardware drivers for NetBSD and Linux

Hardware NetBSD Linux
Atheros AR5212 miniPCI (802.11[abg] wireless) ath MadWiFi
Bluetooth bthci Bluez
ATI Radeon Mobility 9000 M9 XFree86, radeon driver
Pentium Mobile speedstep yes (via sysctl machdep.est.* and this) cpufreq?
harddisk piixide ide
CDRW / DVD piixide ide-scsi
USB ohci / ehci ohci / ehci
audio auich i810_audio
GbE wm e1000
modem probably none AgereSoftModem
security chip tcpd tpm

So everything works with Linux and almost everything works with NetBSD (no modem). Happy happy joy joy.

Some little-documented features:

To get the Synaptics trackpoint fully working, this page may be useful.

There is also a T41 model with the crappy Intel 2100 wireless mini-pci card. This is supported by the ipw(4) driver in NetBSD-current.

NetBSD boot kernel messages



NetBSD 2.0E (TOTORO) #10: Thu May 20 23:58:37 CEST 2004
	root@totoro:/usr/src/sys/arch/i386/compile/TOTORO
total memory = 510 MB
avail memory = 494 MB
BIOS32 rev. 0 found at 0xfd750
PCI BIOS rev. 2.1 found at 0xfd8d6
pcibios: config mechanism [1][x], special cycles [x][x], last bus 8
PCI IRQ Routing Table rev. 1.0 found at 0xfdea0, size 272 bytes (15 entries)
PCI Interrupt Router at 000:31:0 (Intel 82371FB PCI-to-ISA Bridge (PIIX) compatible)
------------------------------------------
  device vendor product pin PIRQ IRQ stage
------------------------------------------
000:29:0 0x8086 0x24c2   A  0x00  11  0    already assigned
000:29:1 0x8086 0x24c4   B  0x03   5  0    already assigned
000:29:2 0x8086 0x24c7   C  0x02   4  0    already assigned
000:29:7 0x8086 0x24cd   D  0x07  10  0    already assigned
000:31:1 0x8086 0x24ca   A  0x02   4  0    fixed up
000:31:3 0x8086 0x24c3   B  0x01   3  0    already assigned
000:31:5 0x8086 0x24c5   B  0x01   3  0    already assigned
000:31:6 0x8086 0x24c6   B  0x01   3  0    already assigned
001:00:0 0x1002 0x4c66   A  0x00  11  0    already assigned
002:00:0 0x104c 0xac46   A  0x00  11  0    already assigned
002:00:1 0x104c 0xac46   B  0x01   3  0    already assigned
002:01:0 0x8086 0x101e   A  0x00  11  0    already assigned
002:02:0 0x168c 0x1014   A  0x02   4  0    already assigned
------------------------------------------
PCI fixup examining 8086:3340
PCI fixup examining 8086:3341
PCI fixup examining 1002:4c66
PCI bridge 0: primary 0, secondary 1, subordinate 1
PCI fixup examining 8086:24c2
PCI fixup examining 8086:24c4
PCI fixup examining 8086:24c7
PCI fixup examining 8086:24cd
PCI fixup examining 8086:2448
PCI fixup examining 104c:ac46
PCI bridge 2: primary 2, secondary 3, subordinate 3
PCI fixup examining 104c:ac46
PCI bridge 3: primary 2, secondary 4, subordinate 4
PCI fixup examining 8086:101e
PCI fixup examining 168c:1014
PCI bridge 1: primary 0, secondary 2, subordinate 4
PCI fixup examining 8086:24cc
PCI fixup examining 8086:24ca
PCI fixup examining 8086:24c3
PCI fixup examining 8086:24c5
PCI fixup examining 8086:24c6
PCI bus #4 is the last bus
[System BIOS Setting]-----------------------
  device vendor product
  register space address    size
--------------------------------------------
000:00:0 0x8086 0x3340 
	10h mem  0xd0000000 0x10000000
		[OK]
000:01:0 0x8086 0x3341 
		[OK]
000:29:0 0x8086 0x24c2 
	20h port 0x00001800 0x00000020
		[OK]
000:29:1 0x8086 0x24c4 
	20h port 0x00001820 0x00000020
		[OK]
000:29:2 0x8086 0x24c7 
	20h port 0x00001840 0x00000020
		[OK]
000:29:7 0x8086 0x24cd 
	10h mem  0xc0000000 0x00000400
		[OK]
000:30:0 0x8086 0x2448 
		[OK]
000:31:0 0x8086 0x24cc 
		[OK]
000:31:1 0x8086 0x24ca 
	10h port 0x00000000 0x00000008
	14h port 0x00000000 0x00000004
	18h port 0x00000000 0x00000008
	1ch port 0x00000000 0x00000004
	20h port 0x00001860 0x00000010
	24h mem  0x00000000 0x00000400
		[NG]
000:31:3 0x8086 0x24c3 
	20h port 0x00001880 0x00000020
		[OK]
000:31:5 0x8086 0x24c5 
	10h port 0x00001c00 0x00000100
	14h port 0x000018c0 0x00000040
	18h mem  0xc0000c00 0x00000200
	1ch mem  0xc0000800 0x00000100
		[OK]
000:31:6 0x8086 0x24c6 
	10h port 0x00002400 0x00000100
	14h port 0x00002000 0x00000080
		[OK]
001:00:0 0x1002 0x4c66 
	10h mem  0xe0000000 0x08000000
	14h port 0x00003000 0x00000100
	18h mem  0xc0100000 0x00010000
		[OK]
002:00:0 0x104c 0xac46 
	10h mem  0xb0000000 0x00001000
		[OK]
002:00:1 0x104c 0xac46 
	10h mem  0xb1000000 0x00001000
		[OK]
002:01:0 0x8086 0x101e 
	10h mem  0xc0240000 0x00020000
	14h mem  0xc0200000 0x00010000
	18h port 0x00008000 0x00000040
		[OK]
002:02:0 0x168c 0x1014 
	10h mem  0xc0210000 0x00010000
		[OK]
--------------------------[  1 devices bogus]
 Physical memory end: 0x1ff4c000
 PCI memory mapped I/O space start: 0x20000000
[PCIBIOS fixup stage]-----------------------
  device vendor product
  register space address    size
--------------------------------------------
000:00:0 0x8086 0x3340 
	10h mem  0xd0000000 0x10000000
		[OK]
000:01:0 0x8086 0x3341 
		[OK]
000:29:0 0x8086 0x24c2 
	20h port 0x00001800 0x00000020
		[OK]
000:29:1 0x8086 0x24c4 
	20h port 0x00001820 0x00000020
		[OK]
000:29:2 0x8086 0x24c7 
	20h port 0x00001840 0x00000020
		[OK]
000:29:7 0x8086 0x24cd 
	10h mem  0xc0000000 0x00000400
		[OK]
000:30:0 0x8086 0x2448 
		[OK]
000:31:0 0x8086 0x24cc 
		[OK]
000:31:1 0x8086 0x24ca 
	10h port 0x00005800 0x00000008
	14h port 0x00005808 0x00000004
	18h port 0x00005810 0x00000008
	1ch port 0x0000580c 0x00000004
	20h port 0x00001860 0x00000010
	24h mem  0x20000000 0x00000400
		[OK]
000:31:3 0x8086 0x24c3 
	20h port 0x00001880 0x00000020
		[OK]
000:31:5 0x8086 0x24c5 
	10h port 0x00001c00 0x00000100
	14h port 0x000018c0 0x00000040
	18h mem  0xc0000c00 0x00000200
	1ch mem  0xc0000800 0x00000100
		[OK]
000:31:6 0x8086 0x24c6 
	10h port 0x00002400 0x00000100
	14h port 0x00002000 0x00000080
		[OK]
001:00:0 0x1002 0x4c66 
	10h mem  0xe0000000 0x08000000
	14h port 0x00003000 0x00000100
	18h mem  0xc0100000 0x00010000
		[OK]
002:00:0 0x104c 0xac46 
	10h mem  0xb0000000 0x00001000
		[OK]
002:00:1 0x104c 0xac46 
	10h mem  0xb1000000 0x00001000
		[OK]
002:01:0 0x8086 0x101e 
	10h mem  0xc0240000 0x00020000
	14h mem  0xc0200000 0x00010000
	18h port 0x00008000 0x00000040
		[OK]
002:02:0 0x168c 0x1014 
	10h mem  0xc0210000 0x00010000
		[OK]
--------------------------[  0 devices bogus]
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium M (Banias) (686-class), 1694.60 MHz, id 0x695
cpu0: features a7e9f9bf
cpu0: features a7e9f9bf
cpu0: features a7e9f9bf
cpu0: features2 180
cpu0: "Intel(R) Pentium(R) M processor 1700MHz"
cpu0: using thermal monitor 2
acpi0 at mainbus0
acpi0: using Intel ACPI CA subsystem version 20040211
acpi0: X/RSDT: OemId , AslId < LTP,00000000>
acpi0: found ECDT, GPE 28
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
acpi: activated PNP0C0F
acpi: activated PNP0C0F
acpi: activated PNP0501
acpi: activated PNP0400
acpi_allocate_resources: res=1
acpi: activate failed for IBM0071
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C01 at acpi0 not configured
acpilid0 at acpi0 (PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PNP0C0E): ACPI Sleep Button
PNP0A03 at acpi0 not configured
PNP0C02 at acpi0 not configured
PNP0000 at acpi0 not configured
PNP0100 at acpi0 not configured
PNP0200 at acpi0 not configured
PNP0800 at acpi0 not configured
PNP0C04 at acpi0 not configured
PNP0B00 at acpi0 not configured
PNP0303 at acpi0 not configured
IBM0057 at acpi0 not configured
PNP0501 at acpi0 not configured
PNP0400 at acpi0 not configured
acpiec0 at acpi0 (PNP0C09-0): ACPI Embedded Controller
acpiec0: io 0x62,0x66
ACPI Object Type 'Power' (0x0b) at acpi0 not configured
acpibat0 at acpi0 (PNP0C0A-0): ACPI Battery (Control Method)
acpiacad0 at acpi0 (ACPI0003-0): ACPI AC Adapter
IBM0068 at acpi0 not configured
acpitz0 at acpi0: ACPI Thermal Zone
acpitz0: unable to get polling interval; using default of 30.0s
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 82855PM MCH Host Controller (rev. 0x03)
agp0 at pchb0: aperture at 0xd0000000, size 0x10000000
ppb0 at pci0 dev 1 function 0: Intel 82855PM Host-to-AGP Bridge (rev. 0x03)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: ATI Technologies Radeon Mobility M9 (rev. 0x02)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
uhci0 at pci0 dev 29 function 0: Intel 82801DB/DBM USB UHCI Controller #1 (rev. 0x01)
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 82801DB/DBM USB UHCI Controller #2 (rev. 0x01)
uhci1: interrupting at irq 5
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 82801DB/DBM USB UHCI Controller #3 (rev. 0x01)
uhci2: interrupting at irq 4
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
ehci0 at pci0 dev 29 function 7: Intel 82801DB/DBM USB EHCI Controller (rev. 0x01)
ehci0: interrupting at irq 10
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2
usb3 at ehci0: USB revision 2.0
uhub3 at usb3
uhub3: Intel EHCI root hub, class 9/0, 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 Bridge (rev. 0x81)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
cbb0 at pci2 dev 0 function 0: Texas Instruments PCI4520 PCI-CardBus Bridge w/ OHCI IEEE 1394 Controller (rev. 0x01)
cbb1 at pci2 dev 0 function 1: Texas Instruments PCI4520 PCI-CardBus Bridge w/ OHCI IEEE 1394 Controller (rev. 0x01)
wm0 at pci2 dev 1 function 0: Intel i82540EP 1000BASE-T Ethernet, rev. 3
wm0: interrupting at irq 11
wm0: 32-bit 33MHz PCI bus
wm0: 64 word (6 address bits) MicroWire EEPROM
wm0: Ethernet address 00:0d:60:77:63:0c
makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 4
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ath0 at pci2 dev 2 function 0
ath0: interrupting at irq 4
ath0: mac 5.6 phy 4.1 5ghz radio 1.7 2ghz radio 2.3
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
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 3
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 4 device 0
pcmcia1 at cardslot1
ichlpcib0 at pci0 dev 31 function 0
ichlpcib0: Intel 82801DB ISA Bridge (rev. 0x01)
ichlpcib0: TCO (watchdog) timer configured.
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801DBM IDE Controller (ICH4-M) (rev. 0x01)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel interrupting at irq 15
atabus1 at piixide0 channel 1
Intel 82801DB/DBM SMBus Controller (SMBus serial bus, revision 0x01) at pci0 dev 31 function 3 not configured
auich0 at pci0 dev 31 function 5: i82801DB/DBM (ICH4/ICH4M) AC-97 Audio
auich0: interrupting at irq 3
auich0: ac97: Analog Devices AD1981B codec; headphone, 20 bit DAC, no 3D stereo
auich0: ac97: ext id 601
Intel 82801DB/DBM AC97 Modem Controller (modem communications, revision 0x01) at pci0 dev 31 function 6 not configured
isa0 at ichlpcib0
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
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
isapnp0: no ISA Plug 'n Play devices found
WARNING: Callback scheduled before sysmon task queue thread present.
auich0: measured ac97 link rate at 48004 Hz, will use 48000 Hz
audio0 at auich0: full duplex, mmap, independent
uplcom0 at uhub1 port 1
uplcom0: Sitecom USB to serial cable, rev 1.10/0.01, addr 2
ucom0 at uplcom0
uhidev0 at uhub1 port 2 configuration 1 interface 0
uhidev0: Microsoft Microsoft Notebook/Mobile Optical Mouse 2.0, rev 1.10/2.00, addr 3, iclass 3/1
ums0 at uhidev0: 3 buttons and Z dir.
wsmouse1 at ums0 mux 0
wd0 at atabus0 drive 0: 
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 53805 MB, 109319 cyl, 16 head, 63 sec, 512 bytes/sect x 110194034 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0:  cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(piixide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
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 (80x25bf, vt100 emulation)
wsdisplay0: screen 5 added (80x50, vt100 emulation)
ubt0 at uhub2 port 1 configuration 1 interface 0
ubt0: Actiontec Electronics product 0x0441, rev 1.10/5.46, addr 2
ubt0: has isoc data
bthci0 at ubt0
	

usbdevs -v

Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
 port 1 powered
 port 2 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
 port 1 addr 2: full speed, power 500 mA, config 1, USB to serial cable(0x2068), Sitecom(0x6189), rev 0.01
 port 2 addr 3: low speed, power 100 mA, config 1, Microsoft Notebook/Mobile Optical Mouse 2.0(0x007d), Microsoft(0x045e), rev 2.00
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
 port 1 addr 2: full speed, power 90 mA, config 1, product 0x0441(0x0441), Actiontec Electronics(0x1668), rev 5.46
 port 2 powered
Controller /dev/usb3:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x8086), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
 port 4 powered
 port 5 powered
 port 6 powered
	

pcictl list

000:00:0: Intel 82855PM MCH Host Controller (host bridge, revision 0x03)
000:01:0: Intel 82855PM Host-to-AGP Bridge (PCI bridge, revision 0x03)
000:29:0: Intel 82801DB/DBM USB UHCI Controller #1 (USB serial bus, revision 0x01)
000:29:1: Intel 82801DB/DBM USB UHCI Controller #2 (USB serial bus, revision 0x01)
000:29:2: Intel 82801DB/DBM USB UHCI Controller #3 (USB serial bus, revision 0x01)
000:29:7: Intel 82801DB/DBM USB EHCI Controller (USB serial bus, interface 0x20, revision 0x01)
000:30:0: Intel 82801BAM Hub-to-PCI Bridge (PCI bridge, revision 0x81)
000:31:0: Intel 82801DB ISA Bridge (ISA bridge, revision 0x01)
000:31:1: Intel 82801DBM IDE Controller (IDE mass storage, interface 0x8a, revision 0x01)
000:31:3: Intel 82801DB/DBM SMBus Controller (SMBus serial bus, revision 0x01)
000:31:5: Intel 82801DB/DBM AC97 Audio Controller (audio multimedia, revision 0x01)
000:31:6: Intel 82801DB/DBM AC97 Modem Controller (modem communications, revision 0x01)
001:00:0: ATI Technologies Radeon Mobility M9 (VGA display, revision 0x02)
002:00:0: Texas Instruments PCI4520 PCI-CardBus Bridge w/ OHCI IEEE 1394 Controller (CardBus bridge, revision 0x01)
002:00:1: Texas Instruments PCI4520 PCI-CardBus Bridge w/ OHCI IEEE 1394 Controller (CardBus bridge, revision 0x01)
002:01:0: Intel i82540EP Gigabit Ethernet (ethernet network, revision 0x03)
002:02:0: Atheros Communications, Inc. product 0x1014 (ethernet network, revision 0x01)
		
The contrast up/down buttons work, the ThinkLight button works, the volume up/down/mute buttons work. Sleep / suspend does not work AFAIK. When I close the lid, the screen goes blank and there is a
acpilid0: lid closed.
		
message. Occasionally there is a
acpibat0: battery info: SANYO, LION, IBM-08K8193,  6024
		
message.

Thanks to Bluelink and XS4All.

Linux is a registered trademark of Linus Torvalds.

NetBSD is a registered trademark of the NetBSD Foundation.

UNIX is a registered trademark of The Open Group or Novell (or even AT&T or Bell Labs).


T41 / webmaster@vynka.org / created 2004-3-27 / last change 2004-12-20