User:Barnoid

From ThinkWiki
Jump to: navigation, search

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.

Handy bits of the wiki

ATI_Mobility_Radeon_X1400

Intel_PRO/Wireless_3945ABG_Mini-PCI_Express_Adapter

Software_Suspend_2

HDAPS

Fglrx

Tp_smapi

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...

Fan

The fan on my T60 runs constantly. This appears to be due to the GPU constantly running at around 67°C, whether it's idling on the desktop or running 3D apps. I've tried aticonfig --set-powerstate=1 but it makes very little difference.

However, updating the BIOS to version 1.09 solved a problem where the fan would start to spin very fast as soon as I unplugged the power supply.