Installation notes for Debian GNU/Linux on an IBM T40p


I just bought an new notebook, an IBM T40p Model 2373G1G. It is a great machine, and I have finally all important things runnig... Here are some notes on installing Debian Linux (unstable). There are already other sites providing important information, so I won't repeat this here.

The kernel

This was the hardest part. Debian woody comes with 2.4.18, which doesn't even know the ethernet card. So I had to burn a newer Version (I used 2.4.21) on CD, to get it into the t40. However was still not happy with the kernel. Here is a summary what works and what doesn't:

History

I still use APM to get suspending working, I use this script (in /etc/apm/event.d/).

Suspend/resume seems to work now.

BTW: The new kernel version 2.6 is really fast, the notebook boots 10 sec. faster than WindowsXP, even _with_ KDE login!

Im always running the most recent Version of Andrew Mortons Patches, currently 2.6.5-mm1. You can download the config and the dmesg output. I test nearly all new kernels, but only if something significant changes I'll update this page.

Note that the follwing information corresponds to linux-2.6.5-mm1

APM

This is what I currently use. You need to unload the e1000 and usb modules before suspending.
The radeonfb with X only works after supsending (it is somewhat broken after X started, you need to suspend to get it right again). You do not get C3 powersaving of your CPU with APM. Everything else works.

ACPI

Well. ACPI would be great. With ACPI you get ca. 45 min more battery life due to C3 powersaving of the CPU. You get all the fancy info about your CPU (temperature etc). Throttling (T-States) works, but is sensless, the CPU does not consume less power, but is way slower. Radeonfb survives suspending. ACPID controlls your system, and shut's it down when you press the power-button, starts laptop-mode when on battery etc. Now the things that don't work:
PCI/USB seems to be completely broken. Even unloading the modules does not help at all. crashes, oops, endless loops when you insert them are inevitable. The e1000 does not work if let it inserted, if you remove it before suspending it does not find the card after resuming. C3 does not work if X is runnig (after the first suspend-resume cyle it works,though (?!)) The system (via bios) does not ask for a password when resuming.
This renders ACPI still unusable for me.

Irda

Irda works. But only in the slow 115200 baud mode.
Load these modules:
irtty_sir, sir_dev, irda
My /etc/irda.conf is:
#irda.conf Version: 1.0
IRDADEV=/dev/ttyS1
#DONGLE= # specify dongle type
DISCOVERY=0
ENABLE=yes # if you do not need to start irattach, set "no"

Now I can sync my palm via /dev/ircomm0

XFree

XFree wasn't easy either. I have everything except TV-Out (S-Video or S-VHS) working. Yeha.
What to do:
You need a recent CVS Version. "XFree86 Version 4.3.99.902 (4.4.0 RC 2)" should be fine. You can download it with "cvs -d anoncvs@anoncvs.xfree86.org:/cvs co xc". This version does accelerated 3D (and 2D, of course) and is able to suspend properly with the "ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02)". However you need a special driver for the touchpad. Download it here: http://w1.894.telia.com/~u89404340/touchpad/index.html
Compile X with make World, install it with make install (and make install.man) if you are fine with the default options. Otherwise most is configured in xc/config/cf/site.def.
For DRI you need a kernel module. The ones included in recent 2.6er kernels are just fine
The Bios does something weird with the touchpad, if a USB mouse is attached on boot, the kernel does not recognize it correctly, and it works only with the standart PS/2 mouse driver. Very strange.. The solution is to disable USB BIOS Support in the BIOS!
You can get my X-config here, and the corresponding logfile
If have know clue how to get the TV-Out working. If I activate the second head (Look in the config how to do it) there is a signal, but on my TV I just get a disturbed black and white image, where you can just imagine the correct one. If someone gets this working, please E-Mail me.

USB

As noted above, you need to disable USB BIOS Support in the BIOS. With a recent kernel USB works fine (with APM).

Hibernation/Swsup/suspend/standby

Well. I'm currently working on this. With APM only. FN-F3 (standby/ display off) and FN-F4 (suspend to RAM) work. Hibernation,swsusp or suspend to disk don't seem to work, and are of no interest for me as it takes quite some time to write 500+ MB.

WLan

Since 28.10.2003 this works too.
There is a project at sourceforge
If you want to have the fancy LED working, do export COPTS="$COPTS -DSOFTLED" before compiling, then compile the driver with make, and install it with make install.
It won't do anything until you activate it with iwconfig.
I use the following setup in /etc/network/interfaces

	iface ath0-dhcp inet dhcp
        	pre-up modprobe ath_pci || true
	        post-down rmmod ath_pci ath_hal wlan || true
        	wireless-essid any
	        wireless-mode Managed
        	wireless-ap any
	        wireless-nick "Zodiac"
        	# Note: this is powermanagemnt off, not power off
	        wireless-power off
        	wireless-txpower auto
	

This way, i can start the Wlan card with just "ifup ath0". If you need to do it manually, the WLAN specific stuff would be:
iwconfig ath0 essid any mode Managed ap any nick "Zodiac" power off txpower auto

Scripts

As I roam between different networks (Home, Work, WLAN, WLAN-VPN etc), I'm using quite sophisticated scripts to quickly and easily switche between the different locations. You can download them here. They are built up of several parts:

I hope they are commented well enough, otherwise just drop me an email.

Downloads

kernel config
XFree Configuration
dmesg output (all for 2.6.5-mm1)
Networking scrits

Links

I will try to list all relevant links. List more or less by importance.

http://www.w-m-p.com/linux-on-t40.html (Klaus Weidner page. He was one of the first. Read it ;))

http://www.thunk.org/tytso/linux/t40.html (Theodore Ts'o's page, with instructions on getting and installing the up-to-date XFree86 precompiled binaries - You want that one!)

http://bellet.info/~bellet/laptop/t40.html (Extensive page, interesting)

http://www.newt.com/debian/thinkpad-t40p/ (Bill Wohler's page, with his installation notes for the T40p) not neccessary, but also interestening

http://w1.894.telia.com/~u89404340/touchpad/index.html (The patched synaptics driver)

http://www-3.ibm.com/pc/support/site.wss/MIGR-48NT8D.html (IBM's Thinkpad Linux support page)

http://www.webworm.org/laptop/ (Rudy Gevaert's install notes for an IBM Thinkpad R40)

http://www-1.ibm.com/support/docview.wss?uid=psg1MIGR-46088 and ftp://ftp.software.ibm.com/pc/pccbbs/access_ibm_en/hpa_aibm.pdf (IBM information about the recovery partition)

http://tpctl.sourceforge.net/ (Thomas Hood's tpctl page)

http://www.tuxmobil.org (TuxMobil providing links to other pages etc.)

http://www.linux-laptop.net (linux-laptop providing links to other pages etc.)


Valid HTML 4.01! Valid CSS! Powered by Apache

Author: Alexander Gran
Last modified: Mi Apr 7 23:25:57 CEST 2004