IBM is a
big Linux-supporter and most of their hardware is supported. That's
why these thinkpads are probably the best choice for running Linux
on a laptop. Let's go through it in detail.
For suggestions, improvements or if you just want to talk to somebody, please
mail to: Dag Wieërs
<>
IBM Thinkpad T30
Model number: 2366-DG3
List of hardware:
CPU: Intel Pentium IV M 1.8Ghz, 512 KB cache
Chipset: Intel Corporation 82845 845 (Brookdale) Chipset
Memory: 512MB RAM, 100 MHz, non-parity, 64-bit SDRAM SO DIMM memory
Hard disk: 40 GB IBM ATA DISK, IC25N040ATCS04-0
DVD-ROM/CDRW: HL-DT-STCD-RW/DVD ATAPI DRIVE GCC-4160N
Video: ATI Radeon Mobility M7 LW AGP [Radeon Mobility 7500]
Soundcard: Intel 82801CA/CAM AC'97
PCMCIA: Texas Instruments PCI1250 PC card Cardbus
Internal modem: Intel 82801CA/CAM AC'97 Modem
WiFi: Cisco AIRONET Wireless 802.11b
Ethernet: Intel 82801CAM (ICH3) PRO/100 VE (LOM)
To move my existing Red Hat 9 installation from my older X20 thinkpad to
my new T30 thinkpad, I added my X20 disk with a HDD bay into the DVDROM/CDRW
area.
I then booted my second HDD (using F12 bios option) and started my RH9
into single usermode. I mounted my partition read-only and used dd to copy
my RH9 partition from my X20 disk to my T30.
I then chrooted to my new disk, ran grub-install, rebooted, removed the old
disk and inserted my DVDROM/CDRW and booted Linux.
In the process I also moved my personal files from my Windows partitions to
the existing Windows 2000 installation. (Basicly the downloaded Open Source
tools that I may need when I boot to Windows)
The nice thing about Linux is that you can configure your kernel exactly to fit
your hardware and since kernels improve very fast, you can keep up with the
latest features of the kernel as soon as they arrive.
However I use the stock Red Hat kernels whenever I can, so no customizations
are needed. Some kernel modules need some extra drivers, more on that below.
Your thinkpad normally brings down the speed of the processor to consume less
power when disconnected from AC power. My thinkpad has a 1.8Mhz CPU but when
disconnected from AC power goes down to 1.2Mhz (66%).
Red Hat supports this by configuring it in /etc/sysconfig/apmd and
setting CPUFREQ="yes". This will cause the speedstep module
to be loaded and next you can peek/poke at /proc/cpufreq and
change the default behaviour described above. There's also a utility
that let's you control this in a more advanced fasion, it's called cpudyn.
For Red Hat you can download the cpudyn package at:
The configuration of X works automaticaly for several distributions.
For XFree86 3.3.6, you should use the XF86_Mach64 server. For
XFree86 4.1.0 or higher you need the ati-driver.
You can use the GATOS drivers from ,
they might have support for some special features. But to get DRI to work
you need a special kernel module build for GATOS and since the default
drivers perform very well, I didn't bother to look at them.
On these types of thinkpads the key-combination Fn-F7 allows you to
switch from your LCD to
an external monitor or both. (Three phases) This however leaves your
X in the same resolution as on your LCD, which is lower than the capablities
of your external monitor. At this time however, you need to restart your
X-server to change the resolution. Work is in progress to overcome this
problem.
In Windows 98 you can use the external monitor as a second head, unfortunately
this is not supported by XFree86 (and also not with Windows 2000).
When this support will be added is unknown.
There is a special option in your XF86Config file to specify using the
external monitor at startup.
Beware: the BIOS allows you to boot with an external monitor by default.
With a utility called atitvout you can control the ATI S-Video or
CRT output capabilities. However, for the S-Video to work, it has to be
connected before booting, otherwise you cannot make it work. Which makes
it rather hard to quickly use it in certain situations.
With my ATI Mobility Radeon 7500 I can't get the TV-Out to work properly.
atitvout doesn't seem to support the card very well. (I can probe some of
it features, but cannot set anything.)
The driver you need is i810_audio and it works like it should.
You could also use the alsa sound drivers, but I never needed the extra
functionality that the alsa drivers offer.
The internal ethernet card works perfectly with the e100 module that
comes with the kernel. Even suspend or standby works very well without a
problem.
My notebook was blesses with a Cisco Aironet
MPI 350, which isn't supported
by default by the kernel aironet driver (airo), but Cisco has a
GPL-licensed kernel available. (mpi350)
My favorite Cisco specialist, alas friend,
told me that the latest firmware (since 5.02) doesn't work with both
the Linux and Cisco driver. Problem is that the Windows driver
automatically updates the firmware without your consent. So if you have
problems (kernel oopses) in Linux, please make sure that you have the
5.00.03 firmware or downgrade the firmware with the ACU utility in Windows.
You can download the driver and ACU utilities at
and
the firmware from .
You know when your driver works when you can access /proc/driver/mpi350 in Linux.
For Red Hat you can download a packaged driver and the ACU utility at:
19 October 2003: I finally took the time to package the wireless-tools
enable airo_mpi driver which is fully GPLed and still works with ACU.
You can find more information about this patched driver at:
For Red Hat you can download a packaged driver at:
Load the modules ircomm-tty to connect your Nokia IR phone to your thinkpad.
The Infrared device is connected to /dev/ttyS1.
Beware: make sure you have the infrared device enabled in your BIOS.
APM seems to work perfectly here. I haven't tried ACPI.
You can suspend your laptop by pressing Fn-F4.
Beware: check your BIOS for additional configuration.
PCMCIA is supported and will most probably work off the shelf with your
distribution. But if you have build your own kernel you need the right drivers
for your PCMCIA-devices. To get more information about PCMCIA-drivers and how
to configure them, check the
The laptop comes with a SmartLink winmodem. Unfortunately, there is no real
Open Source driver, the module (slmdm) that does exist uses a binary
object containing all the real code to use your winmodem. The wrapper-module
(that uses the binary object) can be compiled with all the recent
kernel-versions.
You can find the
and more information about winmodems on the
.
For Red Hat you can download a packaged driver and utility at:
You can either use the VESA
framebuffer or the accelerated radeonfb driver.
Either add:
vga=0x316 video=radeon:0x177:ypan
or
vga=0x317 video=vesa:ywrap:mtrr
to your kernel parameters in /etc/lilo.conf or /etc/grub.conf
Here's a list of different modes:
| 640x480 800x600 1024x768
----+---------------------------
256 | 0x301 0x303 0x305
32k | 0x310 0x313 0x316
64k | 0x311 0x314 0x317
16M | 0x312 0x315 0x318
If you want to use the faster text-mode with smaller fonts (80x60) then you can simply use:
vga=0xf07
If you used the kernel-config mentioned above, just link /dev/mouse to
/dev/input/mouse0 and load the following modules usb-uhci, usbmouse and
mousedev.
You can have both mouses (internal and USB or serial) work together in X by specifying the following
in your "ServerLayout":
InputDevice "Mouse 1" "CorePointer"
InputDevice "Mouse 2" "SendCoreEvents"
And ofcourse defining both mouses.
Some people reported problems in enabling the numeric keypad. To enable NumLock (or NumLk)
press Shift+ScrollLock (or Shift+ScrLk). BUT... this does not work in XFree86. I don't know yet how to enable this.
/*
The internal DVD-ROM player works out of the box and works better under Linux than both
Windows 98 and Windows 2000. The software I use is
(or vlc). The sound signal is
weak though and subtitles don't always work as they should, overall I had less problems with just playing.
*/?>
I'm using journaling filesystems on most of my systems nowadays. I use ext3 because at this
moment I don't trust neither reiserfs and XFS nor JFS or included in the kernel. And
Red Hat comes by default with all the tools to use ext3 (although I've build a newer
e2fsprogs package myself).
You don't really need a journaling filesystem, but occasionaly you find your machine
locked up because it ran out of power or because you were experimenting a bit too much.
And then you will enjoy a journaling filesystem more than ever.
Some settings allow to use both your trackpoint and an external mouse at the
same time without a problem. TODO
/*
IBM released some BIOS updates, unfortunately these updates are distributed as
DOS or Windows executables which is a pain for Linux users. It would be nice
of IBM to just distribute the images created by these disks so users of other
platforms can upgrade their BIOS without needing DOS or Windows.
For your convenience we've put these images online:
Only update your BIOS if you really need to.
Beware: you cannot upgrade your BIOS if this is disabled in your BIOS. (Doh!)
*/?>
Here's my /etc/modules.conf file,
alias char-major-10-170 thinkpad
alias parport_lowlevel parport_pc
alias usb-controller usb-uhci
### Internal Soundcard
alias sound-slot-0 i810_audio
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L &>/dev/null || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S &>/dev/null || :
### Internal Intel Eepro 100
alias eth0 e100
### Internal Cisco Aironet MPI 350
#alias eth1 mpi350
#post-install mpi350 /usr/bin/bcard
alias eth1 airo_mpi
### Internal Infrared
alias char-major-161 ircomm-tty
alias tty-ldisc-11 irtty
### Internal SmartLink Winmodem
options slmdm country="Belgium" country_code=16
### USB Creative Webcam
options ov511 compress=0 ov518_color=1 autobright=1 autoexp=1 backlight=0 bandingfilter=1 lightfreq=50 led=2 fastset=1 mirror=0
post-install ov511 modprobe ovcamchip
### Cisco Aironet 350 PCMCIA
#alias eth2 airo
/*
Although I would recommend a thinkpad to everyone, my T30 has the following flaws:
- Suspend does not always work properly (could be the Linux kernel itself)
- Sometimes X goes blank after suspend
- ps/2-wheelmice don't work (because red knob shares the ps/2-protocol).
Use USB or serial if possible and configure X.
- DVD-sound signal is very weak and making it stronger (with an external amplifier)
reveals sqeaky noises.
- Soundcard locks up after rebooting from Windows 98.
- If screen is blank after suspend.
- Just press Function+F7 (Fn+F7) three times. This should work.
Otherwise:
- Press some keys or move mouse and wait about 20 seconds.
Sometimes screensaver is causing problems.
- Don't panic.
- Try to switch to see if virtual consoles still work. (Ctrl+Alt+F1)
If so, switch back and kill X (Ctrl-Alt-Backspace)
- Try to suspend again. Wait. Unsuspend.
- If all else fails, use sysrq-keys to sync and umount filesystems and reboot.
If sysrq is enabled (Alt+SysRq+S, Alt+SysRq+U, Alt+SysRq+B)
- If network is gone.
Restart pcmcia subsystem and reconfigure interface
- If soundcard locks up after booting Windows 98.
Halt and power down the system and then restart Linux.
*/?>
Here are some pointers to more information about these thinkpads and other
laptops.