Installing Ubuntu 5.10 on a ThinkPad R50e

From ThinkWiki
Revision as of 02:48, 12 February 2006 by Saxphile (Talk | contribs) (Added the ipw2200+wpa_supplicant section and some finishing touches)
Jump to: navigation, search

This page aims to illustrate issues and (hopefully) solutions encountered while installing Ubuntu 5.10 (Breezy Badger) on a Levono ThinkPad R50e. As usual, caveat emptor. Also, don't forget to create backup CDs for your IBM Rescue and Recovery partition (see Ordering Recovery CDs).

The configuration of the ThinkPad used is as following:

 Levono ThinkPad R50e 1834-A67 (a Taiwan-specific model?)
   Intel Celeron M 360 (Dothan 1.4GHz)
   Intel 855GM Chipset
   14' XGA (1024x768) TFT
   Intel PRO/Wireless 2200BG Mini-PCI Adapter
   DVD±RW Writer (Not removable)
   Windows XP Home


Installing the OS was fairly straight forward. I put in the Ubuntu install disc and pressed F12 to bring up the booting device menu. At the partitioning menu I chose to let Ubuntu resize the existing NTFS partition and create partitions it needed automatically. Everything went well and I was able to boot into both Windows XP Home and the Rescue and Recovery partition from GRUB without any extra effort. It should be noted, however, that I did this on a brand new machine. So if you had made changes to your MBR or partitioning table, you might get different results.


The Ethernet interface works right after installation as expected (eth1). The Intel PRO/Wireless 2200BG Mini-PCI Adapter was detected (eth0), but probably only works with open networks (I didn't have one to test). As my wireless network (Apple Airport Express) uses WPA/WPA2, I went straight on to make ipw2200 work with wpa_supplicant. This turned out to be quite a complicated task since most articles on enabling WPA on ipw2200 in Ubuntu are written for earlier versions of Ubuntu.

There are plenty of instructions on the 'net for configuring ipw2200 with wpa_supplicant. Unfortunately most of them are geared toward other distro or Ubuntu 5.04 Hoary, which make the situation confusing, to say the least. While there is an instruction specifically written for Breezy Badger, I had installed and removed different versions of drivers/firmwares so many times that I actually cannot remember exactly what made it work. Therefore, I'll provide links to website which I visited and some rough instructions on how I did it.

The driver/firmware combination that works for me is as following:

 ipw2200 1.0.8
 Intel® PRO/Wireless 2200BG Driver Firmware 2.4
 ieee80211 subsystem 1.1.6

First, in order to compile the drivers, follow the instructions here to install the necessary packages. While you're there, follow the instructions to add extra repositories. Then go here for instructions of installing the drivers/firmware. Then finally, go here and follow the instructions from 4. Edit wpasupplicant configuration files and on. Obviously you need to know your ssid and passphrase, etc.

If you have been messing around installing different versions of drivers, then you definitely want to have a look at this.

There's a really long wait during booting (if you don't have an Ethernet cable plugged in) when init.d is waiting for the network interface to load. I suspect it might have something to do with /etc/init.d/wpasupplicant, which starts the wpa_supplicant deamon and waits for the name interface to come up. I haven't go around to playing with this though, so if you find some way to modify the file to change this behavior, please contribute.

One thing that's still unsolved (beside the long wait during booting) is this error message from dmesg:

  ipw2200: Can't set TKIP countermeasures: crypt not set!

I tried disabling hardware crypto following the instructions here, but it didn't seem to do any good. Please contribute if you have a solution for this.

Here's a list of links I consulted:

 ubuntu Wiki's WPA How-To
 HOWTO: ipw2200 + wpa
 HOWTO: Compile/Install latest version of ipw2200 -> Probably the most useful link

I do not use the built-in modem, so I didn't bother testing it. However, it was suggested here that Conexant's driver works.

Power Management

Some webpages have instructions on how to enable SpeedStep support for Celeron M. But according to Intel, none of the Celeron M processor (at least the new ones) support it. I tried loading p4_clockmod and cpufreq_userspace, and only the latter worked. I suppose it might be useful if you want to manually adjust the speed of your CPU. Or, if your CPU supports SpeedStep (e.g. Pentium M), see here for instructions on how to make it work.

The fan seems to work fine without any tweaking as indicated here.

Standby, Sleep and Hibernation

Standby Hitting Fn+F3 blanks the screen and turns the backlight off. It is supposed to lock the screen, but sometimes it doesn't work; I haven't been able to figure out what causes this. No additional changes are necessary.

Sleep To make sleeping work, the following changes are needed:

Open a terminal and enter this command:

  sudo gedit /etc/default/acpi-support

And uncomment "ACPI_SLEEP=true" (by removing the # character in front of it)
Then enter this command in terminal:

  sudo cp /etc/acpi/ /etc/acpi/sleep.sh_backup
  sudo gedit /etc/acpi/

Replace the line "echo -n $ACPI_SLEEP_MODE >/sys/power/state" with 
(take from Problem with display remaining black after resume):
  # change to console 1
  chvt 6

  # safe video state
  cat /proc/bus/pci/00/02.0 > /tmp/video_state

  # sync filesystem

  # sync hardware clock with system time
  hwclock --systohc

  # go to sleep
  echo -n 3 > /proc/acpi/sleep

  # waking up
  # restore system clock
  hwclock --hctosys

  # restore video state
  cat /tmp/video_state > /proc/bus/pci/00/02.0

  # change back to X

  # clean up behind us
  rm /tmp/video_state

Press Fn to wake up. Screen locking works consistently, unlike standby.

Hibernation Hibernation works straight out of the box. Press Fn+F12 or choose Hibernation from the logout menu to hibernate.

Display and external monitor

The built-in Intel Extreme Graphics 2 works just fine with the built-in display. You can use i855crt (proceed with caution) to make the TFT and external monitor/projector mirror each other, but I found that much less useful than screen spanning. I'm still working on this. Please contribute if you have a solution.

Various Tweaks

Refer to Installing Ubuntu 5.04 on a ThinkPad T43 (1875) for the following tweaks:

 *  Don't slow down boot-up by synchronizing with network time
 *  Don't slow down boot-up when no Ethernet cable is attached

Refer to Ubuntu Linux 5.10 Breezy Badger on an IBM ThinkPad T42 for the following tweaks:

 *  Enable TrackPoint middle-button scrolling
 *  Enable Page-Back and Page-Forward keys in Firefox (doesn't yet work with FireFox 1.5)
       Note: I suggest configuring them as PgUp and PgDn instead. Just put this in ~/.Xmodmap:
                 keycode 234 = Prior
                 keycode 233 = Next
             Log out and log again.
 *  Install on-screen confirmation for the ThinkPad buttons (other than Fn+F5)
 *  Visual feedback for Fn+F5 (I'd recommend against it because the script crashed my system.)

Special Notes on speeding up booting by not initiating network interface(s) and/or ifplugd

If you have ipw2200 configured with wpa_supplicant, you should leave HOTPLUG_INTERFACES="" in /etc/default/ifplugd as it is. Otherwise it produces an annoying error message during booting. Also, ipw2200+wpa_supplicant takes a long time to initiate, so there's still a wait during booting, and I haven't found a way around it yet (besides plugging in an Ethernet cable). There is a fix suggested in here, but it doesn't seem to work when you have ipw2200 working with wpa_supplicant (it actually disables the wireless connection). If you have any suggestions, please let me know.


Installing Ubuntu Breezy Badger (5.10) on ThinkPad R50e (German)

Ubuntu Linux 5.10 Breezy Badger on an IBM ThinkPad T42