Configuring Sound for Fedora Core 1 on and IBM Thinkpad 600E 2645-5AU

There have been numerous issues with the IBM Thinkpad 600E and the Crystal CS423x chipset. Solutions have included kernel patches, manual /etc/modules.conf settings, and changing PnP (plug and play) settings. There are stock OSS sound modules (Open Sound System) that ship with RedHat and Fedora Core distributions. Up until Redhat 9.0, it was possible to configure sound on the 600E using the “sndconfig” utility that ships with RedHat. A manual configuration could also be made to the /etc/modules.conf:

alias char-major-14 cs4232 
options cs4232 io=0x530 irq=5 dma=1 dma2=0 

These edits to the /etc/modules.conf were not sufficient for Fedora Core 1. The reasons have been posted all over the Internet. This tutorial has been designed to help beginner-intermediate level Linux enthusiasts configure sound on their 600E. It does not go into great detail about the “what” and “why” of things. It solves a problem.

Software Needed:

o Fedora Core 1 – kernel-2.4.22-1.2174

o RPM port of apt-get from http://www.freshrpms.net

o Pre-compiled ALSA sound system from http://www.freshrpms.net

o IBM Thinkpad 600E 2645-5AU BIOS update diskette

o IBM ps2.exe BIOS utility

Preparing the Sound Drivers

  1. Upgrade the Fedora Kernel from 2.4.22-1.2115 to 2.4.22-1.2174 using the up2date utility.

# up2date

  1. Install the apt-get utility from http://www.freshrpms.net. The apt-get package manager for Redhat/Fedora Core was ported from the Debian distribution of Linux. The www.freshrpms.net website contains well-built rpm packages for many desktop applications and is a huge asset to the open source community. Thanks to Matthias Saou for his commitment to the open source movement.

# cd /root

# wget ftp://ftp.freshrpms.net/pub/freshrpms/fedora/linux/1/apt/apt*

# rpm -ivh apt*

  1. The apt-get utility requires you to build (“update”) the package lists available.

# apt-get update

  1. Once the system is updated, you can install the ALSA sound system.

# apt-get install alsa-driver

# apt-get install alsa-lib

# apt-get install alsa-utils

# apt-get install alsaplayer

# apt-get install gnome-alsamixer

  1. You also need to download the actual Alsa kernel device drivers. These are architecture specific:

# cd /root

# wget ftp://ftp.freshrpms.net/pub/freshrpms/fedora/linux/1/alsa-driver/
kernel-module-alsa-1.0.2c-1.fr_2.4.22_1.2174.nptl.i686.rpm

# rpm -ivh kernel-module-alsa*

  1. Run the alsaconf utility. It will attempt to configure
    your sound card and edit the /tc/modules.conf. Allow the utility to attempt to configure the card with snd-cs4236.

# alsaconf

  1. When the configuration has completed, your /etc/modules.conf should have a snippet like this:

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF verion 1.0.2 ---

alias char-major-116 snd

alias char-major-14 soundcore

alias sound-service-0-0 snd-mixer-oss

alias sound-service-0-1 snd-seq-oss

alias sound-service-0-3 snd-pcm-oss

alias sound-service-0-8 snd-seq-oss

alias sound-service-0-12 snd-pcm-oss

alias snd-card-0 snd-cs4236

alias sound-slot-0 snd-cs4236

options snd-cs4236 port=0x530 cport=0x538 isapnp=0 dma1=1 dma2=0 irq=5

# --- END: Generated by ALSACONF, do not edit. ---

At this point Alsa is configured.

Preparing the BIOS

There have been numerous posts about how to deal with PnP on the 600E BIOS. The utilities tpctl, lspnp, and setpnp are mentioned frequently as the way to configure the BIOS from the OS level to get sound to work. The official utility from IBM is called “ps2.exe” and it is a DOS based bootable diskette. In order to create the diskette, a Windows based computer with floppy drive is needed.

It is also recommended that the BIOS be upgraded. The upgrades are also in the form of bootable diskettes and require a Windows based computer. Download the two utilities and double click on them from a Windows PC. Be sure to check which laptop model you have. There are TWO different updates for 600E.

The utilities are DOS based commands that will require you to insert a blank floppy disk into your drive. You can download (from a Windows based PC) the two needed updates from:

ps2.exe - ftp://ftp.pc.ibm.com/pub/pccbbs/mobiles/uttpfdos.exe

BIOS Update - ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/spsdin36.exe

Once these disks have been created, you can proceed.

  1. Power down the 600E laptop.

# poweroff

  1. The “Quick Boot” needs to be disabled in order for the Sound to work. “Quick Boot” tells the BIOS to bypass PnP configuration and rely on the OS (Windows based systems) to configure the PnP cards (the problem to begin with). In order for sound to work, the BIOS will need to set the PnP devices. So, “Quick Boot” will have to be disabled.

  2. Bring up the BIOS configuration utility by powering on the system and holding down the F1 key.

  3. Click on the “Config” icon.

  4. Click on the “Quick Boot” icon.

  5. Set the “Simple Boot” flag to “disable”.

  6. Save the configuration, exit out of the BIOS, and power down the laptop.

  7. Insert the BIOS Update diskette into the external floppy drive of the 600E.

  8. Power on the laptop.

  9. Read through the README file BEFORE doing the update. It will warn you about having a fully charged battery and power cord attached to the system.

  10. Run the update and DO NOT power off the machine at any one given point!

  11. Once the BIOS is finished updating, remove the diskette and power down the laptop.

  12. Boot the laptop again and hold down the F1 key to get back to the BIOS menu.

  13. Click on the “Config” icon.

  14. Click on the “Initialize” icon. Click on “Okay” when you are finished.

  15. Save your changes and power down the laptop.

  16. Insert the “ps2.exe” diskette into the external floppy drive.

  17. Power on the laptop.

  18. A brief message from the diskette will flash and then the Fedora Core GRUB bootloader will start. You should heat the “beeps” of the BIOS now!

Author's Note: At the time of this writing, I am not sure if running the ps2.exe made any significant changes to the system BIOS. This step may NOT have been necessary.

Using the Gnome Alsa Mixer

  1. You should have sound now! Insert a CD into your CDROM drive and open the RedHat CD Player. Turn up the volume to the right of the player.

  2. Launch the gnome-alsamixer.

# gnome-alsamixer

  1. Unmute all of channels. The “Master” and “Playback” channels control the sound.

  1. You can also play MP3 files using XMMS and the MP3 download from http://www.gurulabs.com/downloads.html


Please feel free to send any edits/errata to the author darren_hoch@litemail.org.