User:Hmh
ThinkPad T43 2687-DDU setup for Debian Etch
This is an ongoing, spotty guide for an advanced Debian setup of a T43, focused on using absolutely all of its capabilities that can be used. It is not an installation guide, but rather a configuration guide. Refer to Debian for a list of pages with initial installation instructions.
When it is really usable, I will move it to some other far more public place in ThinkWiki.
Installing should be done using the latest Debian Etch debian-installer release. Anything else simply will not run on the ThinkPad.
Kernel
Baseline kernel: Debian's latest 2.6.16 (2.6.16.17 with stabilization patches)
Patches employed
- Latest ipw2200 driver and ieee80211 layer:
- There are two ways to go about this: either disable IEEE 802.11 support (and thus ipw2200) in the kernel and build both modules out-of-tree (failure to do so will break the out-of-tree build), or update the kernel subsystems with more up-to-date files.
- The advantage of updating the kernel drivers instead of doing an out-of-tree build is that should there be any configuration options that require ieee80211 support, those will be available. On the other hand, it is a bit more difficult, as you will have to mess with Kconfig.
- copied files over the in-kernel files in include/net, drivers/net/wireless, Documentation/networking, net/ieee80211, thus replacing the old drivers with the new ones.
- ipw2200 often have extra options you need to enable, look in the toplevel Makefile and add them to drivers/net/wireless/Kconfig. They are usually bool types, so it is trivial to copy, e.g. IPW_DEBUG and rename to the new required options.
- SATA power-management
- freeze-block-queue patch (for HDAPS)
- ACPI update patches
- TP SMAPI support
- Software Suspend 2
- Linuxant Conexant HSF modem driver
- nsc-ircc ISA PNP patch
Kernel setup tasks
- Make sure the following subsystems are modules (for suspend/resume)
- USB (especially EHCI_HCD and UHCI_HCD)
- HDAPS (may work compiled in, as well)
- Make sure the following subsystems are enabled and not modules (safety net)
- ThinkPad SMAPI
- Place the following modules on /etc/modules:
- hdaps
- nsc-ircc
- tg3
- ipw2200
- Configure IrDA module options
- ipw2200 firmware needs to go in /lib/firmware. The module should be given the led=1 module parameter option
Userland
Complex configuration issues
You want to install and configure to your liking:
- smartmontools
- kde/gnome power management thingies
- X.org power management on the video driver
Simple configuration issues
These are fairly simple minor things you might want to do:
/etc/sysctl.conf
install the procps package. Add the following lines to /etc/sysctl.conf:
/etc/sysfs.conf
install the sysfsutils package. Add the following lines to /etc/sysfs.conf
# ThinkPad battery charger defaults devices/platform/smapi/BAT0/start_charge_tresh=40 devices/platform/smapi/BAT0/stop_charge_tresh=85 devices/platform/smapi/BAT1/start_charge_tresh=70 devices/platform/smapi/BAT1/stop_charge_tresh=90 # Default frequency scalling governor devices/system/cpu/cpu0/cpufreq/scaling_governor=conservative
udev rules
- udev extended network interface naming needs to be configured, order of tg3/ipw2200 won't be respected if /etc/modules.conf is read after udev did the PCI coldplugging
Kernel/module configuration
This is done in /etc/modprobe.d/ files. Install the setserial package.
Add a /etc/modprobe.d/thinkpad-t43 file there with this content:
# Intel Wireless, default to radio offline for safety and security options ipw2200 disable=1 led=1 hwcrypto=1 # IrDA alias irda0 nsc-ircc options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3 install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe --ignore-install nsc-ircc
References:
laptop-mode-tools
Install and configure laptop-mode-tools to your liking. If really want to protect your HD when moving the ThinkPad around, laptop-mode-tools can help that dramatically by leaving the drive spun-down and parked most of the time.
Software that needs packaging
- hdapsd (a bit crude, needs a lot of work still)
- ipw2200/ieee80211 need adopting, and since they clash terribly with in-kernel support, they will only work right if we either convert them to be patch-based, or to detect that the user built with in-kernel ieee80211/ipw2200 enabled and abort the out-of-tree compilation.
Software that could benefit from re-packaging
- hsfmodem: should be easy to build out-of-tree in another machine other than the one it will be installed at