Installing Debian 3.1 (Sarge) on a ThinkPad T43p

From ThinkWiki
Revision as of 04:57, 25 October 2006 by Wehe (Talk | contribs) (lspci Output: added external sources section)
Jump to: navigation, search

This is how I installad Debian / Sarge on my new T43p.

Installation

I also got a new 100 GB HDS disk, so I swapped out the 60 GB model an plug in my new 100 GB. When I booted the Sarge Installdisks with the 2.6 Kernel, Linux was not able to recognize the HD.

Then I booted with the old 2.4 Kernel, installed sarge, get a fresh kernel from kernel.org. After compilation and replacing hda through sda, the T43p boot into 2.6.

Note: Changing to the 2.6.8 kernel Sarge offers does not work, boot stops during init. A recent 2.6.15 kernel from backports.org does it, there's a detailed description available.

Restated:

  • The Debian Sarge installation will not work if you try to use the 2.6 kernel. In brief, your hdd will be detected as a SCSI device, and should be assigned to /dev/sda. However, the installation program will look for the device as /dev/hda and refuse to boot. I have had no success in using the automated installation bootstrap sequence of a 2.6 kernel from the sarge installation cd - email me if you have an experience otherwise.
  • That being said, this is actually pretty simple to fix, and there are a multitude of ways to get around this. The easiest is to install the 2.4 kernel, which will put your drive in a ATA compatability mode (slooooww, approxmiately 4 MB/s throughput. Install it, and then install the 2.6 kernel. When you install the 2.6 kernel, change in your menu.lst or lilo config all references of /dev/hda to /dev/sda. You can get a nice .config for a modern kernel elsewhere on this site. I'm trying to move everything here for a central repository of information, but in the meantime check out the Linux on Laptops website for a wide selection of configs.
  • Alternatively, you can bootstrap Sarge's installation by using a linux boot cd (Knoppix / SuSe Live or equivalent) and then changing boot parameters, or installing the base system via this linux boot. I did something like this when I upgraded from slackware. Nevertheless, installing via the 2.4 kernel is probably the easiest option. With linux, there are always multiple ways of accomplishing the same thing.  :)
  • Otherwise, choose your packages to install, and have fun. You will get a basic, working, Debian system.

Hardware

CPU and frequency scaling

First you have to activate ACPI and Speedsteep in your Kernel:

CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_IBM=y
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y


CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
CONFIG_X86_SPEEDSTEP_ICH=y
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

apt-get install acpid powernowd

you can test your current cpu frequenc with the following comand: echo `cat /proc/cpuinfo | grep "^cpu MHz" | cut -d":" -f2` MHZ

Network

Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express (rev 11) Works with the tg3 module

NOTE!
With newer versions of the Kernel there is no tg3 module anymore :(

Note in note: at least in kernel 2.6.15 from http://backports.org tg3 is still available. So if you're using Sarge there's nothing to fear.

I read something about licencing issues and stuff and that because of these the Debian project removed that module from their release.

But there is still the painfull way to go:

Install that package: http://packages.debian.org/unstable/net/bcm5700-source, the kernel header files and the module-assistant. Start the module-assistant and run through that program (satisfying every compiling need) until it asks if you want to install the newly compiled module.

If everything worked,

modprobe bcm5700

and

ifup eth0 (or whatever your network is called)

See http://jriddell.org/thinkpad-r40e.html -> Network, for details.


The onboard Intel WLAN adapter works with Ipw2200 module. The driver does not appear to support MII interface, so any roaming network configuration manager that uses it ( whereami in particular ) will prevent the card from working properly. I found that the combination of ifplugd, ifmetric and waproamd are a better solution, until NetworkManager comes around.

Bluetooth

Nothing special here. Working without any problem. Uses the standard bluez stack and should behave well. If you turn the bluetooth on using Fn+F5 and the light does not appear, restart your hotplug system by issuing the command:

/etc/init.d/hotplug restart

and you will be all set.

Sound

Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller
Use built-in or modular ALSA snd_intel8x0, works without any problems.

  • Configuration: You can simply use alsaconf followed by alsamixer to ensure that volumes are set appropriately. Alsa mixing works wonderfully with any application that supports it (e.g. all KDE integrated apps.)
  • You may need to set compile options for other applications (e.g. mplayer) to use alsa.
  • Do not use the oss drivers if you want everything to play nice. Otherwise, you will get a lot of busy /dev/dsp's and have to use the oss alsa wrapper, which is a pain in the best of circumstances.

Issues: MIDI synthesis does not seem to work with this setup - has anybody gotten this to work? I have gotten nowhere troubleshooting this issue. The virtual MIDI soundcard is selected in my .config...

Graphics Adapter

ATI Technologies Inc M24 1T [FireGL M24 GL] (rev 80)

It is a ATI Mobility FireGL V3200 with 128MB

The fglrx driver use and setup is discussed in depth elsewhere on this wiki. If you like you can use an installer:

I used the debian packages from [1] version 8.14.13-2 and followed the instructions on that page.

With version 8.22.5 and a backport's kernel 2.6.15 on Sarge there's another way.

Nothing special here. (XFree 4.3.0.dfsg)

Note that debian sid now includes xorg server package if you like - ATI's driver works with both XFree and XOrg nicely.

Mouse

I use one external USB Logitech Trackball and both internal, the Touchpad and the Trackpoint. In my XF86Config-4 are 3 mice.

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "PS/2"
EndSection


Section "InputDevice"
        Identifier      "Configured Mouse_II"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "PS/2"
EndSection

Section "InputDevice"
        Identifier      "Generic Mouse"
        Driver          "mouse"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ImPS/2"
        Option          "ZAxisMapping"          "4 5"
EndSection

Buttons

ThinkLight Fn + PgUp Just worked (can also be toggled through ibm-acpi's /proc/acpi/ibm/light)
Display brightness up Fn + Home Just worked (no software necessary)
Display brightness down Fn + End Just worked (no software necessary)

KDE Konfigurationtool for the Buttons: apt-get install kmilo

Various Information

lspci Output

To have all the hardware show up with its proper name, I had to get a new pci.ids file from the Linux PCI ID Repostiory and copy it to /usr/share/misc/pci.ids. I believe newer distributions and kernels won't need that file anymore. -- 2005-07-19 (kernel 2.6.12.2) still need it.

0000:00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
0000:00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03)
0000:00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
0000:00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (rev 03)
0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
0000:00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
0000:00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
0000:00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
0000:00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03)
0000:00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
0000:00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc M24 1T [FireGL M24 GL] (rev 80)
0000:02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express (rev 11)
0000:04:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)
0000:04:02.0 Network controller: Intel Corporation: Unknown device 4224 (rev 05)

External Sources