User:Hmh

From ThinkWiki
Revision as of 00:46, 24 May 2006 by Hmh (Talk | contribs) (laptop-mode-tools)
Jump to: navigation, search

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)

NOTE!
Thinkpad support is an ongoing, bleeding edge effort. One ends up needing to apply a ton of patches and to use the latest available kernel, sometimes even kernels not yet released
Hint:
The Con Kolivas (ck) desktop kernel patches might be very applicable to a ThinkPad Kernel

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.

Kernel setup tasks

  1. Make sure the following subsystems are modules (for suspend/resume)
    1. USB (especially EHCI_HCD and UHCI_HCD)
    2. HDAPS (may work compiled in, as well)
  2. Make sure the following subsystems are enabled and not modules (safety net)
    1. ThinkPad SMAPI
  3. Place the following modules on /etc/modules:
    1. hdaps
    2. nsc-ircc
    3. tg3
    4. ipw2200
  4. Configure IrDA module options
  5. 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:

Template:FIXME

/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
NOTE!
Using the ondemand governor can do a number on your CPU power regulator, the conservative governor is a much better choice overall, and in fact is good enough at what it does that no userspace power governor daemon is needed, or even desired

udev rules

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

NOTE!
If nobody beats me to it, I will probably package them for official upload to Debian, and official Debian Sarge backports. This requires that the software be properly licensed first, of course
  • 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

External Links