Installing Debian 5.0 (Lenny) on a ThinkPad X200

From ThinkWiki
Revision as of 00:40, 4 October 2008 by Dsvensson (Talk | contribs) (Suspend To RAM)
Jump to: navigation, search

Installation

This laptop is free from legacy devices such as CD/DVD so installation is a bit trickier than the average laptop. I first attempted to install using the Goodbye Microsoft installer from Vista. To get the menu visible in the Vista version I used I had to type this into a priviliged cmd.exe:

bcdedit.exe /timeout 5

A couple of reboots later I gave up on this method as the menu item refused to boot with the reason that it couldn't find the "\g2lbr.mbr" file, or that it might be corrupt. Before giving up I tried changing this path. This can be done by issuing:

bcdedit.exe 

This will print all the boot alternatives. You'll see a long id-hash associated with the Debian Installer. Grab that and go ahead with the next:

bcdedit.exe /set {the-long-id-hash} path WHAT-YOU-BELIVE-IS-CORRECT

I tried changing this to "c:\g2lbr.mbr" as that's where the file is located, but without any luck.

Next up.. I grabbed a legacy-device, USB DVD drive ;). Netinst went fine and after booting up the system I installed the 2.6.26 package from a USB stick and ethernet was up and running. I'm still fighting with X and wifi, so I'll update this page later.

Ethernet

Ethernet works after upgrading to version 2.6.26 of the Linux kernel.

[    1.533055] eth0: (PCI Express:2.5GB/s:Width x1) 00:1f:16:06:ee:ec
[    1.533055] eth0: Intel(R) PRO/1000 Network Connection
[    1.533055] eth0: MAC: 5, PHY: 8, PBA No: 1008ff-0ff

Wireless

Still haven't got wifi to work. It should be possible to use the 2.6.26 version of the kernel together with 'iwlagn' wifi driver from:

git-clone git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat-wireless-2.6-old.git

The firmware can be found here:

http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-5000-ucode-5.4.A.11.tar.gz

And should be put in '/lib/firmware/'

I tried building this but it turned out to be a nasty soup of missing symbols so I continued to look for a faster fix. A while later I found that the Debian Kernel Team kindly provided an apt source with snapshots of the latest kernel, bingo!

 deb http://kernel-archive.buildserver.net/debian-kernel trunk main 

Unfortunatly this didn't do the trick either. I can now see the device in dmesg, and even in ifconfig, and even browse wireless networks with iwlist, but it's not usable yet, no idea why.. maybe my wpa_supplicant-fu is too weak. There is also an issue with the driver not exposing the device type correctly to the OS so programs such as NetworkManager identifies the device as a regular wired ethernet device.

Bug filed against Debian Hal package, found here.

The problem had been fixed after Hal 0.5.11 was released, so it was just a matter of backporting those changes and the wifi card was finally detected correctly by network manager. Until a new package hits Sid you can use my packages on your own risk if you so chose.

Video Card

The Intel 4500MHD needs a newer Xorg driver than available in Sid so I had to install from experimental:

$ cat /etc/apt/preferences 
Package: *
Pin: release a=experimental
Pin-Priority: 101

$ cat /etc/apt/sources.list | grep experimental
deb http://ftp.port80.se/debian/ experimental main
deb-src http://ftp.port80.se/debian/ experimental main

$ sudo aptitude update

$ sudo aptitude -t experimental install xserver-xorg-video-intel

With this in place, it's only a matter of updating Xorg to have something like this:

Section "Device"
        Identifier      "Configured Video Device"
        Driver "intel"
EndSection

Tada... accelerated X

Trackpoint

The integrated orgasmic educator works out of the box.

[    8.516313] IBM TrackPoint firmware: 0x0e, buttons: 3/3
[    8.536456] input: TPPS/2 IBM TrackPoint as /class/input/input9

Web Camera

The built-in webcam works out of the box.

[    8.004081] uvcvideo: Found UVC 1.00 device <unnamed> (17ef:480c)
[    8.004361] input: UVC Camera (17ef:480c) as /class/input/input8
[    8.010590] usbcore: registered new interface driver uvcvideo
[    8.010594] USB Video Class driver (v0.1.0)

ACPI Power Management

Haven't tried any PM yet but here's what the kernel has to say. The error might be caused by me not having any docking station, just a guess though.

[    7.610770] ACPI: \_SB_.PCI0.SATA.PRT1: found ejectable bay
[    7.610770] ACPI: \_SB_.PCI0.SATA.PRT1: Adding notify handler
[    7.610770] ACPI: Error installing bay notify handler
[    7.621495] thinkpad_acpi: ThinkPad ACPI Extras v0.20
[    7.621495] thinkpad_acpi: http://ibm-acpi.sf.net/
[    7.621495] thinkpad_acpi: ThinkPad BIOS 6DET28WW (1.05 ), EC 7XHT21WW-1.03
[    7.621495] thinkpad_acpi: Lenovo ThinkPad X200, model 74585MG
[    7.625495] thinkpad_acpi: radio switch found; radios are enabled
[    7.625495] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
[    7.625495] thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
[    7.629495] Registered led device: tpacpi::thinklight
[    7.629495] Registered led device: tpacpi::power
[    7.629495] Registered led device: tpacpi:orange:batt
[    7.629495] Registered led device: tpacpi:green:batt
[    7.629495] Registered led device: tpacpi::dock_active
[    7.629495] Registered led device: tpacpi::bay_active
[    7.629495] Registered led device: tpacpi::dock_batt
[    7.629495] Registered led device: tpacpi::unknown_led
[    7.629495] Registered led device: tpacpi::standby

Suspend To RAM

After upgrading Xorg to experimental and enabling the intel driver suspend to ram started to work (should have tried from console to start with *doh*). The only problem is now that X kind of hangs, still closable with ctrl+alt+backspace which wasn't the case with the intel driver from Sid. After a restart of X everything is back to normal, wifi still works etc.

Suspend To Disk

Works out of the box.