Linux on Notebook:
IBM ThinkPad A20p Model 2629-6SG/UG

This document provides a description of the installation and configuration of Linux on an IBM ThinkPad A20p/A21p notebook computer. It can serve as a guide for setting up your own A20p/A21p system, a reference for setting up aspects of other machines with similar hardware.

1. Contents

2. Introduction

The ThinkPad as I ordered it came with the following specifications:

3. Installation

 If you have more hints, write me  !

First of all, Update your BIOS with the following A20p BIOS Update. Check the ReadMe first.

The ThinkPad came with Windows98SE installed, and though I tend towards the extreme side of Linux zealotry I decided to leave the beast installed for the time being so I could watch DVD's and use the Hibernation. For all partitioning issues i decided to use PartitionMagic 5.0x from DOS. So I shrank the windows partition down:

This is the general page about installing Linux on an IBM ThinkPad A20p. This page is for Linux cracks and professionals. For detailed descriptions for beginners, how to install a selected linux distribution, go to the following links (to come back to this page, just click on the notebook at the top):

SuSE 6.4
SuSE 7.0
RedHat 6.2
RedHat 7.0
Caldera eDesktop 2.4
Mandrake 7.2
Mandrake 8.0

Other distributions should install just as easily. If you're having trouble at this stage you should read the Linux-Installation-HOWTO.


Installation of PCMCIA Drivers done (autodetect) and running for Kernel 2.2.14 and 2.2.16. (Except running with loadlin from WIN98! Then you will not be able to load the PCMCIA Module!)
Fine for Kernel 2.4. Although kernel 2.4 has PCMCIA support, you still need the pcmcia-cs package Slackware).

5. Xwindows

The A20p uses the ATI Mobility 128 AGP video card. Support for the ATI Mobility 128 cards is *NOT*  included in XFree86 as of version 3.3.6, and support is *NOT* available in binary distribution of  Xfree86 4.0. Further, if you run XF86Setup, it`s unable to find a appropriate card.

FrameBuffer Support solution (XFree86 3.3.6)
To running X (very slow) i had to enable Framebuffer support. Use kernel option "vga=834" (1400x1050). Installing the XSERVER "XF86_FBDev" and generate an configuration with xf86config and replace the XF86Config file by this XF86Config. (Don't forget to link X to XF86_FBDev!)

A21p: vga=884 (1600x1200x16) and vga=885 (1600x1200x24). For A21p Informations check this site.

Accelerated r128 FB solution (XFree86 4.0.1)
 It's working, and realy fast. uuhhh! Here is the XF86Config file, to get 1400x1050x16 with vga=834 in lilo.conf! Or 1400x1050x24 with vga=835 in lilo.conf! Use Binary-Distribution of official XFree86 4.0.1 release.

Alain has compiled a r128_drv.o with better  support from CVS. Just try it. After install XFree86 4.0.1, copy the module to /usr/X11R6/lib/modules/drivers/ . (Do not enable DRI!)

Accelerated r128 FB solution (XFree86 4.0.2)
XFree86 4.0.2 works well too. There is no need to replace r128_drv.o. Use the following XF86Config file.

The system will automatically guess the modelines when you switch resolutions with Ctrl +/-
Ctrl +/- will only work on the keypad, i.e. you need the Num-Lock. which is Shift-ScrLk on the ThinkPad. The default installation of XWindows does not recognise this key. So you need to edit your Xmodmap or kbd. For /etc/X11/xinit/.Xmodmap, insert the line "keycode  77 = Num_Lock" and restart the XWindows.

6. Sound

The A20p comes with a Crystal SoundFusion PCI soundcard. Using the ALSA snd-card-cs461x modules. Compile it with "./configure ; make install". You must disable "PCI Bus Power Mgmt" in BIOS menu. Push [F1] at startup, and disable <Config> - <Power> - <PCI Bus Power Management> (last entry, scroll down!). Otherwise you are unable to play files using PCM.

Crystal SoundFusion cs46xx used by the A20p is now supported in Kernel 2.4. But ALSA sounds better and has more nifty features.

More hints you find here from Alan Shutko.

7. Modem

Tha A20p includes a Xircom Modem MPCICard with PartNO: MPCI3A56GSP-100PA. This device works great with the Lucent WinModemDriver. Just download the file, unpack with unzip and start ./ltinst. If its not able to find the devicelink, remove the module by ./ltuninst and redo ./ltinst.
A more stable version (5.78e) of the lucent driver, you will find here. You need this version if you are running Kernel >2.4.1

8. USB

Terry Lee wrote:
The USB Port works fantastically. I suggest looking at the USB-Howto/Guide  And install the Murasaki (for kernel 2.4) USB Hotplug system.
User of Kernel 2.2, look at this site.

I have a Xircom Portgear 4-Port USB HUB running. Connected to it is a Logitech USB Optical Wheel Mouse and a SMC 2202 USB Ethernet network gear. Both works great.
If you notice closely at the Linux system messages, it seems that the A20p has not one but TWO USB ports. Well, there is nothing wrong with the detection, the other USB port is the Ultraport located at the top ot the A20p screen. It is a specialised proprietary port made by IBM but using the USB protocol. Search for Ultraport at the IBM sites.

9. APM

Apm is giving a correct load of my battery. apm -s working very well. For wakeup use [Fn] and when see garbage on the screen just move the mouse a little bit, and the desktop is ready again!
Hibarnation with running X-Server will result in unusable X-Desktop after resume! -> PENDING

I'm using the following kernel config.

10. IRDA Support (Palm)

The following was written  by Vivek Dasmohapatra :

1) compile irda and serial support as modules
2) add the following entries to /etc/modules.conf
   [ actually I modified files in /etc/modutils and then ran
     update-modules,  but the end result is an updated /etc/modules.conf ]
--- cut ---
alias tty-ldisc-11   irtty
alias char-major-161 ircomm-tty
alias char-major-60  ircomm_tty
alias irda0 nsc-ircc
options irda0 dongle_id=0x09 irq=3 io=0x02f8 dma=3
options serial io=0x03f8 irq=4
--- cut---
The exact io/irq/dma options will depend on your bios settings, of course.
I found I had to do this in order to prevent the serial module from
grabbing the irda resources, or fighting with the irda driver.

Howto's and so on seemed to indicate that I should then have to run
irmanager/irattach to do things, but I seemed not to need to do that:

# ifconfig irda0 up
# pilot-xfer -s ~/.ppilot

seemed to be sufficient to sync my pilot to my pilot directory.
[at some point irlan, irtty, irport, ircomm-tty and ircomm got autoloaded
 by the kernel module loader, but I didn't have to do anything manually]

11. Intel Ethernet Pro/100+ MiniPCI

The kernel and the module for Intel Pro/100+ working ok (Module eepro100 autodetected!).
If you have the MiniPCI Card from 3COM, check this link.

12. Appendix A: Files

XF86Config for XFree86 4.0.2 (incl. USB Mice Support)
XF86Config for XFree86 4.0.1
XF86Config for XFree86 3.3.6 FBDev
r128_drv.o better r128 support for XFree86 4.0.1
ALSA source code

13. Appendix B: References