Mark Alford's Fedora 7 GNU/Linux on an IBM Thinkpad T23

Last modified 2007-Aug-10

My experiences with other thinkpads and older versions of RedHat are available here.

Executive summary

The Fedora 6 to Fedora 7 "upgrade" has broken some working code.

Editorial: RedHat's defense of their decision to switch to a non-working firewire module (see the bug report) is to pass the buck: users should have reported it during the test phase. The actual lesson for users is quite the opposite. If Fedora is going to ship with major subsystems broken then most of us will now wait a month or two before installing new versions of Fedora. We only have one computer, and we need it to work.

Summary table

Component Status Notes
RAM (256MB) Works as expected
Graphics: S3 SuperSavage and 1024x768 LCD panel Works Set X driver to 16 bit depth ("thousands of colors") to get faster rendering
Hard drive (120GB) Works Transition from device /dev/hda to /dev/sda under Fedora 7
USB 1.0 port Works No problems, eg a 2G flash USB drive was automatically assigned to /dev/sdb1
Hibernation via BIOS (Fn-F12) Works Need kernel option acpi=off and hibernation file on primary FAT partition
Sound: Intel 82801CA/CAM AC'97 Audio Controller Works No problems
Wireless: Dell Truemobile 1150 PCMCIA card (Orinoco Gold) Works No problems
Wireless: TP-Link WN510G (v1.1) Cardbus card (Atheros chipset) Can be made to work Needs custom kernel with 16k stack
Firewire (Digital video capture, kino) Does not work Fedora 7 switched to a broken firewire subsystem. Amazing.
Needs custom kernel---different from the 16k stack one.

Installation Notes

  1. Xorg and SuperSavage graphics card

    The default configuration of the display was 1024x768 at 24 bit depth ("millions of colors"). This led to slow playback in mplayer and xine. The fix is to configure the display ("system-config-display") to 16-bit depth ("thousands of colors").
  2. Main hard drive

    For many years IDE hard drives have been assigned to devices /dev/hda, /dev/hdb etc. It it ain't broke, the Fedora Project wants to fix it. Now they are assigned to /dev/sda, /dev/sdb etc, muddling them up with SCSI devices like USB flash drives. In a fresh installation this transition is seamless, but when upgrading, Fedora 7 renames the partitions from /dev/hda to /dev/sda, and then, if the swap partition is identified in /etc/fstab by explicit device (rather than a label) the install runs out of memory because it can't find the swap partition! The solution is available from FedoraForum:

    1) Boot FC6. Work out which is your swap partition and turn it off, e.g. swapoff /dev/hda9. The swapoff command is in /sbin. Edit /etc/fstab and comment out the /dev/hda9 line.

    2) Boot off Fedora 7 DVD, select "upgrade" and proceed. After the dependency check, when it is waiting for you to click on a button to start the installation, press Ctrl-Alt-F2 to get a bash shell prompt. Check that the swap is still the 9th partition on the hard drive: I ran parted and typed "p" to print the partition table; sure enough it was still the 9th. Exit from parted and turn on the swap partition using its new name: swapon /dev/sda9. Then go back to the graphical install window (Ctrl-Alt-F6) and click on the button to start the install.

  3. Second hard drive

    I have a hard drive caddy for my Ultrabay, so I can put in a second laptop hard drive instead of a DVD reader. This is great, except that if there's a live GNU/Linux installation on the second hard drive with the same partition labels then grub goes insane and tries to boot it. One solution is to edit /boot/grub/grub.conf and replace the boot option root=LABEL=/ with an explicit specification of the root partition from which to boot, e.g. root=/dev/sda5. Another possibility might be to relabel the partitions on the second hard drive (e2label /dev/sdbX newlabel).
  4. Hibernation

    Requires kernel option acpi=off (add this to the kernel line in /boot/grub/grub.conf) and a specially-created hibernation file on a FAT partition. See my T23 FC2 notes. Once that file exists, BIOS-driven hibernation via the Fn-F12 key works.
  5. Wireless

  6. Firewire (video capture via kino)

    If you use firewire for downloading video from your digital video camera (via kino, for example) then for your purposes the Fedora 7 kernel is broken. You will have to get a new kernel and new raw1394 modules. I would stick with FC6!

    Instructions on repairing Fed7's broken firewire subsystem are available from ezplanetone. The steps are:

    Create /etc/yum.repos.d/ezplanet-updates.repo:

    ----
    [ezplanet-updates]
    name=Fedora EzPlanet Updates $releasever - $basearch
    baseurl=http://ftp.ezplanetone.com/pub/updates/fedora/$releasever/$basearch/
    enabled=1
    gpgcheck=0
    ----
    

    Get a new kernel and firewire from that repository:

    rpm -e --nodeps libiec61883 libraw1394 libavc1394 kino 
    yum --disablerepo=freshrpms --disablerepo=livna install kino  
    yum  install kernel  kernel-devel
    

    The first command removes the flawed components. The second command gets ezplanetone's kino and firewire support, while disabling other repos that might try to supply their own versions. The third command gets ezplanetone's kernel, with working firewire subsystem.

    Finally, reboot, and try running kino. It should work as in FC6.

  7. Sound

    Sound typically stops working after hibernation. This is fixed by reloading the sound module on resume, by setting RESTORESOUND="yes" in etc/sysconfig/apmd. But because of miscoding in etc/sysconfig/apm-scripts/apmscript we must also create an executable script /etc/sysconfig/apm-scripts/apmcontinue:
    ----
    #!/bin/sh
    # script to ensure that sound module is reloaded on resume.
    # apmscript doesn't do this correctly.
    case "$1" in
     suspend)  ;;
     resume)
        modprobe -r snd-intel8x0; modprobe snd-intel8x0 ;;
    esac
    ----
    
  8. Miscellaneous

    For information about keeping your system updated, disaster prevention, firewalling, etc, see my Linux hints page

alford(at)physics.wustl.edu

Mark Alford's home page

Valid XHTML 1.0! translation