Installing Linux on an IBM R50 Laptop.

IBM R50 Picture

TuxMobil - Linux on Laptops, PDAs and mobile Phones TuxMobil - Linux on laptops, PDAs, mobile phones

Last updated: March 27, 2004 @ 1:26pm CDT

What follows are my hints, tips, and instructions for installing Linux on an IBM R50. 

Disclaimer:  This information came from and works on my machine.  Other machines (even other R50s) may have slightly different hardware and thus require different configurations. Use at your own risk.

Contents:

My Machine
Provides a quick summary of the machine and it's components
Saving Your Installation Instructions on how to save what came pre-installed on the machine, including Windows XP
The Install What you need to know about installing Linux onto the machine successfully
Component Status Details on each piece of hardware, whether or not it works, and what I had to do to make it work.
Other Important Stuff
More information about the machine, including important items such as APM and  ACPI. 
Files & Logs
A selection of some important configuration and log files for various components.

My Machine

I needed a pretty powerful machine, so I selected alot, if not all of the upgrades.  Here's my machines, as delivered:

IBM R50 (Part 1829-3HU)     
Product specifications
Product views

Click on a part's link for more detailed information about it.
Clink on the part's status to jump to the install information.

Works
1.7 GHz Intel Mobile Pentium-M (Centrino) Processor w/ 1MB L2 Cache
Works
15" TFT SXGA+ display
Works/minor issues
32MB ATI Mobility Radeon 9000
Works
2G 64Bit DDR non-parity SDRAM (PC7200 @ 333MHz)
Works
40G 7200RPM HD
Works
IBM UltraBay Combo MultiBurtner
Works
10/100/1000 Internal Ethernet
Works
IBM a/b/g MiniPC Wireless LAN
Unknown
Actiontec Bluetooth II Adapter
Works
Internal 56k Modem
Works
Analog Devices AD1981B AC97 Soft Audio
Works
86 key keyboard w/ TrackPoint and UltraNav Touchpad w/ Access IBM, volume control, power buttons, and Fn key with Integrated ThinkPad Keyboard light.
Unknown
Infrared transceiver
Unknown
IEEE 1394 (Firewire) Port
Works
2 USB 2.0 ports
Works
1 Parellel (ECP/EPP) port
Unknown
Port Replicator docking port
Works
Headphones port
Works
Mic-in port
Unknown
S-Video out port
Unknown
Monitor port
Works
Built in RJ-11 and RJ-45 ports
Unknown
1 PCMCIA Slot (Type I/II/III, 16/32 Bit)
Doesn't work
Internal IBM Security Chip

Software

Works
APM
Unknown
ACPI
Works
XFree86

Configration Files, Information Files, and Output Logs

A collection of other things you might find useful:

/proc Files
lsmod Output
XF86Config
lspci -v Output
dmesg Output

Linux Distribution

I'm attempting to install:
   
    Fedora Core 1 w/ kernel v2.4.22, glibc v2.3.2, Xfree86 v4.3.0, and KDE v3.1.4

    Fedora package information.

Back to the top


Saving Your Installation

My R50 came with Windows XP Professional and a slew of software preinstalled by IBM.  I didn't really want any of it, but will save it since I paid for it.  IBM doesn't provide recovery CDs with the laptop, but you can call their tech support line (within the first 30 days of purchase) and they'll ship you out a set.  Mine arrived the next day.

The R50 comes configured with two partitions, a FAT32 partition where WinXP is installed, and a PreDesktop Area.  This PreDesktop partition performs the function that normal recovery CDs would; it is where IBM's tools perform a system recovery from. This area isn't accessible (without tweaking) from Windows XP, but can be restored using the AccessIBM button to get at the recovery programs.  If you want to keep this area intact, and make it available from Linux, IBM has some pointers for doing so.

My intent is to wipe the disk clean, but before I do, I want to save as much software as I can.

A side note, the first time you boot into WinXP, it will convert that FAT32 partition into a NTFS partition.  Once that happens, Linux won't be able to use it (NTFS support is almost non-existent).  Since I'm wiping the disk anyway, I don't care.  If you're interested in keeping WinXP installed, I suggest you resize your WinXP partition BEFORE you boot into it the first time.  If you do this, you can use parted, or similiar tools.  If you've already booted into WinXP, you'll need tools that can resize NTFS partitions, like ntfsresizeKnoppix has a bootable Linux CD with ntfsresize on it.

Saving Windows XP.

I think it really sucks that IBM won't give you a Windows XP install CD even though I paid several hundred dollars for the OS.  So - I made my own.  Luckily, the OS install files are stored on your PC in the i386 directory on your C: drive. 

Here's how to make an XP install CD out of it.

First, you need a bootable floppy disk to create a bootable CD from.  Your bootable floppy should have on it:
If you can't find or make a bootable floppy, try one of these (I make no claims about them, I haven't used them.)  You could also try MicroSoft's 4 floppy disk approach, but I'd consider that overkill.

A note on SmartDrive, it's an optional piece, but if you don't have it, your install will take hours longer than it would without it.  I strongly suggest you get a copy if you don't have one.

Since the laptop doesn't come with a floppy disk drive (although a USB drive is an available option), you need to make a bootable install CD.  Using your favorite CD recording software:
Here's more info on bootable CDs than you probably wanted to know.

Now you have a Windows XP Install CD that you can save and use to install a fresh OS if necessary.  Don't forget to also save your Product Code (mine is on a sticker on the bottom of my laptop). 

The steps for using the CD:
P.S.  If you run "winnt.exe" and you get a kernel error saying that it can't find a place for a swap file, you haven't fdisk'd and format'd correctly.

Saving the Rest of the Pre-installed Software.

IBM did include a CD with software for the MultiBurner with the laptop, so there's no reason to attempt to save that.  The CD has full copies of WinDVD, WinDVD Creator Plus, RecordNow, Drive Letter Access (DLA), Simple Backup, the UDF Reader, and the user guides for the drive.  Best to make a backup copy of this CD, when I ordered recovery CDs from IBM, this CD wasn't included.

As for the rest of the software, most of it can be download directly from IBM's support website.  This includes:
What's left is:
I don't need or want any of those, or can get them from the links provided, so I didn't bother backing them up.

Back to the top


The Install

Partitioning

I plan to run a copy of  Windows 2000 (I refuse to use XP as a result of it's licensing/activation schemes) and Fedora in a dual-boot configuration.  After creating the partitions, here's what I ended up with:

/dev/hda1          4.9G        Windows 2000
/dev/hda2        13.4G        Linux ext3 (/)
/dev/hda3        13.4G        Linux ext3 (/data)
/dev/hda4          2.9G        Linux swap

I suppose it breaks the rules for having a small boot partiton and making /usr separate from the rest of the partitions, but this is the scheme that works well for my needs.  I often have two complete installations, one in / and one in /data and can swap either of them in and out on a whim; this is a great way to install a new OS without affecting "production" usage until the new OS is really ready to go.

I'm probably wasting a bit of space in the swap partition, but I do have 2G of memory, and wanted a bit extra to allow for future things such as sharing the swap space with Windows 2000.

Installing Fedora

Install CDs

I have a set of Fedora install CDs ready-to-go.  I made them apt-aware as well so that I can easily install new libraries/programs if necessary.  I don't plan to use the Red Hat Network for a few reasons; 1) I'm not paying for it; it's not worth the money, 2) I'm not sure if it will even continue to exist as Red Hat moves away from end-user OS support to enterprise OS support, and 3) apt is MUCH easier, in my opinion. 

Why use apt?  For one, very major reason.  If I want to install a new program called "foo", I just type in "apt-get install foo"; apt figures out what libraries and dependencies need to be met and handles them all automatically.  This is MUCH easier than having to track down these dependencies manually and install each piece separately.

Update: February 21, 2004 - I've recently discovered YUM and have started playing around with it.  It basically does the same thing that apt does, but is seems to have better support for Red Hat flavour packages than apt does.  It also comes with Fedora by default.

Doing the Install

It's time to start the install.  As I stated, I'm using the CD installation method.  Things work pretty much as expected, with one very important exception.

I attempted several installs but each time it would abort trying to copy the install image to my hard drive.  The actual error message was "An error occurred transferring the install image to your hard drive. You are probably out of disk space."  Unfortunately, this doesn't happen until you go through every single option page and select all your packages. 

It turns out the problem has to do with DMA.  You can correct it easily by:

1) Booting to the install CDs
2) At the boot: prompt type in:

       linux allowcddma

Once I did that, the install went smoothly. 

One option you might be interested in knowing now is my monitor info.   My monitor wasn't detected automatically.  With my LCD I chose the "Generic LCD" monitor option with a resolution of 1400x1050.

Back to the top


Component Status

Processor

Status: Works
Make/Model: 1.7 GHz Intel Mobile Pentium-M (Centrino) Processor w/ 1MB L2 Cache15"
Drivers/Modules: n/a
PCI Report: n/a
dmesg Report:
Initializing CPU#0
Detected 598.067 MHz processor.
Calibrating delay loop... 1192.75 BogoMIPS
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 1024K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: a7e9f9bf 00000000 00000000 00000000
CPU:             Common caps: a7e9f9bf 00000000 00000000 00000000
CPU: Intel(R) Pentium(R) M processor 1700MHz stepping 05
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
Notes:
Worked out of the box.  Seems to automatically handle the various CPU speeds to control battery life; have had it on for 4+ hours, with very minimal use, and still had an hour to go.

Back to the top

Display

Status: Works
Make/Model:  TFT SXGA+ display
Drivers/Modules:  n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
The display itself is beautiful and works well.  I'm on 1400x1050 and the display is clean, crisp, and although the text is somewhat small, it's very readable.

Back to the top

Video Adapter

Status: Works, with minor issues
Make/Model: 32MB ATI Mobility Radeon 9000
Drivers/Modules: agpart, radeon (XFree86 v4.3)
PCI Report:
AGP
00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03) (prog-if 00 [Normal decode])
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
    Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
    Latency: 96
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
    I/O behind bridge: 00003000-00003fff
    Memory behind bridge: c0100000-c01fffff
    Prefetchable memory behind bridge: e0000000-e7ffffff
    BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-

Video Card
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02) (prog-if 00 [VGA])
    Subsystem: IBM: Unknown device 0531
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR+ FastB2B+
    Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
    Latency: 66 (2000ns min), cache line size 08
    Interrupt: pin A routed to IRQ 11
    Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
    Region 1: I/O ports at 3000 [size=256]
    Region 2: Memory at c0100000 (32-bit, non-prefetchable) [size=64K]
    Expansion ROM at <unassigned> [disabled] [size=128K]
    Capabilities: [58] AGP version 2.0
        Status: RQ=47 SBA+ 64bit- FW+ Rate=x1,x2,x4
        Command: RQ=31 SBA+ AGP+ 64bit- FW- Rate=x1
    Capabilities: [50] Power Management version 2
        Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
dmesg Report:
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 1919M
agpgart: Detected Intel(R) 855PM chipset
agpgart: AGP aperture is 256M @ 0xd0000000
[drm] AGP 0.99 Aperture @ 0xd0000000 256MB
[drm] Initialized radeon 1.7.0 20020828 on minor 0
[drm] Loading R200 Microcode
Notes:
Worked out of the box, however I do notice screen flickering when using some of the GL screensavers.  Resolution set to 1400x1050 works well.  TuxRacer seems to run fine (although I don't play it) and glxgears reports at least 750 fps.

Back to the top

RAM

Status: Works
Make/Model: 2G 64Bit DDR non-parity SDRAM (PC7200 @ 333MHz)
Drivers/Modules:  n/a
PCI Report: n/a
dmesg Report:
1151MB HIGHMEM available.
896MB LOWMEM available.
Memory: 2068012k/2096512k available (1503k kernel code, 28112k reserved, 1110k data, 136k init, 1179008k highmem)
Notes:
Worked without configuration.

Back to the top

Hard Drive

Status: Works
Make/Model: 40G 7200RPM HD
Drivers/Modules:  n/a
PCI Report: n/a
dmesg Report:
    ide0: BM-DMA at 0x1860-0x1867, BIOS settings: hda:DMA, hdb:pio
hda: IC25N040ATCS05-0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: host protected area => 1
hda: setmax LBA 78140160, native  71123954
hda: 71123954 sectors (36415 MB) w/7898KiB Cache, CHS=4703/240/63, UDMA(100)
Partition check:
 hda: hda1 hda2 hda3 hda4
Notes:
Worked out of the box.  hdparm tesitng reports:

:hdparm -T /dev/hda
/dev/hda:
 Timing buffer-cache reads:   1804 MB in  2.00 seconds = 902.00 MB/sec

:hdparm -t /dev/hda
/dev/hda:
 Timing buffered disk reads:   76 MB in  3.01 seconds =  25.25 MB/sec

Back to the top

CD/DVD Combo Drive

Status: Works
Make/Model: IBM UltraBay Combo MultiBurtner
Drivers/Modules:  n/a
PCI Report: n/a
dmesg Report:
    ide1: BM-DMA at 0x1868-0x186f, BIOS settings: hdc:DMA, hdd:pio
hdc: MATSHITADVD-RAM UJ-811, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hdc: attached ide-scsi driver.
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
  Vendor: MATSHITA  Model: DVD-RAM UJ-811    Rev: H102
  Type:   CD-ROM                             ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.12
Notes:
Worked out of the box as a CDROM and DVDROM drive, need to test more features.

Back to the top

Ethernet

Status: Works
Make/Model: 10/100/1000 Internal Ethernet
Drivers/Modules:  e1000
PCI Report: n/a
dmesg Report:
Intel(R) PRO/1000 Network Driver - version 5.1.13-k1
eth0: Intel(R) PRO/1000 Network Connection
Notes:
Worked out of the box, however if you must "ifup eth0" to enable it.  I'm sure this could be done autmotically in various ways.

Back to the top

Wireless LAN

Status: Works
Make/Model: IBM a/b/g MiniPC Wireless LAN
Drivers/Modules: driverloader, WindowsXP drivers
PCI Report:
02:02.0 Ethernet controller: Unknown device 168c:1014 (rev 01)
        Subsystem: Unknown device 17ab:8331
        Flags: bus master, fast Back2Back, medium devsel, latency 128, IRQ 11
        Memory at c0210000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [44] Power Management version 2
dmesg Report:
PCI: Found IRQ 11 for device 02:02.0
PCI: Sharing IRQ 11 with 00:1d.2
PCI: Sharing IRQ 11 with 00:1f.1
PCI: Sharing IRQ 11 with 02:00.2
driverloader: halAuthenticate
driverloader: found _DMI_ @ physical offset 0x6ad0 <3>driverloader: found _SM_ @ physical offset 0x6ac0 <3>driverloader: Mapped the DMI data @ e0010
driverloader: Magic string found: KHOIHGIUCCHHII
eth1: New link status: Disconnected (0002)
eth1: WPA, AES, TKIP, WEP128, WEP64 supported
eth1: at 02:02.0 (MAC address 00:05:4E:44:27:E1) ready
Notes:
There are now several different options for getting this card working, including madwifi and Linuxant.  madwifi has the advantage of being open source and free, Linuxant has the advantage of using the WindowsXP drivers directly.  I know some would not call that an advantage, but as I write this madwifi is still in alpha stage, Linuxant is a full release.  But, I chose the Linuxant approach for one reason only; my VPN software expects to use "eth0" or "eth1", madwifi creates the interface as "ath0" so my VPN software wouldn't work.  Why the madwifi guys took this approach is beyond me.  I probably could have fixed the source, but I went with Linuxant for simplicity's sake. 

The Linuxant software works well, and is reasonably priced; it's free for 30 days, but (at the time of this writing) $20 after that. 

Because Linuxant actually uses the WindowsXP drivers, you need to have them available.  Probably the best bet is to get them directly from IBM, but in lieu of that, you can use my copies of ar5211.sys and net5211.inf.  If you use IBM's versions, you need to "install" them using Windows, which actually just extracts them to a directory of your choosing.  The files are in that directory, under the subdirectories XP/DRIVERS.

Install the Linuxant driver as instructed, register it with your MAC address, and then go to http://127.0.0.1:18020 to "upload" the ar5211.sys and net5211.inf files.  Your MAC address can be found on a sticker on the bottom of your laptop, or by using the Linuxant configuration tool command "dldrconfig -i".  The Linuxant documentation will walk you through all of this.

I've been using this as a 802.11b wirless device as I don't (yet) have an 802.11a or 802.11g access point to test it with. 

Out of the box, you need to "ifup eth1" the card to get it connected as it starts up disconnected.  Obviously, this could be handled automatically in various ways.

Back to the top

Bluetooth

Status: Unknown
Make/Model: Actiontec Bluetooth II Adapter
Drivers/Modules: bluez, hci_usb, usbdfu
PCI Report: n/a
dmesg Report:
BlueZ Core ver 2.3 Copyright (C) 2000,2001 Qualcomm Inc
Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
BlueZ HCI USB driver ver 2.4 Copyright (C) 2000,2001 Qualcomm Inc
Notes:
I don't have any Bluetooth devices, so I'm unable to test this at all.

Pressing Fn-F5 turns on and off the Bluetooth device.

Back to the top

Modem

Status: Works
Make/Model: Internal 56k Modem
Drivers/Modules: slamr, slmdm
PCI Report:
00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem Controller (rev 01) (prog-if 00 [Generic])
        Subsystem: IBM: Unknown device 0525
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 2400 [size=256]
        I/O ports at 2000 [size=128]
        Capabilities: [50] Power Management version 2
dmesg Report:
slmdm: version 2.7.10 Feb  4 2003 15:18:20 (Smart Link Ltd.).
slmdm: country set is 0xb5 (USA).
Smart Link AMRMO modem.
amrmo: probe 8086:24c6 Intel Corp. 82801DB AC'97 Modem Controller : ICH card...
Notes:
This was a difficult one to solve as it's a WinModem, but after quite a bit of research, I got it working.  The modem is an AC'97 modem, which means it uses part of the soundcard to provide services.  It's labeled as an IBM device, but the chipset is provided by AgereSystems.

Drivers for this modem, thankfully, are provided by SmartLink.  Do not attempt to use the latest releases.  I tried with several of the 2.9.x releases; they installed and recognized the modem succesfully, but when attempting to dial, it was very difficult to establish a successful connection, the modem would try to negotiate a connection at several levels before giving up.  I finally went back to a known stable release, 2.7.10.

You do have to make a very small software change for this to work.  Unpack the slmdm-2.7.10.tar.gz file to a directory of your liking, and made the following change:

Edit the file amrmo_init.c.  On line 75, change the value at the end of the line from 0x2486 to 0x24C6.  This will make the line look like the one below it.

75c75
< #define PCI_DEVICE_ID_ICH3                    0x24C6
---
> #define PCI_DEVICE_ID_ICH3                    0x2486

Then, do the "make install-amr" as directed.

Installation will create a new device called /dev/ttySL0, and link it to /dev/modem for you.  The solution allows the modem to work flawlessly.

Back to the top

Sound

Status: Works
Make/Model: Analog Devices AD1981B AC97 Soft Audio
Drivers/Modules:
OSS: i810_audio, ac97_codec, soundcore
ALSA: snd-intel8x0, soundcore, snd-mixer-oss, snd-seq-oss, snd-pcm-oss, snd-seq-oss, snd-pcm-oss
PCI Report:
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio Controller (rev 01)
        Subsystem: IBM: Unknown device 0554
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 1c00 [size=256]
        I/O ports at 18c0 [size=64]
        Memory at c0000c00 (32-bit, non-prefetchable) [size=512]
        Memory at c0000800 (32-bit, non-prefetchable) [size=256]
        Capabilities: [50] Power Management version 2
dmesg Report:

OSS
Intel 810 + AC97 Audio, version 0.24, 15:50:18 Oct 29 2003
PCI: Found IRQ 11 for device 00:1f.5
PCI: Setting latency timer of device 00:1f.5 to 64
i810: Intel ICH4 found at IO 0x18c0 and 0x1c00, MEM 0xc0000c00 and 0xc0000800, I
RQ 11
i810: Intel ICH4 mmio at 0xfafbdc00 and 0xfafbf800
i810_audio: Primary codec has ID 0
i810_audio: Audio Controller supports 6 channels.
i810_audio: Defaulting to base 2 channel mode.
i810_audio: Resetting connection 0
i810_audio: Connection 0 with codec id 0
ac97_codec: AC97 Audio codec, id: ADS116 (Unknown)
i810_audio: AC'97 codec 0 supports AMAP, total channels = 2

ALSA
PCI: Found IRQ 11 for device 00:1f.5
PCI: Setting latency timer of device 00:1f.5 to 64
intel8x0: clocking to 48000
Notes:
OSS support works out the box, but not very well.  KDE uses artsd by default, and artsd locks the /dev/dsp device, so other software that wants to share the port will have issues.  This used to work on other boxes I had with different soundcards, but doesn't work on this machine.  You can allow the other devices to use the sound card by killing the "artsd" daemon and telling KDE not to load it by default.

However, an ever better option is to switch to ALSA (which will be required soon anyway).  This page provides easy-to-follow and accruate instructions.  Really, all you have to do is 1) edit /etc/modules.conf and remove the old OSS stuff and add in the new ALSA stuff, 2) run "depmod -a", and 3) reboot (unfortunately you can't unload the OSS drivers any other way).

Once you get ALSA up, kill artsd again, and tell KDE not to restart it automatically (KDE Control Center | Sound & Multimedia | Sounds System (aRTs tab) - turn off the "Start aRts soundserver on KDE startup" option).

Thankfully KDE doesn't require artsd, and with ALSA installed, you can get KDE sounds, and still use your soundcard for other things.  Further, I find the sound quality under ALSA significantly better than it was with OSS.  Under
, always a problem where sound is involved, it's about the best I've ever encountered. 

Back to the top

Keyboard

Status: Works
Make/Model: 86 key keyboard w/ TrackPoint and UltraNav Touchpad w/ Access IBM, volume control,  power buttons, and Fn key
Drivers/Modules: keybdev, input
PCI Report: n/a
dmesg Report: n/a
The keyboard works well and all the keys do what they'd be expected to do.  The extra Forward and Back (browser) buttons above the left and right arrow keys do not do anything without some configuration, but here is some info on how to make them work.  For the impatient, there's the keycodes for your ~/.Xmodmap:

keycode 233 = Next_Virtual_Screen
keycode 234 = Prev_Virtual_Screen

The status of the special Fn-keys are outlined as follows:
Fn-F3
Works Turns off the display
Turns off the display, leaving the screen black.  To turn it back on, press any key or button, move the TrackPoint stick, or touch the UltraNav touchpad.
Fn-F4
Works
Put the computer in "standby" mode
To turn the computer back on, press the Fn key by itself or press the On/Off switch.  Note that putting the computer in "standby" mode can also be accomplished by just closing the lid.  Opening the lid will turn the computer back on.
Fn-F5
Works
Turns the Bluetooth device on and off
Under Windows, this will also let you control the wireless LAN card, but not under Linux.
Fn-F7
Works
Switch the display location
Toggles between the various display options: 1) External monitor, 2) LCD + external monitor, 3) LCD.   This evidently will not work when playing a DVD (according to IBM).  I could only see this working in console mode.
Fn-F8
Works
Alter display size
When the image displayed does not fill the physical display, pressing this key will expand it so it does.  Pressing it again will resume normal display.  This is most evident when not in one of the GUI consoles (like when the PC is starting up).
Fn-F9
Doesn't work
Opens the EasyEject Utility
Since this is a Windows utility, this keypress doesn't do anything under Linux.
Fn-F12
Doesn't work
Put the computer in "hibernate" mode
Under Windows, puts the computer in "hibernate" mode; pressing the On/Off switch restarts it.  Doesn't work at all under Linux and may even beep at you.  If you search the 'Net, you'll find all sorts of people have tried to make this work, and very well may have succeeded.  The problem is, there are a hundred different ideas, and they all don't work the same way.  Since I could care less if hibernate works or not, I haven't bothered to figure this out. 
Fn-PgUp
Works
Turns the ThinkLight on and off
Turns on that little, itty-bitty LED at the top of the display on and off.  I haven't found use for it as the display itself often illuminates the keyboard better then the LED could, but I guess if you're looking at a black screen in a dark room, it could be useful.
Fn-Home
Works
Makes the display brighter Moves through the seven screen brightness settings.
Fn-End
Works
Makes the display dimmer
Moves through the seven screen brightness settings.
Fn-Spacebar
Unknown
Enables the FullScreen Magnifier function
No evidence whatsoever that this key did anything.
Volume Down
Works
Lowers the volume
Works, and gives a clue as to it's function by beeping in relation to the current volume.  Does not put anything on the display as it does under Windows.  However, there is some Linux software that will show on-screen-displays of the volume levels (and other things).
Volume Up
Works
Raises the volume
Works, and gives a clue as to it's function by beeping in relation to the current volume.  Does not put anything on the display as it does under Windows.  However, there is some Linux software that will show on-screen-displays of the volume levels (and other things).
Mute
Works
Mutes the volume
Gives no indication it does anything, but it does mute and un-mute the volume.  Pressing either volume key will also un-mute the volume.  There is some Linux software that will show on-screen-displays of the volume levels (and other things).
On/Off
Works
Turns the machine on and off.
Pressing the button when the machine is on will turn it off.  It will NOT put it in standby or hibernate, so you'll lose everything not saved.  Pressing it when the machine is off will turn it on.  If you need to "reset", hold it down for at least 4 seconds.
Access IBM
Works
Enters Predesktop area
Enters the Predesktop area, sort of like the BIOS on other machines.  Whether or not all of the features actually work depends on whether or not you saved your hidden partition or not, but at minimum you can go to the Information screen and the Settings screen.
 
The Trackpoint and UltraNav touchpad work without configuration, with the exception of the third button for the Trackpoint.  I found a whole bunch of things on the 'Net that said they either corrected the problem, or worked around it, however, the three I tried didn't work.  Since I HATE/DETEST/LOATHE touchpads anyway, I took the easy way out; if you disable the touchpad in BIOS, the third button just starts working.  If you want to investigate the "real" solutions - this site might help, or you can try this site.

Back to the top

Infrared

Status: Unknown
Make/Model: Infrared transceiver
Drivers/Modules: n/a
PCI Report:  n/a
dmesg Report: n/a
Notes:  I have no idea if this works or not, I don't have anything to test it with, or any experience using IR links.

Back to the top

Firewire

Status: Unknown
Make/Model: IEEE 1394 (Firewire) Port
Drivers/Modules: ieee1394, ohci1394
PCI Report:
02:00.2 FireWire (IEEE 1394): Texas Instruments: Unknown device 802a (rev 01) (prog-if 10 [OHCI])
        Subsystem: IBM: Unknown device 0553
        Flags: bus master, medium devsel, latency 64, IRQ 11
        Memory at c0224000 (32-bit, non-prefetchable) [size=2K]
        Memory at c0220000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2
dmesg Report:
ohci1394_0: OHCI-1394 1.1 (PCI): IRQ=[11]  MMIO=[c0224000-c02247ff]  Max Packet=[2048]
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00061b03200464bb]
Notes:
All the drivers appear to load successfully, but I don't have any devices to test this with.

Back to the top

USB

Status: Works
Make/Model: 2 USB 2.0 ports
Drivers/Modules: usbcore, usb-uhci, ehci_hcd, hid
PCI Report:
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 01) (prog-if 00 [UHCI])
        Subsystem: IBM: Unknown device 052d
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 1800 [size=32]

00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 01) (prog-if 00 [UHCI])
        Subsystem: IBM: Unknown device 052d
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 1820 [size=32]

00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 01) (prog-if 00 [UHCI])
        Subsystem: IBM: Unknown device 052d
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 1840 [size=32]

00:1d.7 USB Controller: Intel Corp. 82801DB USB2 (rev 01) (prog-if 20 [EHCI])
        Subsystem: IBM: Unknown device 052e
        Flags: bus master, medium devsel, latency 0, IRQ 11
        Memory at c0000000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [50] Power Management version 2
        Capabilities: [58] #0a [2080]
dmesg Report:
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 15:50:32 Oct 29 2003
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: USB UHCI at I/O 0x1800, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
usb-uhci.c: USB UHCI at I/O 0x1820, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
usb-uhci.c: USB UHCI at I/O 0x1840, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 3
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb.c: new USB bus registered, assigned bus number 4
usb.c: registered new driver hiddev
usb.c: registered new driver hid
usb-uhci.c: interrupt, status 3, frame# 1778
ehci_hcd 00:1d.7: Intel Corp. 82801DB USB2
ehci_hcd 00:1d.7: irq 11, pci mem fac5f000
ehci_hcd 00:1d.7: enabled 64bit PCI DMA
ehci_hcd 00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2003-Jun-19/2.4
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
Notes:
Works out of the box.

Back to the top

Parallel Port

Status: Works
Make/Model: 1 Parellel (ECP/EPP) port
Drivers/Modules: parport, parport_pc, lp
PCI Report: n/a
dmesg Report:
parport0: PC-style at 0x3bc (0x7bc) [PCSPP,TRISTATE]
parport0: irq 7 detected
parport0: PC-style at 0x3bc (0x7bc) [PCSPP,TRISTATE]
parport0: irq 7 detected
lp0: using parport0 (polling).
Notes:
Appears to work, although I haven't actually connected anything to it.  I'm saying this works because parallel ports haven't changed much in recent years and are very standard and stable.  You shouldn't have any problems with it.

Back to the top

Port Replicator

Status: Unknown
Make/Model: Port Replicator docking port
Drivers/Modules: n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
No idea if this works or not, I don't have a replicator to test with.

Back to the top

Headphones port

Status: Works
Make/Model:  Headphones port
Drivers/Modules: n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
Works perfectly.

Back to the top

Mic-in port

Status: Works
Make/Model: Mic-in port
Drivers/Modules: n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
I haven't tested this, but mic-in ports have been standardized for years, so I have no reason to believe it won't work.  Actually making use of it is the responsiblity of the soundcard and it's software, not the port itself.

Back to the top

S-Video out port

Status: Unknown
Make/Model: S-Video out port
Drivers/Modules: n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
Haven't tested it yet, so I don't know if it works or not.

Back to the top

Monitor port

Status: Unknown
Make/Model: Monitor port
Drivers/Modules: n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
Haven't tested it yet, so I don't know if it works or not.

Back to the top

RJ-11/RJ-45 Ports

Status: Works
Make/Model: Built in RJ-11 and RJ-45 ports
Drivers/Modules: n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
Both ports work perfectly.

Back to the top

PCMCIA

Status: Unknown
Make/Model: 1 PCMCIA Slot (Type I/II/III, 16/32 Bit)
Drivers/Modules: ds, yenta_socket, pcmcia_core
PCI Report:
02:00.0 CardBus bridge: Texas Instruments: Unknown device ac46 (rev 01)
        Subsystem: IBM: Unknown device 0552
        Flags: bus master, medium devsel, latency 168, IRQ 11
        Memory at b0000000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=02, secondary=03, subordinate=05, sec-latency=176
        Memory window 0: 80000000-803ff000 (prefetchable)
        Memory window 1: 80400000-807ff000 (prefetchable)
        I/O window 0: 00004000-000040ff
        I/O window 1: 00004400-000044ff
        16-bit legacy interface ports at 0001
dmesg Report:
Linux Kernel Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
Yenta IRQ list 06f8, PCI irq11
Socket status: 30000086
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x3b8-0x3df 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.
Notes:
Drivers load, but haven't tested it yet.

Back to the top

Security Chip

Status: Doesn't Work
Make/Model: Internal IBM Security Chip
Drivers/Modules: n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
The security chip is supposed to be TCPA compliant, and projects are just beginning to make use of the chip.  For now, might as well disable it so it doesn't use any resources.

Back to the top


Other Important Stuff

APM

Status: Works

Drivers/Modules: n/a
PCI Report: n/a
dmesg Report:
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)
IBM machine detected. Enabling interrupts during APM calls.
Notes:
Everything seems to work perfectly, including suspend.  I don't know if hibernation works as I've never tried to get it working.  Battery monitors, lid open/close, on/off button, and display dimming all seem to work as they're supposed to.  I didn't even have to create or alter any of the suspend/resume scripts!

Some sample messages:

Mar 14 19:20:00 localhost apmd[3625]: Battery: * * * (100% unknown)
Mar 15 08:19:19 localhost apmd[4229]: Battery: * * * (100% unknown)
Mar 16 08:37:17 ben apmd[4232]: Battery: * * * (100% unknown)
Mar 17 01:59:51 ben apmd[4232]: Now using Battery Power
Mar 17 01:59:51 ben apmd[4232]: Battery: 0.013428 17:23 4 days, 10:44 (86% 4:16)
Mar 17 07:59:58 ben apmd[4232]: Normal Resume after 14:27:24, -23.24%/day (86% 4:16) Battery power
Mar 17 09:36:45 ben apmd[4232]: Battery: -0.144653 (1:37) 4294967285:4294967266 (100% unknown)
Mar 18 07:48:23 ben apmd[4229]: Battery: * * * (100% unknown)
Mar 18 13:50:33 localhost apmd[976]: Battery: * * * (100% unknown)
Mar 18 14:16:33 ben apmd[4235]: Battery: * * * (100% unknown)
Mar 18 14:38:46 localhost apmd[4230]: Battery: * * * (100% unknown)
Mar 19 09:51:42 localhost apmd[4230]: Battery: -0.152698 (1:38) 4294967286:4294967243 (100% unknown)
Mar 21 14:16:24 localhost apmd[4229]: Now using Battery Power

Back to the top

ACPI

Status: Unknown

Drivers/Modules: n/a
PCI Report: n/a
dmesg Report:
 BIOS-e820: 000000007ff60000 - 000000007ff78000 (ACPI data)
 BIOS-e820: 000000007ff78000 - 000000007ff7a000 (ACPI NVS)
ACPI: have wakeup address 0xc0001000
ACPI: RSDP (v002 IBM                                       ) @ 0x000f6b40
ACPI: XSDT (v001 IBM    TP-1R    0x00002110  LTP 0x00000000) @ 0x7ff6c263
ACPI: FADT (v003 IBM    TP-1R    0x00002110 IBM  0x00000001) @ 0x7ff6c300
ACPI: SSDT (v001 IBM    TP-1R    0x00002110 MSFT 0x0100000e) @ 0x7ff6c4b4
ACPI: ECDT (v001 IBM    TP-1R    0x00002110 IBM  0x00000001) @ 0x7ff77e26
ACPI: TCPA (v001 IBM    TP-1R    0x00002110 PTL  0x00000001) @ 0x7ff77e78
ACPI: BOOT (v001 IBM    TP-1R    0x00002110  LTP 0x00000001) @ 0x7ff77fd8
ACPI: DSDT (v001 IBM    TP-1R    0x00002110 MSFT 0x0100000e) @ 0x00000000
ACPI: Subsystem revision 20031002
ACPI: Interpreter disabled.
Notes:
From looking at the bootup messages, it looks like everything is in order.  Interestingly, the last message says "Interpreter disabled".  Don't know why.  I didn't really have a reason to try to get ACPI to work at the moment since APM seems to handle everything prefectly. 

Back to the top

XFree86

Status: Works

Drivers/Modules: n/a
PCI Report: n/a
dmesg Report: n/a
Notes:
Everything seems to work without my having to mess with it.  The display works perfectly, resolution was automatically configured at 1400x1050, bitdepth was set to 24, the Trackpoint and UltraNav were automatically configured as PS/2 devices, and my (PS2/USB) MS Wheel Mouse plugged in and worked instantly.  The one exception is the third button on the TrackPoint device, as mentioned above, my disabling the NavPad resolved it.

Back to the top


Files & Logs

/proc Files

:cat /proc/cmdline
ro root=LABEL=/ hdc=ide-scsi rhgb
:cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 9
model name      : Intel(R) Pentium(R) M processor 1700MHz
stepping        : 5
cpu MHz         : 598.076
cache size      : 1024 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe tm2 est
bogomips        : 1192.75
:cat /proc/devices
Character devices:
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 cua
  6 lp
  7 vcs
 10 misc
 13 input
 14 sound
 21 sg
 29 fb
 36 netlink
116 alsa
119 vmnet
128 ptm
129 ptm
130 ptm
131 ptm
132 ptm
133 ptm
134 ptm
135 ptm
136 pts
137 pts
138 pts
139 pts
140 pts
141 pts
142 pts
143 pts
162 raw
171 ieee1394
180 usb
226 drm
254 pcmcia

Block devices:
  1 ramdisk
  3 ide0
  9 md
 11 sr
 12 unnamed
 14 unnamed
 22 ide1
 38 unnamed
 39 unnamed
:cat /proc/interrupts
           CPU0
  0:     124674          XT-PIC  timer
  1:       3381          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  8:          1          XT-PIC  rtc
 11:      92708          XT-PIC  usb-uhci, usb-uhci, usb-uhci, ehci_hcd, ohci1394, driverloader, PCI device 104c:ac46 (Texas Instruments), radeon@PCI:1:0:0, Intel 82801DB-ICH4
 12:      55226          XT-PIC  PS/2 Mouse
 14:      12188          XT-PIC  ide0
 15:         60          XT-PIC  ide1
NMI:          0
ERR:          0
:cat /proc/iomem
00000000-0009efff : System RAM
0009f000-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000e0000-000effff : Extension ROM
000f0000-000fffff : System ROM
00100000-7ff0ffff : System RAM
  00100000-00277f10 : Kernel code
  00277f11-0038d8a7 : Kernel data
7ff10000-7ff29fff : ACPI Tables
7ff2a000-7ff2bfff : ACPI Non-volatile Storage
7ff2c000-7ff2c3ff : Intel Corp. 82801DBM Ultra ATA Storage Controller
7ff80000-7fffffff : reserved
80000000-803fffff : PCI CardBus #03
80400000-807fffff : PCI CardBus #03
b0000000-b0000fff : PCI device 104c:ac46 (Texas Instruments)
c0000000-c00003ff : Intel Corp. 82801DB USB2
  c0000000-c00003ff : ehci_hcd
c0000800-c00008ff : Intel Corp. 82801DB AC'97 Audio Controller
  c0000800-c00008ff : Intel 82801DB-ICH4 - Controller
c0000c00-c0000dff : Intel Corp. 82801DB AC'97 Audio Controller
  c0000c00-c0000dff : Intel 82801DB-ICH4 - AC'97
c0100000-c01fffff : PCI Bus #01
  c0100000-c010ffff : ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9]
c0200000-c020ffff : PCI device 8086:101e (Intel Corp.)
  c0200000-c020ffff : e1000
c0210000-c021ffff : PCI device 168c:1014
  c0210000-c021ffff : driverloader
c0220000-c0223fff : PCI device 104c:802a (Texas Instruments)
c0224000-c02247ff : PCI device 104c:802a (Texas Instruments)
  c0224000-c02247ff : ohci1394
c0240000-c025ffff : PCI device 8086:101e (Intel Corp.)
  c0240000-c025ffff : e1000
d0000000-dfffffff : Intel Corp. 82855PM Processor to I/O Controller
e0000000-e7ffffff : PCI Bus #01
  e0000000-e7ffffff : ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9]
ff800000-ffffffff : reserved

:cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0376-0376 : ide1
03bc-03be : parport0
03c0-03df : vga+
03f6-03f6 : ide0
0cf8-0cff : PCI conf1
1800-181f : Intel Corp. 82801DB USB (Hub #1)
  1800-181f : usb-uhci
1820-183f : Intel Corp. 82801DB USB (Hub #2)
  1820-183f : usb-uhci
1840-185f : Intel Corp. 82801DB USB (Hub #3)
  1840-185f : usb-uhci
1860-186f : Intel Corp. 82801DBM Ultra ATA Storage Controller
  1860-1867 : ide0
  1868-186f : ide1
1880-189f : Intel Corp. 82801DB/DBM SMBus Controller
18c0-18ff : Intel Corp. 82801DB AC'97 Audio Controller
1c00-1cff : Intel Corp. 82801DB AC'97 Audio Controller
2000-207f : Intel Corp. 82801DB AC'97 Modem Controller
2400-24ff : Intel Corp. 82801DB AC'97 Modem Controller
3000-3fff : PCI Bus #01
  3000-30ff : ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9]
4000-40ff : PCI CardBus #03
4400-44ff : PCI CardBus #03
8000-803f : PCI device 8086:101e (Intel Corp.)
  8000-803f : e1000

:cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  2117623808 247341056 1870282752        0 14016512 109080576
Swap: 3143016448        0 3143016448
MemTotal:      2067992 kB
MemFree:       1826448 kB
MemShared:           0 kB
Buffers:         13688 kB
Cached:         106524 kB
SwapCached:          0 kB
Active:          51384 kB
Inactive:       150188 kB
HighTotal:     1178688 kB
HighFree:       986892 kB
LowTotal:       889304 kB
LowFree:        839556 kB
SwapTotal:     3069352 kB
SwapFree:      3069352 kB


Back to the top

lsmod Output

:lsmod
Module                  Size  Used by    Tainted: PF
snd-pcm-oss            45092   0  (autoclean)
snd-intel8x0           24360   0  (autoclean)
snd-ac97-codec         58796   0  (autoclean) [snd-intel8x0]
snd-pcm                85540   0  (autoclean) [snd-pcm-oss snd-intel8x0]
snd-timer              19652   0  (autoclean) [snd-pcm]
gameport                3380   0  (autoclean) [snd-intel8x0]
snd-mpu401-uart         5264   0  (autoclean) [snd-intel8x0]
snd-rawmidi            18720   0  (autoclean) [snd-mpu401-uart]
snd-seq-device          6172   0  (autoclean) [snd-rawmidi]
snd-page-alloc         10164   0  (autoclean) [snd-intel8x0 snd-pcm]
snd-mixer-oss          16496   0  (autoclean) [snd-pcm-oss]
snd                    46660   0  (autoclean) [snd-pcm-oss snd-intel8x0 snd-ac97-codec snd-pcm snd-timer snd-mpu401-uart snd-rawmidi snd-seq-device snd-mixer-oss]
soundcore               6468   4  (autoclean) [snd]
vmnet                  23624   6
vmmon                  27604   0  (unused)
vpnmod                196960  -1  (unused)
parport_pc             19076   1  (autoclean)
lp                      9060   0  (autoclean)
parport                37056   1  (autoclean) [parport_pc lp]
autofs                 13364   0  (autoclean) (unused)
ds                      8680   1
yenta_socket           13664   1
pcmcia_core            57216   0  [ds yenta_socket]
driverloader          139948   0
e1000                  71616   0  (unused)
sg                     36492   0  (autoclean)
sr_mod                 18168   0  (autoclean)
microcode               4700   0  (autoclean)
ide-scsi               12208   0
scsi_mod              108168   3  [sg sr_mod ide-scsi]
ide-cd                 35776   0
cdrom                  33728   0  [sr_mod ide-cd]
ohci1394               29160   0  (unused)
ieee1394              204676   0  [ohci1394]
nls_iso8859-1           3516   1  (autoclean)
nls_cp437               5148   1  (autoclean)
vfat                   13036   1  (autoclean)
fat                    38872   0  (autoclean) [vfat]
keybdev                 2976   0  (unused)
hid                    24708   0  (unused)
ehci-hcd               20264   0  (unused)
usb-uhci               26380   0  (unused)
usbcore                79168   1  [hid ehci-hcd usb-uhci]
mousedev                5556   1  (autoclean)
input                   5888   0  (autoclean) [keybdev hid mousedev]
radeon                115204  13
agpgart                54820   3
ext3                   71300   2
jbd                    52084   2  [ext3]


Back to the top

XF86Config

Section "ServerLayout"
    Identifier     "single head configuration"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "DevInputMice" "AlwaysCore"
EndSection

Section "Files"
    RgbPath      "/usr/X11R6/lib/X11/rgb"
    FontPath     "unix/:7100"
EndSection

Section "Module"
    Load  "dbe"
    Load  "extmod"
    Load  "fbdevhw"
    Load  "glx"
    Load  "record"
    Load  "freetype"
    Load  "type1"
    Load  "dri"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "keyboard"
    Option        "XkbRules" "xfree86"
    Option        "XkbModel" "pc105"
    Option        "XkbLayout" "us"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "PS/2"
    Option        "Device" "/dev/psaux"
    Option        "ZAxisMapping" "4 5"
    Option        "Emulate3Buttons" "no"
EndSection

Section "InputDevice"
    Identifier  "DevInputMice"
    Driver      "mouse"
    Option        "Protocol" "IMPS/2"
    Option        "Device" "/dev/input/mice"
    Option        "ZAxisMapping" "4 5"
    Option        "Emulate3Buttons" "no"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "LCD Panel 1400x1050"
    HorizSync    31.5 - 90.0
    VertRefresh  59.0 - 75.0
    Option        "dpms"
EndSection

Section "Device"
    Identifier  "Videocard0"
    Driver      "radeon"
    VendorName  "Videocard vendor"
    BoardName   "ATI Radeon Mobility M9"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Videocard0"
    Monitor    "Monitor0"
    DefaultDepth     24
    SubSection "Display"
        Depth     16
        Modes    "1400x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth     24
        Modes    "1400x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "DRI"
    Group        0
    Mode         0666
EndSection

Back to the top

lspci -v Output

:lspci -v
00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
        Subsystem: IBM: Unknown device 0529
        Flags: bus master, fast devsel, latency 0
        Memory at d0000000 (32-bit, prefetchable) [size=256M]
        Capabilities: [e4] #09 [4104]
        Capabilities: [a0] AGP version 2.0

00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03) (prog-if 00 [Normal decode])
        Flags: bus master, 66Mhz, fast devsel, latency 96
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
        I/O behind bridge: 00003000-00003fff
        Memory behind bridge: c0100000-c01fffff
        Prefetchable memory behind bridge: e0000000-e7ffffff

00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 01) (prog-if 00 [UHCI])
        Subsystem: IBM: Unknown device 052d
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 1800 [size=32]

00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 01) (prog-if 00 [UHCI])
        Subsystem: IBM: Unknown device 052d
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 1820 [size=32]

00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 01) (prog-if 00 [UHCI])
        Subsystem: IBM: Unknown device 052d
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 1840 [size=32]

00:1d.7 USB Controller: Intel Corp. 82801DB USB2 (rev 01) (prog-if 20 [EHCI])
        Subsystem: IBM: Unknown device 052e
        Flags: bus master, medium devsel, latency 0, IRQ 11
        Memory at c0000000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [50] Power Management version 2
        Capabilities: [58] #0a [2080]

00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 81) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=05, sec-latency=168
        I/O behind bridge: 00004000-00008fff
        Memory behind bridge: c0200000-cfffffff
        Prefetchable memory behind bridge: e8000000-efffffff

00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 01)
        Flags: bus master, medium devsel, latency 0

00:1f.1 IDE interface: Intel Corp. 82801DBM Ultra ATA Storage Controller (rev 01) (prog-if 8a [Master SecP PriP])
        Subsystem: IBM: Unknown device 052d
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at 1860 [size=16]
        Memory at 7ff2c000 (32-bit, non-prefetchable) [size=1K]

00:1f.3 SMBus: Intel Corp. 82801DB/DBM SMBus Controller (rev 01)
        Subsystem: IBM: Unknown device 052d
        Flags: medium devsel, IRQ 11
        I/O ports at 1880 [size=32]

00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio Controller (rev 01)
        Subsystem: IBM: Unknown device 0554
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 1c00 [size=256]
        I/O ports at 18c0 [size=64]
        Memory at c0000c00 (32-bit, non-prefetchable) [size=512]
        Memory at c0000800 (32-bit, non-prefetchable) [size=256]
        Capabilities: [50] Power Management version 2

00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem Controller (rev 01) (prog-if 00 [Generic])
        Subsystem: IBM: Unknown device 0525
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at 2400 [size=256]
        I/O ports at 2000 [size=128]
        Capabilities: [50] Power Management version 2

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02) (prog-if 00 [VGA])
        Subsystem: IBM: Unknown device 0531
        Flags: bus master, stepping, fast Back2Back, 66Mhz, medium devsel, latency 66, IRQ 11
        Memory at e0000000 (32-bit, prefetchable) [size=128M]
        I/O ports at 3000 [size=256]
        Memory at c0100000 (32-bit, non-prefetchable) [size=64K]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [58] AGP version 2.0
        Capabilities: [50] Power Management version 2

02:00.0 CardBus bridge: Texas Instruments: Unknown device ac46 (rev 01)
        Subsystem: IBM: Unknown device 0552
        Flags: bus master, medium devsel, latency 168, IRQ 11
        Memory at b0000000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=02, secondary=03, subordinate=05, sec-latency=176
        Memory window 0: 80000000-803ff000 (prefetchable)
        Memory window 1: 80400000-807ff000 (prefetchable)
        I/O window 0: 00004000-000040ff
        I/O window 1: 00004400-000044ff
        16-bit legacy interface ports at 0001

02:00.2 FireWire (IEEE 1394): Texas Instruments: Unknown device 802a (rev 01) (prog-if 10 [OHCI])
        Subsystem: IBM: Unknown device 0553
        Flags: bus master, medium devsel, latency 64, IRQ 11
        Memory at c0224000 (32-bit, non-prefetchable) [size=2K]
        Memory at c0220000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2

02:01.0 Ethernet controller: Intel Corp.: Unknown device 101e (rev 03)