First of all: thanks a lot to IBM/Lenovo! Michael Gebetsroither and me were working on the ‘Trusted Live Linux’ project at IAIK @ TUG. IBM/Lenovo kindly provided us a Thinkpad T60 1951-44G laptop so we were able to test and work with a TPM v1.2 chip. The results of the project will be available within the next few weeks, stay tuned.
Specifications of the Thinkpad T60 1951-44G:
T2400(1.83GHz), 512MB RAM, 60GB 5400rpm HD, 14.1in 1024x768 LCD, Intel 950, CDRW/DVD, Intel 802.11abg wireless, Modem, 1Gb Ethernet, UltraNav, Secure chip, Fingerprint reader, 6c Li-Ion batt
0000:00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 0000:00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 0000:00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 0000:00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 0000:00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 0000:00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 0000:00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02) 0000:00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02) 0000:00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02) 0000:00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02) 0000:00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02) 0000:00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02) 0000:00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 0000:00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 0000:00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02) 0000:00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02) 0000:00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 0000:02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller 0000:03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) 0000:15:00.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller
- X.org 7.0: works out of the box with the vesa driver (glxgears says 700 FPS), 3d acceleration/DRI should work with X.org 7.1 and i810
- Sound: works out of the box (using snd_hda_intel driver), also the hardware keys for mute/raise/lower work
- CPU frequency scaling: works out of the box (using speedstep_centrino driver)
- CPU hotplug: works with SMP-enabled kernel and ‘echo [0|1] > /sys/devices/system/cpu/cpu1/online’
- WLAN: ipw3495, works out of the box with 2.6.17-grml (the driver is part of it), ipw3945-ucode and ipw3945d
- Temperature: hddtemp /dev/sda works, /proc/acpi/ibm/thermal works via module ibm_acpi, mbmon and sensors don’t return anything yet
- Battery: the /proc/acpi/battery interface works; running about 3.5 hours according to ‘acpi -V’
- SMAPI BIOS: works using tp_smapi
- ThinkLight: works out of the box (it’s hardware controlled)
- FN-keys: hardware controlled keys (e.g. LCD brightness thinklight, sound) work, software controlled keys not out of the box
- On screen display: works using tpb
- Ethernet: I noticed a problem with the e1000 module, you’ll notice the following in the syslog:
e1000: 0000:02:00.0: e1000_probe: The EEPROM Checksum Is Not Valid e1000: probe of 0000:02:00.0 failed with error -5
This means the checksum in PCI data area is not ok. It seems the windows driver does not have this problem because it does not verify the checksum at all. Of course you could work around the problem by disabling the e1000_validate_eeprom_checksum in e1000_main.c but that’s a nasty workaround. I found a workaround for this without having to touch kernelsource: just set “Internal Network Device: Hidden” in the BIOS. If you reboot again you won’t have a network card of course, but after re-enabling it again in the BIOS the module should work without any problems then.
- TPM: thanks for help to Kylene Hall. We found a way to get it working with 2.6.16-rc5. The patch found its way to 2.6.17 (git-commit) so now it’s working out of the box using the TIS driver (tpm_tis)
- HDAPS: does not work [hdaps: supported laptop not found, driver init failed (ret=-19)]
- Fingerprint reader: works with some effort and a good howto
- Software suspend: should work with hibernate (take a look at http://lochraster.org/t60/ for configuration files)
Conclusion: It’s definitely rocking hardware even though some parts are not yet working out of the box with Linux. Solid hardware, very powerful (thanks to dual-core), lots of options in the BIOS. I never ever heard the cpu fan, even though running ‘CONCURRENCY_LEVEL=2 make-kpkg’ on the SMP-enabled kernel.