Manicai.net

Linux on a Thinkpad R30

This guide is getting very long in the tooth. I no longer run Linux on this machine so can't answer specific questions about it. Linux distributions have also improved immeasurably since it was written.

I got a Thinkpad R30 after having my Dell C600 stolen. There had been several annoyances with the Dell that caused me to switch, most irritatingly that I kept tapping the touchpad when using the trackpoint so would end up half a screen away from where I wanted to be. I was also fairly unimpressed with the build quality of the Dell (there probably wasn't anything actually wrong but it felt really tacky and flimsy).

The laptop came with Windows 2000 on a 30Gb harddrive and no recovery disk. The later part made some of the installation awkward. The other vital statistics of the machine are a 1000Mhz/700Mhz Intel Pentium III Speedstep, 128Mb RAM and a DVD drive. Things I miss, a floppy drive (but not enough to get the external one yet) and the fact you can't replace the CD/DVD drive with a battery (which very useful if you're on the move). **

Debian briefly

Having got Debian on to the C600 (see here for details), I tried it on my new R30. Unfortunately I want to do a network install of Woody (the then testing release) and couldn't persuade the network card to play ball. Feeling impatient I gave up fairly quickly.

SuSe

I then moved to using SuSe 7.3. This was very easy for the most part.

Repartitioning

Repartitioning the drive was the tricky bit. The R30 doesn't come with a recovery CD let alone a proper Windows CD (unlike the Dell), there is a small partition at the end of the hard drive that plays this part.

Having backed up what I thought might be useful, I killed the main Windows partition leaving the recovery part alone and split it into appropriate chunks. I then installed Linux in the middle partitions leaving /dev/hda1 for Windows (if memory serves Windows insists on being the first partition on the primary drive). With this done, I setup Lilo to boot Linux (on /dev/hda5), what was to be Windows (/dev/hda1 and the Windows recovery partition (/dev/hda2).

I then booted to the recovery partition and let it do it's work. When I rebooted to my new Windows 2000 partition I had to play around a bit to get the screen resolution decent and the recovery was missing things like the DVD player, but these bits were either on the recovery partition and could be copied across (but only whilst in Linux!) or backed up. (Sorry, can't remember which was where.)

Linux Installation

The installation of SuSe went completely smoothily. Drop the DVD in, hit go. All the hardware was detected and worked (except the modem which probably won't work at all). Tweak the packages choices and leave it in a corner until the disks stop whirring. And everything was wonderful ... almost

Pointer Problems

There was one bugbear. Occasionally the pointer would end up being about 1cm to the right of where the click were being registered. The problem was intermittent and seemed to occur most regularly when charging or discharging the battery. Once it occurred the only way to stop it was to shutdown and start again (neither restarting X nor rebooting fixed it). Eventually I found this installation account which mentions another pointer problem. It turns out that the fix is the same, to turn software cursor for X on (Thanks Hubert). To do this you need to have your XF86Config look something like this:

    Section "Device"
        Driver       "trident"
        Identifier   "Device[0]"
        Option       "dpms"
        Option       "swcursor" "on"
        Screen       0
    EndSection

The important line being Option "swcursor" "on". My final XF86 Config is here.

Adding a USB Mouse

Some time after setting everything up I added a Microsoft USB mouse (the R30 doesn't have a PS/2 port). Since I've never really got on with SaX (the SuSe X config tool) I added this to the XF86Config manually. The appropriate incantations are:

    Section "InputDevice"
        Driver       "mouse"
        Identifier   "USB Mouse"
        Option       "Device"       "/dev/input/mice"
        Option       "Name"         "Intellimouse"
        Option       "Protocol"     "imps/2"
        Option       "Vendor"       "Microsoft"
        Option       "ZAxisMapping" "4 5"
    EndSection

and

    Section "ServerLayout"
        Identifier   "Layout[all]"
        InputDevice  "Keyboard[0]" "CoreKeyboard"
        InputDevice  "Trackpoint" "CorePointer"
        InputDevice  "USB Mouse" "SendCoreEvents"
        Option       "Clone" "off"
        Option       "Xinerama" "off"
        Screen       "Screen[0]"
    EndSection

Upgrading SuSe

One of the things I tried to fix the mouse problem was upgrading from SuSe 7.3 to 8.0. It didn't work. Since I've known people complain about the SuSe upgrade procedure before, I think it's worth saying that it went completely smoothly, put the disk it, accept all the default options and let it run. An hour and a half later I had a newly upgraded system running without a hitch.

Moving to SuSe 9.1

Whilst when moving from 7.3 to 8.0 I just did the standard YaST upgrade steps for going to 9.1 I decided it would be easier to just back up my home directory and other stuff and reinstall from scratch.

Consequently the install process was pretty clean. The mouse worked immediately this time. The only thing that broke was that I couldn't access my Crucial USB memory stick. Eventually I tracked down this discussion. However that evening I also did an online update which must of done something because the problem went away before I had to try any of the techniques in the thread.

The biggest problem I had was installing a WLAN card. It generally seems that these aren't well supported out of the box on Linux. However there are several projects like NdisWrapper that allow you to use the Windows drivers. Linuxant also make a commercial version. For $20, piece of mind and list of compatible hardware I decided to go for Linuxant's option and a Linksys WPC54G.

Set up under Windows was easy, as you'd except. Under Linux it turned out to be more hassle. Linuxant's stuff all seemed to work but when I installed the driver it said that the hardware couldn't be detected. After running round in circles a bit, I found that it seemed to be because when I'd installed under Windows, I'd set up WEP. Removing this a re-installin the Linux stuff and it suddenly worked.

Until I bought the license, when it seemed to die again, in a similar way. Unfortunately deconfiguring WEP (via rebooting in Windows) and re-installing didn't help. Eventually web searches turned up the magic incantation of

$ dldrconfig --remove
$ dldrconfig --auto

At which point everything start working happily again.


ian@manicai.net
Built using webgen on Wednesday, August 27 20:53:36 BST 2008