|   |     | 
| (21 intermediate revisions by 2 users not shown) | 
| Line 1: | Line 1: | 
| − | == ThinkPad T43 2687-DDU setup for Debian Etch == | + | == Who is Hmh? == | 
|  |  |  |  | 
| − | This is an ongoing, spotty guide foran advanced {{Debian}} setup of a{{T43}},focused on using absolutely all ofits capabilities that can be used.  It is not an installation guide,but rather a configuration guide.  Refer to {{Debian}} fora list of pages with initial installation instructions.
 | + | I am a Debian Developer for quite a few years now, and the current maintainer of [[ibm-acpi]]/[[thinkpad-acpi]], aka "ThinkPad ACPI Extras" Linux kernel driver for ThinkPad laptops. | 
|  |  |  |  | 
| − | When it is really usable, Iwill move it to some other far more public place in [[ThinkWiki]].
 | + | I am also involved with the [[tp_smapi]] and [[HDAPS]] Linux drivers, as a beta-tester and power-user.  I don't list myself as a developer for those projects because I have never contributed a single line of code to them, just suggestions and bug reports ;-) | 
|  |  |  |  | 
| − | Installing should be done using the latest Debian Etch debian-installer release.  Anything else simply will not run on the ThinkPad.
 | + | == My ThinkPads == | 
|  |  |  |  | 
| − | === Kernel ===
 | + | I own just a simple [[:Category:T43|T43]] model 2687-DDU.  It is a great machine: a very solid ThinkPad, with its own set of annoying quirks just like any other IBM-era ThinkPad.  The SATA-PATA bridge, tg3 noise at full network load, and lack of support for AHCI being the worst ones IMHO. | 
|  |  |  |  | 
| − | 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 [http://members.optusnet.com.au/ckolivas/kernel/ Con Kolivas (ck) desktop kernel] patches might be very applicable to a ThinkPad Kernel}}
 | + | == ping == | 
|  |  |  |  | 
| − | ==== Patches employed ====
 | + | This is a ping edit, to let Akw know I am still alive and to not purge my account ;-) | 
| − | * 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 abit more difficult,as you will have tomess with Kconfig.
 |  | 
| − | :* copied files over the in-kernel files in {{path|include/net}}, {{path|drivers/net/wireless}}, {{path|Documentation/networking}}, {{path|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 andadd them to{{path|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.
 |  | 
| − | * [[Problems with SATA and Linux#Hang on resume from suspend to RAM|SATA power-management]]
 |  | 
| − | * [[HDAPS|freeze-block-queue patch (for HDAPS)]]
 |  | 
| − | * [http://acpi.sourceforge.net/download.html ACPI update patches]
 |  | 
| − | * [[Tp smapi|TP SMAPI support]]
 |  | 
| − | * [[Software Suspend 2]]
 |  | 
| − | * [[Conexant HSF modem drivers#The Linuxant hsf driver|Linuxant Conexant HSF modem driver]]
 |  | 
| − | * [[How to make use of IrDA#ISA PnP patch|nsc-ircc ISA PNP patch]]
 |  | 
|  |  |  |  | 
| − | ==== Kernel setup tasks ==== | + | == Links == | 
| − | # 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
 |  | 
| − | # [[How to make use of IrDA#Kernel configuration|Configure IrDA module options]]
 |  | 
| − | # ipw2200 firmware needs to go in {{path|/lib/firmware}}. The module should be given the led=1 module parameter option
 |  | 
|  |  |  |  | 
| − | === Userland ===
 | + | * [[ibm-acpi|The Linux kernel ibm-acpi driver, which I currently maintain]] | 
| − |   | + | * [http://people.debian.org/~hmh/ My Debian.org homepage with some old stuff] | 
| − | ==== 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:
 |  | 
| − |   |  | 
| − | {{FIXME|nothing here yet}}
 |  | 
| − |   |  | 
| − | ===== /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
 |  | 
| − |   |  | 
| − | ==== udev rules ====
 |  | 
| − |   |  | 
| − | # udev extended network interface naming needs to be configured, order of tg3/ipw2200 won't be respected if {{path|/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:
 |  | 
| − | * [[How to make use of IrDA]] |  | 
| − |   |  | 
| − | ==== 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-kernelsupport, 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 ==
 |  | 
| − | * [http://www.debianhelp.co.uk/udev.htm udev interface naming guide] |  | 
| − | * [http://members.optusnet.com.au/ckolivas/kernel/ ck desktop-kernel patches]
 |  |