User:Hmh

From ThinkWiki
Revision as of 13:11, 23 February 2006 by Hmh (Talk | contribs)
Jump to: navigation, search

ThinkPad T43 2687-DDU setup for Debian Sarge

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.

Kernel

Baseline kernel: Debian's latest 2.6.15 (2.6.15.4 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

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

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

Debian Sarge software packages

Some packages need versions far more up-to-date than those available in Sarge to properly support the new kernels.

Hint:
Refer to http://backports.org/instructions.html for instructions on how to setup apt for the backports.org repository
  • udev (backports.org), due to Linux kernel 2.6.15+
  • hibernate (backports.org), due to Software Suspend 2 2.2+
  • wireless-tools (backports.org), due to ipw2200 1.0.12+

Software that needs packaging/backporting

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)
  • pcmcia tools (verify if not already backported)
  • hal (!)
  • 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