Thinkpad T42

Debian LogoDebian Project on an IBM ThinkPad T41

Debian Linux on my Thinkpad T41
This info is good for Thinkpad T40/T42 as well.

Screenshots

History (most people write new to old but this is old to new. This way it reads more chronologically):

2005-03-15 - Well I took the plunge and installed Linux on my laptop exclusively. I've been dual-booting XP for about half a year but decided that its time to give full-time Linux a try. With enough work, basically everything on this laptop is working. My only gripe right now is that ACPI Sleep is not working. Closing the lid in XP puts the machine into a sleep state that can last a long time on batteries. The ACPI Suspend that works for me right now leaves the CPU hot which drains the battery in about 5 hours.

2005-03-20 - Got more thinkpad buttons working. Got on-screen-display for thinkpad buttons! Got Touchpad with synaptics working. It was a missing piece in my XFree86 config that was not enabling the "synaptics" section, thus not enabling the SHMConfig that is needed. A search for SHMConfig at google turned up a site that helped me. Installing Linux as my main desktop was a great idea. It gave me more motivation to figure these things out. When I used to dual-boot, I found myself using the old crutch (XP) more often. I never would have figured out all this stuff!

2005-03-21 - Added ACPI hibernate script for when low power is detected. It should auto-hibernate now when the battery is low. Upgraded to ipw2100 1.0.5. Got wpa_supplicant working. Now it automatically connects to specified access points, and works with WPA at my home. Still need to fix Thinkpad high-power-consumption sleep issue. Maybe its fixed in Kernel 2.6.11? I'm gonna play more with radeontool + scripts.

2005-05-03 - Upgraded to an Intel 2200 BG 802.11 Wireless MiniPCI card. This cost about $50 through IBM and was shipped 2-Day air for free. Now I can surf at 802.11g speeds without using a PCMCIA card! Also, my 802.11g Netgear card is not supported by wpa_supplicant YET. I upgraded to WPA wi-fi at home and needed a 802.11g card that was supported by this project. The Intel 2200 works great.

Simon from Australia wrote me an email to tell me about the xvidtune utility. This allows me to use the Fn-Spacebar to Zoom In/Zoom Out. It works better than the Windows behavior, which is similar to using xrandr utility on Unix. xrandr resizes your actual desktop size which is annoying because it moves around your desktop icons. Using xvidtune is much more elegant solution.

Upgraded to ATI Radeon fglrx (closed source) drivers. They work probably about 25% faster than 3D performance I got through the open-source drivers. However, there are bugs with this driver. It does not behave well with VMWare at times, and when zooming the screen I see vertical lines of gibberish at times. Its super easy to switch between the fglrx and radeon drivers, and I do switch when needed. I used the vbetool to fix the hibernate bug found with fglrx drivers (freeze on resume). The vbetool solves the freeze problem and was a piece of cake (one-liner) to add to my hibernate script.

2005-06-18 - Updated from XFree86 4.3 to X.org 6.8. Drop-shadows and transparency work but with Composite effects enabled, other 3D apps dont work. I get some error message about XFree86-DRI.

Updated ATI kernel driver and X driver to fglrx 8.14.13. glxgears runs at 1200 FPS!.

Rebuilt a vanilla Linux Kernel 2.6.10 with Software Suspend 2 and Dragorn's Orinoco patches. Suspending is now quick and reliable. Returning from suspend I am already connected to the wireless network (Previously, I had to remove/add wireless drivers and re-request from DHCP after a suspend). When Software Suspend 2 patches are updated to support the newly released kernel 2.6.12, I may give kernel that a try.

2005-06-20 - TV Out is now working via the S-Video output cable.


What works:

CPU Frequency Scaling / SpeedStep
3D Graphics Acceleration (ATI fglrx drivers)
Sound (using ALSA)
Built-in Wireless (Intel 2200)
Modem
Gigabit Ethernet
USB 2.0
ACPI Hibernate (Fn-F12, via script, or when battery is low)
ACPI Suspend (Lid open/close, or Fn-F4)
On Screen Display (OSD) for volume, mute, brightness, thinklight
Thinkpad function keys and internet forward/back navigation keys
Touchpad with scroll up/down, tap, double, triple tap
Zoom/Unzoom with Fn-Spacebar - On Screen Display shows "Zoom On", "Zoom Off".

Issues / What I'm working on:

High power consumtion when in sleep mode under ACPI. Software Suspend 2 works quite quickly so this is not a big issue. I set the laptop to Hibernate when the lid is closed.

Fan sensor is not working through ibm-acpi.


Hardware specs of this laptop:

Intel Pentium-M 1.6Ghz
512MB SDRAM
30GB 4200RPM Drive
SXGA+ TFT at 1400x1050 Native Resolution
ATI Mobility Radeon 9000 32MB AGP (M9)
Intel 1GB Ethernet
Intel Centrino 2200 802.11g Wireless MiniPCI Network Card
Smartlink Winmodem
Intel AC '97 Sound
CD-RW/DVD Combo Drive


Predesktop Area:

I decided on later installations of XP to just install a vanilla version of it and I can say that it is BETTER than the recovery CDs. Download the drivers you need from IBM's website. In my opinion you dont need predesktop OR recovery CDs. Now that I run Linux, the issue is moot.


PCMCIA Cards I use:

Orinoco Classic Gold (Wireless 802.11b) - Using patched Orinoco kernel driver
Netgear WG511 (Wireless 802.11g) - Using Prism54 kernel drivers
Netgear MA401 (Wireless 802.11b) - Using hostap module drivers (I recently flashed this card to get it to perform better hostap. Consequently, it now works with my wpa_supplicant and can connect to my WPA protected network)


Kernel:

Currently running Kernel 2.6.10. Orinoco monitor mode patch.

I have 2.6.11 installed but there are a couple of issues with it. Mainly, speedstep seems to not function as well as 2.6.10 does. Secondly, the IBM issue with ACPI sleep is not resolved. So I am sticking with 2.6.10 for now.


Startup:

There were a few issues to clean up for the system boot-up. First off, the system detects the e1000 network device and it will try run DHCP client to get a IP number for it each time the system boots. This takes a minute and is annoying. Remove the eth0 lines from /etc/defaults/network/interfaces to solve this problem.

Power Management:

I use ACPI. CPU SpeedStep works great. When my CPU goes idle, it jumps down to as low as 50MHz. CPU Tempuature works (still need to figure out how to monitor fan speed and voltage). Sleep works (but with issues). During sleep, the Radeon chip stays hot. This drains battery fairly quickly. Hibernate works great. I've hibernated 20+ times without a reboot. Everything comes back on after sleep and hibernate with no issues.

If I want to use APM, I can. Just reboot with kernel switch 'acpi=off apm=on'. Sleep works better with APM - no issues with battery drain. Most other stuff works better with ACPI.


TouchPad:

Synaptics TouchPad works great with Synaptics driver built in to Debian. Just make sure to configure your XFree86 or Xorg file correctly.


DVD/Video Playback:

DVD/Video Playback works great with xine. To play encrypted DVDs you must have libdvdcss2
libdvdcss2 is not freely distributable and not part of debian.
To get it, you have to install libdvdread3 and read /usr/share/doc/libdvdread3/README.Debian

I suggest installing Win32 codecs as well.


Screen Resolution changing:

Two utilities to change screen resolution on the fly: xrandr and xvidtune . xrandr changes the "actual" resolution of your screen, xvidtune changes the "virtual" desktop size (Like Control-Alt-Plus and Control-Alt-Minus)

Other Cool Software:

3ddesktop - 3D desktop effect like the MacOS X people have.
VMWare - For when you need to run Windows software


Other Notes:

Disable pcmcia beep with /etc/init.d/pcmcia CARDMGR_OPTS=q


Best Links:

ThinkWiki.org
Linux-on-laptops for IBM


Email me at chris a-t chriscarey.us if you need help, can help me, or want to chat about your Thinkpad