User:Barnoid
Hello, I am barnoid.
I'm currently working on making my lovely new T60 work properly with Debian. I also have a T21 which runs Debian.
Contents
Handy bits of the wiki
Intel_PRO/Wireless_3945ABG_Mini-PCI_Express_Adapter
External useful stuff
HDAPS-devel mailing list [1]
ipw3945-devel mailing list [2]
KThinkBat [3]
Installation
Pre-install
I started by making the rescue CDs from within windows just in case. This required seven CDs and took ages.
Then I booted using Knoppix 5.0.1, which mostly worked fine apart from the X video driver. It tries to use the ati driver, then after it fails a few times it defaults to vesa at 640x480. It can be fixed by fiddling with the xorg.conf file, or avoided by booting with xmodule=vesa
and screen=1400x1050
.
I used qtparted to reduce the size of the preinstalled windows partition to 10GB. I didn't touch the rescue partition at the end of the disk. I created a 2GB swap partition and used the rest of the space for the Linux partition.
Install
I installed using the Debian Testing (Etch) netinst CD. The Stable netinst didn't recognise the e1000 NIC. This all went smoothly except again for the X driver, it tried to use ati again.
I allowed the installer to install grub in the MBR. It recognised the XP partition and identified the rescue partition as Win2k. Both still work fine when selected from the grub menu, though the ThinkVantage button doesn't load the rescue system anymore.
Special Keys
Using xev I identified the following keycodes:
Back = 234
Forward = 233
FnUp = 164 (media stop)
FnDown = 162 (media play/pause)
FnLeft = 144 (media previous)
FnRight = 153 (media next)
and produced the following file for xmodmap:
keycode 234 = XF86Back keycode 233 = XF86Forward keycode 164 = XF86AudioStop keycode 162 = XF86AudioPlay keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext
After much Googling trying to find out how to make these xmodmap settings usable system-wide I discovered that I should have just RTFMP, specifically
$ man Xsession
which contains an example of exactly what I wanted to do.
Create the file /etc/X11/Xsession.d/40custom_load-xmodmap containing:
SYSMODMAP="/etc/X11/Xmodmap" USRMODMAP="$HOME/.Xmodmap" if [ -x /usr/bin/X11/xmodmap ]; then if [ -f "$SYSMODMAP" ]; then xmodmap "$SYSMODMAP" fi fi if [ -x /usr/bin/X11/xmodmap ]; then if [ -f "$USRMODMAP" ]; then xmodmap "$USRMODMAP" fi fi
Then save the xmodmap definitions file to /etc/X11/Xmodmap for system-wide, or ~/.Xmodmap for user specific definitions.
Why this file doesn't exist by default I have no idea.
After this the back and forward buttons Just Work in Konqueror. I set them to switch between tabs in Konsole. The media control keys can be set to work as appropriate in all KDE apps using their "Configure Shortcuts" dialog.
Networking
Here's how I finally got networking to work properly:
Properly means that the wireless card automatically associates with a known access point on boot/resume and the network is configured appropriately.
I compiled and installed the proprietary ipw3945 driver and its binary daemon as described here. Though I compiled against the ieee80211 code included with my kernel rather than against a newer version as the instructions describe.
I had a lot of trouble with loading the driver and configuring the network on boot. It turns out it was trying to configure the network before the driver and daemon were ready. So I created this script /etc/init.d/ipw3945 :
#!/bin/bash case $1 in start) echo -n "Load ipw3945:" modprobe -i ipw3945 /usr/local/sbin/ipw3945d --timeout=30 sleep 2 echo " done." ;; stop) echo -n "Unloading ipw3945:" /usr/local/sbin/ipw3945d --kill modprobe -ir ipw3945 sleep 2 echo " done." ;; esac exit 0
The crucial part being the sleep 2 which ensures the driver is ready before anything tries to use it.
To be continued...