05/29/2002

Linux on the IBM ThinkPad 600e

I bought a used ThinkPad 600e (model 7465-4BU) off of Ebay. Heres how I made RedHat 7.3 work on it. Most things went flawlessly so for the sake of brevity, I will only list the things that needed tweaking.

Sound:

I used the cs4232 driver per the IBM webpage, I have not had any problems with it after suspend or hibernate (see more on these later). Here is the sound portion of my /etc/modules.conf:

alias sound-slot-0 cs4232
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
options sound dmabuf=1
alias synth0 opl3
options opl3 io=0x388
options cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=9
Once my system boots up, I get garbled sound (this is with the RedHat 2.4.18 kernel). So I added these lines to my /etc/rc.d/rc.local:
rmmod cs4232
modprobe cs4232
Everything with sound (including recording from the internal microphone) works fine.

BIOS Control:

The ThinkPad device driver and user space control program. Get them. Install them per their README files. These allow you to control serial ports, suspending, hibernating, and a multitude of other wonderful things. The tpctl package also comes with apmiser, which looks interesting. It seems to be a perl script that monitors your computer usage and adjusts power settings for maximum power savings.

Serial Port:

I have not tested this, but it looks like it will work. I had to boot up Windows, and use the PS2.EXE utility. Of the internal modem, serial port, and the Infra-Red port, you can pick two apparently (I have not tested further as the IR port is not important to me). So I issued the following commands.

ps2 ir disable
ps2 imodem enable
ps2 serial enable
ps2 serial address 1
and for good measure (not sure if needed)...
ps2 ir address 2
Now with our newly installed thinkpad driver and user space utility, we'll enable these under linux.
tpctl ­rs1=on -rs1=enable -rs1=0x3f8 -rs1=irq4
tpctl -rs2=off -rs2=disable
setserial /dev/ttyS1 auto_irq autoconfig
setserial /dev/ttyS0 auto_irq autoconfig
tpctl -rsx
Now you should hopefully receive and encouraging message like this:
resource state:                        ioaddr irq#   able? mode/power
   serial port 1:                       0x3f8 IRQ4  enable off
   serial port 2:                       0x3f8 IRQ0 disable

Internal Modem

IBM has graciously open sourced the driver needed for the MWave DSP modem. I have not had the opportunity to use it yet. But it is out there, and they are attempting to get their patch into Linus's kernel. Thank you IBM!

Suspend

I can suspend by issuing apm -s as root when my wireless card is inserted and running. Using the button combo, or tpctl -Z as a user does not work (I have set permissions correclty per the README on /dev/thinkpad). If I have the wireless card disabled and removed, I can use apm -s, or tpctl -Z as my user, and it works fine.

Hibernation:

This works fine for me. I set it up with the PS2.EXE utility as so:

ps2 hfile d
This sets up a file about the size of your RAM on the DOS drive of your choosing (d: in my case). On my system this is a fat16 partitoion, although I have read that the 600e doesn't have problems with fat32. The Windows utility will not create a hibernation file on a NTFS partition.

Now. I have to have my wireless interface pcmcia card turned off and removed from the system in order to hibernate. I read from random USENET post that this is built into the hardware and not a linuxism. I have not tested with other PC cards to see what I can and cannot hibernate with.

DVD:

First of all this machine only has a P2-400MHz processor and no hardware acceleration for MPEG-2 decoding. I use mplayer. I compiled it from scratch disabled the closed source OpenDiVX ;) codec, and installed FFmpeg libavcodec library per the codecs.html that comes with the source. This codec is quite a bit faster than it's closed sourced bretheren. I still have to enable -framedrop, but it is not nearly as noticable.

Thats All Folks!

I hope this helps. If you have further questions, you can shoot them to my email. I'll try my best to help you out.

-- Scott 1

Hosted by www.Geocities.ws