Xubuntu Linux on a Lenovo ThinkPad SL500

Kathryn Andersen 19th March 2009

Linux Distribution

I downloaded and burned a Xubuntu Jaunty alpha6 CD, because

  • I thought it would be more likely to support the newer hardware.
  • I thought it would be easier to install Jaunty on a fresh system, and it was alpha6, thus pretty close to fine.
  • I didn't want to wait for the non-alpha release.
  • Jaunty would enable me to start off with ext4 filesystems with all their features.

Hardware

Graphics

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

Audio

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

USB

00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)

Ethernet

0c:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

Wireless

02:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection

The rest

0d:00.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
0d:00.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
0d:00.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
0d:00.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
0d:00.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)

Repartitioning the Hard Drive

At the suggestion of http://www.thinkwiki.org/wiki/Pre-Installation_steps I booted up into MS-Windows and burnt a set of Rescue CDs, just in case. However, I had no intention of selling my soul to Microsoft, so all the MS-Windows stuff was slated for erasure.

I booted into the Xubuntu LiveCD, and used gparted to partition the disk as follows:

/dev/sda1 ext3 /boot /dev/sda2 ext4 / /dev/sda5 ext4 /files (I use this for common and personal files) /dev/sda6 swap

Xubuntu Installation

I used the Xubuntu Jaunty alpha6 CD to install from after I'd done the partitioning. I had to choose "manual" partitioning in order to preserve my chosen partitioning scheme, and that was when I designated which partition would be mounted where.

It restarted fine, with GDM for login, and Xfce as the window manager, with the correct 1280x800 resolution. However, it would brighten and dim randomly. Also, switching over to the console (Ctrl-Alt-F1) gave me a horrible unreadable flickering screen. I assume this will be fixed by the time Jaunty is out of alpha.

xorg-x11

I installed dontzap so that I could enable Ctrl-Alt-Backspace (which is apparently disabled by default in Jaunty).

sudo apt-get install dontzap

Brightness and Hotkeys fix

The SL500 isn't actually a ThinkPad, the hardware is IdeaPad, so it can't use the thinkpad-acpi module, and thus no multimedia keys. And the brightness controls are backward. However, following (mostly) the instructions at http://gianlucamagalotti.wordpress.com/2009/02/16/lenovo-thinkpad-sl-series-hotkeys/ fixed the brightness problems, and gave me most of the multimedia hotkeys.

Corrections:

  • Where it says to edit /etc/modprobe.d/blacklist, that should be /etc/modprobe.d/blacklist.conf instead.
  • The editing of /etc/init.d/hotkey-setup wasn't quite the same, as the original file was different from his original file.
  • I needed to add my own copy of /usr/share/hotkey-setup/lenovo.hk (from Intrepid) because Jaunty didn't seem to have one.

Framebuffer 1280x800

Edited /boot/grub/menu.lst:

## additional options to use with the default boot option, but not with the ## alternatives ## e.g. defoptions=vga=791 resume=/dev/hda5 %red%# defoptions=splash vga=0x0368

Updated grub: % sudo update-grub

Reboot. Nice 1280x800x24 framebuffer, and it also solved the console flickering problem.

Login Manager

Part of the reason I wanted to get the framebuffer working was so that I could install and use qingy as my login manager rather than gdm. Initially, I couldn't get qingy to work. Oh, it would run, but I could only see 1/4 of the screen; the rest was black.

I fixed it by updating the framebuffer modes.

fbset >> /etc/fb.modes

This gives the framebuffer the data it needs to cope with the 1280x800 resolution. After that, qingy displayed fine.

Suspend

Suspend to memory worked out of the box in Xfce4. The machine wakes up when one lifts the lid, which is kind of nice. Hibernate works too.

Suspend Via Hotkey

Why suspend via hotkey?

  • Because I also like to use more lean window managers such as Fvwm and Xmonad, who don't have pretty applets for things like suspend.
  • Because a hotkey is usually quicker than going click-click-click with the mouse or touchpad, and that can be rather important when one has to suspend Right Now (for example, when one comes to the end of a journey).

How to get it working:

  1. Install xbindkeys; this is because xbindkeys will work in whatever window manager you are using; you don't have to re-do the bindings when you change window managers. sudo apt-get install xbindkeys
  2. Edit .xbindkeysrc [@ "sudo /usr/sbin/pm-suspend" Mod5 + z

"sudo /usr/sbin/pm-hibernate" Mod5 + Shift + z@] I used Mod5; you can use whatever bindings you want.

  1. Edit /etc/sudoers: sudo vim /etc/sudoers and add the following lines (replacing "username" with your username): username ALL=NOPASSWD:/usr/sbin/pm-suspend username ALL=NOPASSWD:/usr/sbin/pm-hibernate This gives you permission to run suspend and hibernate without being asked for a password.
  2. Run xbindkeys on window manager startup; this is window-manager dependent, so I won't go into it.
  3. Log out, log back in. You should now be able to press your chosen hotkey combination and go into suspend and hibernate.

Sound

The soundcard works, the headphones work, but the speakers don't. I'm not sure whether I inadvertantly turned them off or not. I'm not going to bother to investigate, because I prefer using headphones with a laptop anyway.

USB

USB worked as expected; my USB mouse was detected.

Automount Setup

(To be done: add information on automount setup without a gui)

Wireless

Worked out of the box.

Not Yet Tested

And probably not likely to be tested any time soon...

  • Bluetooth
  • Firewire port
  • SD/MMC Card Reader
  • Modem

Files

Helpful Links