Mark Alford's Red Hat 7.3 GNU/Linux on an IBM Thinkpad 600E (2645-5AU)

Last modified 15 Nov 2002

Information on older versions of RedHat are available here. These include some extra info, eg how to install Thomas Hood's TPCTL package, and how to make a serial PPP connection between two computers using a null model cable.

  1. Installation
  2. Power Management: suspension and hibernation
  3. PCMCIA Ethernet/modem card (Linksys)
  4. Getting the sound card working
  5. The internal modem
  6. TeX/LaTeX tips and tricks: Japanese characters, laptop presentations, search paths

I found much of what I needed to know on the Linux on laptops page, especially the amazing Thomas Hood's Thinkpad page

Notation: I use '----' to mark the beginning and end of bits of text that go in files.

  1. Installation
    Red Hat Linux CD-ROMs are available from many sources. I have used Cheapbytes in the USA, and Cheeplinux in the U.K.

    It will make future reinstallations much easier if you create /home and /usr/local partitions, separate from the root partition / and/or /usr. That way you can reinstall the operating system, while leaving users unmolested and keeping most the special customizations you have introduced.

    I had previously done this when I installed Red Hat 7.1, so installation of Red Hat 7.3 on top of it was straightforward. I backed up useful things like /etc and /root to the storage partition that will not be affected by the reinstall,

    > cd /
    > tar zcf /storage/RH71etc.tgz   etc
    > tar zcf /storage/RH71root.tgz \
      --exclude root/.netscape --exclude root/.mozilla \
      --exclude root/.wastebasket    root
    
    Then, install the new operating system:
    Boot with RH7.3 CDROM in DVD drive
    English
    Generic 101 Key PC
    US English
    Disable dead keys
    Generic 3-button mouse
    Install
    Custom
    Manual partition-Disk Druid
      /           hda2  2000 M    
      /dos        hda1  2000 M
      /storage    hda5  980 M
      /home       hda6  500 M
      /usr/local  hda7  500 M
    Upgrade all partitions to ext3, as it recovers much better if X-windows hangs
      and you have to reboot.
    Format /dev/hda2 only
      (leave /home,/storage,/usr/local alone, they contain the stuff we want to keep)
    GRUB: /dev/hda MBR, not linear, /dev/hda1 boots as DOS
    Medium security, allow incoming ssh
    English, USA
    Europe/London, sys clock on UTC
    Add user accounts corresponding to previous users.
      (maybe good to add a fresh acct too, in case of problems caused
       by old crap in existing account's .cshrc, .Xclients etc.)
    MD5 and shadow passwords, no NIS, LDAP, Kerberos
    X Config: Neomagic 256, 2MB
    Monitor: unprobed, 31.5-48 kHz, 50-70 Hz
      16 bit color, 1024x768
    Desktop: gnome
    Login: text
    select packages:
      exclude lm-sensors, since it can damage thinkpad 600
    

  2. Power management
    Works out of the box. Note that hibernate will fail reporting a BIOS error if the AC power cord is plugged in and there is a PCMCIA card in.

    To make PCMCIA card come back to life after hibernation, edit /etc/sysconfig/apmd, and set

    ----
    PCMCIARESTART="yes" 
    PCMCIABIOSBUG="yes"
    
    RESTORESOUND="yes"
    RESTORESOUNDPROGS="no"
    SOUNDMODULES="cs4232"
    
    ANACRON_ON_BATTERY="yes"
    ----
    

  3. Linksys PCMCIA ethernet/modem card
    I have a PCMLM56. This works straightforwardly under Red Hat 7.3. Since the ethernet and modem are on the same card, ethernet (eth0) is automatically brought up when you plug in the card. If you then use it as a modem and make a PPP connection, the presence of the active ethernet interface can cause "access denied" problems.

    The solution is to create /etc/ppp/ip-up.local, containing

    ----
    /sbin/ifconfig eth0 down
    ----
    
    And make it executable. This kills eth0 when PPP starts. You could create a similar /etc/ppp/ip-down.local to bring eth0 back up again when PPP disconnects.

  4. Sound
    I haven't worked on this. But I was able to get it working under Red Hat 6.2. You can also consult this web page which suggests that cs4232 OSS drivers will work with the following modules.conf:
    ----
    alias parport_lowlevel parport_pc
    alias usb-controller usb-uhci
    alias sound-slot-0 cs4232
    alias midi opl3
    options cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=9 synthirq=5 
    synthio=0x388
    options opl3 io=0x388
    ----
    

  5. Internal modem
    Enable it under dos/windows, "thinkpad configuration".

    Download the source code tarball mwavem-1.0.3.tar.gz from http://oss.software.ibm.com/acpmodem/
    (you may have to look under "older releases").
    Copy it to /usr/local/src/ and untar.
    (NOTE : Do not download mwavem-1.0.2, it does not work with kernel 2.4.18-3)

    Make sure you have installed the kernel source rpm.
    Edit /usr/src/linux-2.4/Makefile and set

    ----
    EXTRAVERSION = -3
    ----
    
    instead of -3custom. This will ensure that mwave puts its module in the correct place, namely /lib/modules/2.4.18-3/....
    > ./configure --enable-mwavedd --with-linuxsrcdir=/usr/src/linux-2.4
    > make
    > make install
    
    Edit /usr/local/etc/mwave.conf and set Country= to an appropriate value in the [WORLDTRADE] section.

    Edit /usr/local/src/mwavem-1.0.3/src/mwavem/mwaved, uncomment the bits that set it to /dev/ttyS1:

    ----
    # These are the default settings for the DSP
    DSPIO=0x130
    DSPIRQ=10
    
    # /dev/ttyS1
    UARTIRQ=3
    UARTIO=0x2F8
    
    MWMDEV=/dev/modem
    ----
    
    Set permissions on /dev/ttyS1
    > chmod a+rwx /dev/ttyS1
    
    To automatically start up mwave on boot, add to /etc/rc.d/rc.local:
    ----
    /usr/local/src/mwavem-1.0.3/src/mwavem/mwaved start
    ----
    
    I prefer to have this done by ppp-on, if the user tries to start a dial-up connection. Make /dev/modem link to modem:
    > cd /dev; ln -s ttyS1 modem
    
    Before rebooting, you can check that the modem works by starting it by hand:
    ====
    > ./mwaved start
    > ./mwaved status
    Device driver is enabled (via mwave.o module)
    Mwave Manager is NOT running
    Serial port is configured
    # Are these necessary?
    # > mwavem
    # > setserial /dev/ttyS1 autoconfig
    ====
    
    > minicom
    
    try "ATZ". If no "OK" echo, it is not working. Sometimes when you try to use the modem you will get the message "ttyS1: LSR safety check engaged!" in the sys log. This is fixed by restarting the driver:
    > mwaved restart
    


Mark Alford's home page

alford(at)physics.wustl.edu

Valid HTML 4.0!

revalidate