Linux on the ThinkPad

Thinkpad A22m
I’m currently using an IBM Thinkpad A22m. The first think I did was wipe MSWindows2000 off of it and install DebianLinux on it. For the most part it’s been pretty painless. I have X, sound, suspend/resume, and networking all configured right.
X-Windows
First things first. I had to upgrade to woody because potato only shipped with XFree86 3.3.x. As far as I know, XFree-3 doesn’t have the drivers needed for my ATI Rage 128 Mobility. After I did the ‘dist-upgrade’ from potato to woody i had to actually install xserver-xfree86. I then ran ‘XFree86 -configure’. This mostly worked; however, it tried to use the “ati” driver. That driver worked, but I think it was the cause of the somewhat frequent “lockups”. What was really happening is that X would die but leave the display locked in graphics mode. I had to ssh in from another machine and reboot to get it to work again. I switched the video driver to “r128” and the lockups lessened.
Turns out the real problem was RAM. I was running with only 64MB and trying to do lots of fancy graphics intensive X stuff (namely full screen images and transparent Eterms). When I upgraded to 512MB RAM I haven’t seen this problem.
One thing I have not been able to do is get X displayed on an external monitor. I can do console stuff on the external monitor; but not X. The other thing that’s currently not working is my scroll mouse. I bought the Keyboard/Mouse Y-adaptor for the PS/2 port. I tried the IMPS/2 protocol with the mouse driver. That gave me erratic mouse movements. With straight PS/2, the scrolling doesn’t work.
Here’s my currentXF86Config-4 file.
Sound
I am using the cs46xx driver from the kernel. It seems to be working with no problems. I did almost no config. The only problem was that the /dev/dsp* devices and /dev/mixer* devices were permissions of 0660. I just changed them to 0666. The other problem was that I actually had to adjust the volumn using the keys on the keyboard before I could hear anything.
Networking
My mini-pci networking card is the Inet EtherExpress Pro 100. I used the eepro100 driver and it worked with no problems.
I also have an SMC 2632W EZ wIreless PC Card. I’ve heard varying things about this. When I plugged it in, it initialized with the wvlan_cs driver from pcmcia-cs. At work we have an Apple Airport. My card started working right away with that access point (except I couldn’t get the eepro100 and the wvlan card working at the same time). At home I have a SOHOWare NCP600 NetBlaster II Wireless Hub. I can’t get my SMC to work with that access point. Using iwconfig (part of wireless-tools) I can see that it is automatically getting the right ESSID and AP address. I just can’t seem to talk with it. I’ve tried using a static IP and DHCP; neither will work. Using a static IP, I can configure the card and ping it. I just can’t ping anything else.
Update: I changed my /etc/pcmcia/config file to use the orinoco_cs from the 2.4.14 kernel tree instead of the wvlan_cs driver that came with the woody pcmcia-cs package. It immediately started working with no configuring!
Kernel
I built my own kernel using make-kpkg (kernel-package) and 2.4.14. That worked pretty well. I haven’t gotten the frame-buffer to work. I tried compiling ithe fbdev into the kernel with both the ati rage and ati radeon drivers. That did funny things to my display. I then just compiled the rage 128 driver as a module. The kernel boots with no problems; but, I’ve not tried my frame buffer stuff. With this nice large (1400×1050) display, I’d like to be able to get more than 80×25 characters on the screen in console mode. I also haven’t messed with the usb stuff.
Here’s my .config file for my 2.4.17 kernel
APM
I use tpctl to do suspending and resuming. I downloaded the 2.5-4 source debian package from the unstable branch and built that against my 2.4.14 kernel. I can suspend by closing the lid, and with the Fn+F4 buttons. However, I haven’t gotten hybernation to work. I think the error is that I don’t have the partition setup for it and stuff.
Thinkpad A31p
When I started work at Z-Kat, Inc. I ordered a new IBM Thinkpad A31p. My work was 3D intense. My current A22m just doesn’t have enough umph to drive our application well enough.
Out of the box I’m having problems with this. First, the box comes with no floppy drive. That means I have to boot it from CD. So, I have to burn a CD for net booting Debian. The only catch is that I’ll have to boot this A31p to MS-Windows to use the CD-RW. Fortunately, the CD-RW is an Ultrabay 2000 device and works like a champ in my A22m with zero configuration issues. :)
Networking
Second, the Intel
Kernel
My next step was to build a new kernel to get my Intel ethernet card working. I grabbed the kernel-source package for 2.4.18 and built the kernel with every module I thought I would ever need. It built in just a few minutes :) (Sorry I don’t have more accurate numbers than that. Let’s just say I was quite surprised when it was done.).
XFree86
The graphics chip is the ATI Mobility FireGL 7800. Unfortunately/forunately this chip isn’t supported in XFree 4.2.0 but does have a patch. This means compiling XFree from source. I went ahead and grabbed the CVS snap-shot for -r xf-4_2_0.
Resources
- Linux on Laptops
- Peter Schwenke’s page on his A22p
- Wernet Heuser’s A22m page on his mobilix.org site
- Alan Andrews’ page on his A22p
