Debian Linux on an IBM Lenovo ThinkPad Z61m

preparation:
1. boot Windows
2. use your favorite parition manager and shrink the first partition to 20GB, this should be enough for win
3. put in the Debian Etch Beta 2 netinstall CD and reboot

installation:
1. boot Debian Etch Beta 2 netinstall CD
2. use expert modus, because we're cool =)
3. when you get the network-setup window, chose the Broadcom device (it was eth1 here). the other one should be the firewire stuff
4. configure everything as you need, but use testing, the fuckin etch cd does not allow to install unstable directy - so we have to dist-upgrade later
note: eth1 has become eth0 here after a reboot

video:
The drivers Xorg 7 delivers just suck, ati and radeon does not work with the x1400, vesa gives only 1024x768 output.
We want 1680x1050, so we need fglrx: apt-get fglrx-control fglrx-driver fglrx-kernel-source, and let it build (you should know how!). The fglrx version in Etch is a bit old, so use the one from experimental or from Flavios Git, if you know how ;-)
After the drive is built, you just need to install it with dpkg and put fglrx in your xorg.conf.

audio:
Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller, works out-of-the-box with ALSA snd-hda-intel.

LAN:
Broadcom Corporation NetXtreme BCM5752M Gigabit Ethernet PCI Express, works out-of-the-box with tg3
note: on kernel 2.6.17 (until 2.6.19-rc5) the network does not work anymore after an ifdown eth0 && ifup eth0 (you need to reload the tg3 module).

WLAN:
Intel Corporation PRO/Wireless 3945ABG Network Connection, Debian Sid and Etch have the needed drivers, so just install them:

// the lines beginning with % you run as user, the ones with # as root
1. # apt-get install firmware-ipw3945 ipw3945d ipw3945-source
Since we have kernel => 2.6.18, we don't need out-of-tree ieee80211
2. ipw3945 Modul bauen:
% cd /usr/src
% tar jxf ipw3945.tar.bz2
% cd linux-YOURVERSION
% fakeroot make-kpkg --added-modules ipw3945 modules-image
# dpkg -i /usr/src/ipw3945-modules-VERSION.deb
3. # modprobe ipw3945
I've tested WPA-PSK, and it works.

firewire:
Texas Instruments Unknown device gets installed out-of-the-box. A Behringer FCA202 gets recognized, but lacks Linux drivers for real testing.

cardreader:
Texas Instruments Unknown device - works with the tifm_sd and mmc_block modules from 2.6.19. You can find the card under /dev/mmcblk01* and read from it. On writing the driver dies for me :(

modem:
Who needs a modem today? Me not - so not tested.

fingerprintreader:
Works with some hacks from http://thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader.
There is also an opensource project out there: ThinkFinger, not tested yet, but looks very nice.

IrDA:
gets installed out-of-the-box, tested with LIRC, works.

PCMCIA:
gets installed out-of-the-box and my Netgear WG511T works perfectly.

HDAPS:
hdaps.c in the kernel (2.6.16.25) is like good crap - just does not work with the Z61m, but you can get the one from tp_smapi (http://www.thinkwiki.org/wiki/Tp_smapi).
Download, untar, make load HDAPS=1 and insmod ./hdaps.ko force=1 and hdaps-gl is dancing! Or you can use my Debian packages from http://debian.die-welt.net. They will be in Sid as soon Etch is released.

tpb:
tpb is a program to use the IBM ThinkPad(tm) special keys. You can easily get it over apt and works after the user has been added to the nvram group. So you do a apt-get install tpb, then a adduser zhenech nvram and relogin into X. After the start of the tool you see nice xosd infos about the volume, display brightness, etc.

suspend-to-disk:
Both, suspend2 and SOFTWARE_SUSPEND from the vanilla kernel 2.6.19 are working great. Since 2.6.19 you don't need to turn AHCI off anymore.

suspend-to-ram:
Works too, you just need to boot with acpi_sleep=s3_bios,s3_mode.

lspci output:
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752M Gigabit Ethernet PCI Express (rev 02)
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
15:00.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
15:00.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
15:00.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
15:00.3 Generic system peripheral [0805]: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller

attachments:
xorg.conf
config-2.6.19.2-z61m-1
linux-image-2.6.19.2-z61m-1
other kernelmoduls and stuff

Comments

Andreas wrote on 2007-02-01 23:07:

I’m running a Debian 2.6.18 kernel on my Thinkpad z61m and I have problems with sound (sometimes?) not working after a resuming from suspend-to-ram. Resume also crashes if the ethernet cable is attached. Anyone knows why?

Zhenech wrote on 2007-02-02 00:16:

Yeah, I think I know both problems.

1) The soundcard is very crappy, I have a Audigy 2 NX USB attached, when I want to hear music ;) I think the Intel high-definition-shit is working with 2.6.19 a bit better.

2) There is a bug in the tg3-driver of kernels 2.6.17 until 2.6.19-rc5 which MAYBE (I ususaly don’t suspend at home, and outwards I don’t use ethernet, just wlan) causes your problem.

You can try my 2.6.19.2 kernel from http://files.die-welt.net/z61m/kernel/ maybe it helps a bit ;)

Andreas wrote on 2007-02-04 12:07:

Thanx! I’ll jump to a 2.6.20 release candidate immediately though. I heard it has better fan control.

Zhenech wrote on 2007-02-04 13:06:

Don’t do this, if you have an ATI card (as I do): http://ati.cchtml.com/show_bug.cgi?id=566

The ati-devs are just too lazy and seem not to understand the purpose of an rc-kernel…

Anthony Campbell wrote on 2007-02-11 17:08:

I had no luck getting Etch to recognize either the sound card or the wireless.

I tried Ubuntu (Edgy) and both were recognized instantly

Zhenech wrote on 2007-02-11 18:08:

The sound should work out of the box with a recent kernel. The wireless need some more packages, and there is no magic in Debian, which installs them, so you need to do it yourself. Afterwards everything will run.

Anthony Campbell wrote on 2007-04-11 17:17:

Me again. I wanted to add a contrbution to the Thinkwiki page for Distributions/Debian, but for the life of me I can’t see how to do it. There does not seem to be a "create page" button.

I see you have added an article so could I ask you how you did it?

Zhenech wrote on 2007-04-11 19:51:

Just open a page with the title you want, like http://thinkwiki.org/wiki/Installing_Foo_on_Bar and then click "edit this page". You should be logged in though.

Send your comments to evgeni+blogcomments@golov.de and I will publish them here (if you want).