Boo & Ed's
Web Pages

Albums
News
Ed's CV/Resume
Computing
   Dell D820
   ThinkPad T42p
   ThinkPad A22p
   ThinkPad i1560
   Sony Ericsson Z520a
Ed's Blog
PGP Key



The following page is for reference purposes only. The laptop described here was sold in late 2001.

Linux on an IBM ThinkPad i 1560

Introduction

IBM has recently discontinued their ThinkPad i 1560 laptop and it is, IMHO, an *excellent* platform for running Linux.   I got mine at around noon on 4/19/00 and had a working Linux laptop with 1024x768 video, sound, and networking all in just a few hours.   Oh, yeah!   ;-)

Specifications

The specifications for the i1560 are similar to the other i 14xx/15xx series laptops:

  • Celeron 466 w/ 64mb of RAM
  • IBM-DBCA-206480 6.4GB Hard Disk
  • 24x CDROM
  • Floppy Drive
  • 14.1-in TFT Active Matrix Display (1024x768)
  • 4mb ATI Rage Mobility M Video Chipset
  • External Video, S-Video out
  • 1x PCMCIA Slot/Cardbus Slot
  • TrackPoint control, External Keyboard/Mouse shared port
  • USB port
  • Serial Port, ECP/EPP port
  • Crystal Semiconductor CS4236 audio chipset
  • Lucent WinModem

Red Hat 6.2 Install

For unconfirmed (but very likely due to incompatible video settings), the graphical Red Hat 6.2 installer did not run at all.   It filled the screen with a scrambled video pattern and locked the machine up so completely that I had to remove the power cord and battery to turn it off.   Perhaps it was my use of the non-full-screen BIOS setting?   I don't know.   In any case, the regular text-based installer worked just fine.

I partitioned the disk in the following manner:

Filesystem            Size  Used Avail Use% Mounted on
/dev/hda5             5.7G  1.2G  4.2G  21% /
/dev/hda1              30M  2.4M   26M   8% /boot
/dev/hda7             125M  <-----  swap  ------>
/dev/hda8             125M  <-----  swap  ------>

which is probably excessive swap, but I'm dealing with lots of large images these days and disk space is cheap.   Also, I installed LILO in the first sector of the boot partition rather than the MBR, but it makes little difference as this will probably remain a Linux-only box.

Video

The i1560 uses the ATI Rage Mobility M chipset. XFree86 3.3.6 auto-detects this unit and reports it as some sort of "generic Mach64" chipset. The name may sound wrong, but don't worry---it is the correct one! Using Xconfigurator, choose the 1024x768 LCD monitor and don't be afraid to let Xconfigurator probe the video chipset for timings since it did work correctly for me.

If you have the framebuffer code in your kernel, you can take advantage of full-screen text and that cool Tux graphic during boot-up. The lilo "vga=316" parameter (in /etc/lilo.conf) worked for me but then X (which uses an accelerated server for the Rage Mobility M) gave me an awful (low?) sync rate. So I have gone back to the normal text screen and am using "vga=1" which at least gives me better than 80x25 in the text consoles. If anyone knows of a way to improve my text console experience without degrading X, then please email me.

Also, call me crazy, but I like a lot of text on-screen. In X, try using "xlsfonts" to see what fonts are available and then add "-font 6x10" or "--font 6x10" for your emacs and Eterm invocations, respectively. I like them better than the default 6x13 on my 14.1-in LCD screen. YMMV.

Sound

The sound chipset was auto-detected by Red Hat 6.2 qas an ESS Solo1 and that configuration works. The IBM docs report that the chipset is a Crystal Semiconductor CS4236.

I recently switched to the 2.3.99-pre6 kernel and it identifies the sound chipset as an ES1969 Solo-1. I compiled in that driver to my own kernel and it works fine, though still a bit quiet. Perhaps its the small speakers? The outpout through the headphone jack sounds very good on my external speakers!

Built-in win-Modem

According to linmodems.org, Lucent has paid someone to write a binary-only module to support the Lucent LT modem chipset used in this model.   I have tried to use it, but gave up rather quickly.  , For me, the benefits from having a newer kernel (2.3.99-pre6 at the moment) far outweight the possible benefits of fighting with the modem.   I wish Lucent would get a clue and open-source their modem driver!

Networking

Continuing with the inexpensive trend, I bought a NetGear PCMCIA 10/100 ethernet adapter model FA410TX which is available online for about $55 including shipping. When first inserted, the Red Hat 6.2 version of the Linux pcmcia drivers correctly identified the card (emitted one high-pitch beep) and then started the appropriate drivers (a second high-pitch beep). I immediately configured an eth0 device using linuxconf with the appropriate network parameters. When I tried out these configs, however, I was not able to ping local machines on my network, even using IP addresses.

After reading the messages posted at pcmcia.sourceforge.org, I found that newer versions of the FA410TX have trouble auto-detecting the line speed. One of the posters provided a program (in C source code) called fa_select that allows you to manually specify the rate. I set may card to 10Base2 (the best my local hub will provide) using

make fa_select

fa_select DEVICE RATE

where:
  DEVICE  =  eth0, eth1, etc...

  RATE    =  0  for 10BaseT
             1  for 10Base2  (full duplex)
             2  for 100BaseT
             3  for 100Mbit  (full duplex)

and it worked! I've now added the fa_select program (a single line) to the standard Red Hat 6.2 /etc/pcmcia/network script.

New 2.3.x Kernel

I recently switched to the 2.3.99-pre6 kernel as it provides support for a number of cool new items including USB, noticably faster DMA IDE drivers [the i1560 has an ALi M1533 chipset which does not have DMA IDE support in the 2.2.x kernel series], and ACPI. I do not (at this moment) have a firm grip on ACPI--it looks like I need to install the user-space tools. But with ACPI compiled into my kernel, the output indicates that it does recognizes the i 1560's chipset during bootup.   Here is a config file for 2.3.99-pre6 that for me has worked fine with Red Hat 6.2 and its standard APM tools.

Quake III

Yes, I just got Quake III running on this laptop!   No, its not as fast as my desktop (Cel 400A w/ G200), but then what the hell do you expect for a $1700 laptop?

So heres the process in a nutshell:

  • go to the utah-glx pages and download, compile, and install the GLX module
  • install Quake III
  • run using
    quake3 +set r_fullscreen 0 +set gl_driver libGL.so

Note that this procedure might or might not work *each* time that you try it.   Each time, the quake window may appear in odd locations on/off my X screen and I will be forced to blindly issue the ESC - UPARROW - ENTER - LEFTARROW - ENTER sequence to shut QIII down.   I think it is a problem of interaction with my windowmanager (Enlightenment) but I'm not sure...   I am sure that getting the correct modeline for the LCD display on this unit will enabe full-screen and will make QIII a hell of a lot more playable!!!

Is there anyone out there who can help me with generating a correct modeline for 640x480 on this particular LCD?   Any help will be very much appreciated!