Linux on a ThinkPad T20
NOTE: I no longer have this laptop so will probably be unable to answer any questions about it anymore, Sorry.
This document is written to help people setup Linux on the IBM ThinkPad T20 series of laptops. This is based on model
number 2647-61U, though I hope it helps others with different 'types'.
The Laptop
- Processor:Mobile Pentium III with SpeedStep Technology 650MHz
- Memory: 128Meg
- Video: S3 Savage IX8 8MB Ram
- Disk: 6Gig
- CD-ROM: 24Xmax-10Xmin
- LCD: 13.3" 1024x768 TFT - active matrix
- Sound: Crystal Audio Sound Fusion PCI
- Modem: LT WinModem
- Misc: Floppy, Serial, Parralel, USB, IR
The Install
The laptop came installed with Windows2000, I quickly installed RedHat 6.2 over Win2000 without much trouble. The RedHat installer could not
identify the graphics chipset so X wasn't configured properly. I ended up doing an ftp install using the pcmcia.img floppy. It detected
the pcmcia controller and my 3Com PCMCIA NIC card without any trouble.
XWindows
This was the first problem. Using the XFree86-3.3.6 that was supplied with RedHat I could only get 640x480. Rather a waste for an LCD
that can do 1024x768. After some searching on the net I found out that the Savage chipset in the laptop was unsupported by XFree86 (neither
3.3.6 or 4.0) but that the XFree86 people were working on it. Luckily I then came across a link to S3's ftp site and a patched SVGA server.
After downloading the patched SVGA server and running Xconfigurator
again I now had a working setup. Just for reference these laptops have 8MB of video ram installed, Xconfigurator was unable to pick that up.
Update: I've had some screen corruption with this X-server. Mainly that the text console become unusable and are filled with vertical bars. I'm
now using the X-server from this Savage Support page.
I've also made available a copy of my XF86Config file.
Sound
The sound chip is a CrystalClear SoundFusion Audio Accelerator (CS4614/22/24). This does not seem to be support by the OSS modules in RedHat, however
the ALSA Project does have support for this chip. Download the ALSA drivers, uncompress them, change
to the ALSA directory and run "./configure --with-cards=cs461x", then a "make", and "make install". From there the module(s) can be inserted using
insmod or modprobe. It seems that this sound card can't handle the PCI Bus Power Management feature, so in order to get this working properly
you'll need to disable that. From the ThinkPad setup (F1 after turning it on), choose 'config' and then 'power', scroll to the bottom and
disable the 'PCI Bus Power Management' feature. I can now play mp3 etc... without any trouble, here's the /etc/conf.modules portion for Alsa:
alias char-major-116 snd
alias char-major-14 soundcore
alias snd-card-0 snd-card-cs461x
alias sound-slot-0 snd-card-0
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-12 snd-pcm-oss
Frame Buffer
I have yet to play with the frame buffer code myself, there is some information on using the framebuffer on Thinkpad's available at
this site about the 600X.
Embedded NIC
My model doesn't have an embedded NIC card (though it does have the port on the back). I've been told that ThinkPads equipped with the
Intel eepro100 chips work fine, however those with the 3Com 3c556 NIC won't work out of the box. It seems that even though there is a
driver for these chips, IBM has changed the PCI/Device ID so the driver doesn't recognize the chip. Probably just a quick update
to the drive with the new PCI info would fix this. [ Update ] There's more information on the embedded 3Com NIC
and a driver available at www2.neweb.ne.jp/wd/fbm/3c556/.
Modem
The Modem is one of the infamous LT WinModems. Lucent has released a binary only kernel module for the LT modem. It can be downloaded from
www.linmodems.org. The module was compiled against kernel 2.2.12-20 so remember to add the
'-f' flag to insmod the force the module into the kernel. By default it sets up the modem as ttyS14, and makes a symbolic link from /dev/modem to
/dev/ttyS14. I have yet to actually try and dial into anywhere with this, though I have started minicom and I'm able to talk to the modem so it
does look promising.
[ Update ] I still have yet to try and dialup myself, but I've been told that there's a problem between the linmodem driver and
the PPP code in current kernels. Though some people have reported that it works fine under 2.2.16, YMMV.
[ Update ] To get the module to load automatically on boot add this to the /etc/conf.modules file (or /etc/modules.conf)
alias char-major-62 ltmodem
APM
APM appears to be working. I can suspend the laptop and it recovers fine. The only problem I've come across is that when apmd
stops (for example on shutdown) it puts the laptop into suspend mode! I'm thinking this is a ThinkPad BIOS problem that just
requires the correct kernel apm options. [ Update ] After upgrading the kernel to 2.2.16 this problem has gone away.
Comments
Please send any and all comment/corections/additions etc... to me (remember to remove the -nospam-).
Revision History
- July 6th 2000 - Created
- July 23rd 2000 - Update APM info, fixed a few typos
- July 29th 2000 - Added sound info, new X-server page, link to other T20 site, linmodem/PPP info
- September 23rd 2000 - Added APM kernel info, LinModems HOWTO and tpctl link, embedded 3Com NIC info, spelling fixes
- October 17th 2000 - Added more info on the 3Com embedded NIC
- February 14th 2001 - Added /etc/conf.modules line for ltmodem