Ubuntu Linux on the IBM ThinkPad T42

/*Note: This is a work in progress, and will be updated frequently as my experiences with Ubuntu on my T42 continue. Please contribute by emailing me or leaving a comment below.

Last updated: 1/19/05

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones

Table of Contents

  1. Introduction
  2. Installation
  3. Post-Install Tweaks
  4. To Do
  5. Miscellaneous Output

I recently “resolved” the issues barring me from running Linux on my ThinkPad. Specifically, I needed to run some software for work that was completely not working under Linux (believe me: I tried). I “fixed” this by finally setting up my work ThinkPad for remote access, leaving me free and clear to destroy my personal T42.

I’ve been a huge fan of Fedora in the past, and I’ve had excellent luck with it on the desktop front, but I recently started installing Ubuntu (oo-BOON-too) on a few workstations (notably, my Mac mini).

Installation

After backing up my Windows installation (just in case), I downloaded the install image for the Ubuntu 5.04 (Hoary Hedgehog). TuxMobil links to a user who successfully installed Ubuntu on his T42p, so I was feeling good about the installation. Unfortunately, his page is really a bunch of quick notes from research he did before buying the laptop, and is quite difficult to digest. Which brings me to begin this guide.

From the moment the ThinkPad booted from the Ubuntu install CD, I knew I was in for a treat. Everything went smoothly – even detecting the IBM a/b/g wireless miniPCI card “out of the box.” Installation does take a while, since are given (and should take) the option of downloading the latest packages from the Ubuntu servers. Luckily, my office has a bona-fide 100Mbit connection to the Internet. If you’re on a “standard” cable connection, it’ll probably take a few extra minutes. In less than 20 minutes I was sitting at the beautiful Ubuntu login screen.

Some notable comments on hardware support:

  • Sound: works out of the box, and the volume controls on the ThinkPad’s keyboard work as well.
  • Network: both wired and wireless (IBM/Atheros a/b/g miniPCI) work “out of the box.”
  • Video: The video card is detected correctly as an ATI Radeon Mobility 9600, and xorg uses the ati driver, which doesn’t include 3D accelleration support. To enable support, we’ll have to install ATI’s fglrx drivers (see below).
  • Hard Drive Active Protection: The new ThinkPads are equipped with IBM’s patented hard drive protection technology. The IBM Active Protection System detects system acceleration like that which occurs in a fall or sudden move and responds by temporarily parking the drive’s head. This feature can save your hard drive in the event of a fall or sudden impact. The IBM drivers for Windows display the system status and show a nifty graphical representation of your ThinkPad in motion. Unfortunately, there is no support for Linux yet.
  • ACPI: Yes! Finally, a distribution that support sleep and suspend “out of the box.”

Post-Installation Tweaks

Linux just wouldn’t be Linux if there wasn’t some grunt-work to be done. Here are a few tips I to get certain things (mostly) working.

Installing a CPU-specific Kernel

We installed off the i386 installation CD, which will work fine, but will not allow us to take advantage of some architectural enhancements present in 686-generation CPUs. To remedy this, we’ll install the latest 686 kernel.

sudo apt-get install linux-686

Power Management

The Hoary beta provides support for suspend and resume with kernel 2.6.10 or newer and acpi-support 0.11 or later. To enable support for these ACPI functions, edit /etc/default/acpi-support and uncomment the line:

ACPI_SLEEP=true

To enable suspend to disk on Hoary, edit /boot/grub/menu.lst and go to the line starting #kopt. Add the following (replace /dev/hda5 with your swap partition):

resume=/dev/hda5

Mine looks like this:

# kopt=root=/dev/hda1 resume=/dev/hda5 ro pci=noacpi acpi_sleep=s3_bios

Finally, run sudo update-grub and reboot.

To suspend to RAM, either press the ThinkPad’s sleep button (FN + F4 or run sudo /etc/acpi/sleep.sh. To suspend to disk, either press your machine’s hibernate button or run sudo /etc/acpi/hibernate.sh. Buttons will be added to the System menu for the final release.

Video

Note: Installing the “fglrx” drivers will break suspend/resume support (for now). If anyone has a solution for the video corruption which occurs on resume, let me know.

Hoary will install the “ati” driver by default, which offers very limited 3D support. For a much speedier graphics experience, you’ll need to install the ATI “fglrx” binary driver package. Install the drivers from the repository:

sudo apt-get install xorg-driver-fglrx

Once installed, we must load the kernel module by default:

echo fglrx | sudo tee -a /etc/modules

We also need to configure Xorg to use the “fglrx” driver instead of the default “ati” driver:

sudo sed -i -e 's/"ati"/"fglrx"/' /etc/X11/xorg.conf

Now, reboot and you should end up in X with the “fglrx” drivers working correctly. You can tell by running fglrxinfo from the command line:

oaaltone@beta:~$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9600 Generic
OpenGL version string: 1.3.4769 (X4.3.0-8.8.25)

Also, if you run glxgears, you should receive framerates of over 1,000 fps:

oaaltone@beta:~$ glxgears
6448 frames in 5.0 seconds = 1289.600 FPS
6793 frames in 5.0 seconds = 1358.600 FPS
6792 frames in 5.0 seconds = 1358.400 FPS
6783 frames in 5.0 seconds = 1356.600 FPS

ThinkPad Buttons

NOTE: At this time, the tpb package is not in the universe repository.

Install tpb (from the universe repository for support of the ThinkPad’s function keys:

sudo apt-get install tpb

Add the nvram kernel module to /etc/modules:

echo nvram | sudo tee -a /etc/modules

Make sure you add the appropriate users to the nvram group:

sudo addgroup --system nvram
sudo adduser [username] nvram

All that’s left to do is to is to make sure that udev gives read/write permissions for the /dev/nvram device to all members of the nvram group. Make sure /etc/udev/permissions.d/udev.permissions has the following lines:

misc/nvram:root:nvram:660
nvram:root:nvram:660

Upon reboot, you should see the on-screen display accompany any function key actions, like adjusting the volume with the ThinkPad’s volume control buttons.

Center-Button Scrolling

For those of us who use the award-winning TrackPoint pointing device, it’s handy to use the center, blue button for scrolling functionality. In Windows, this is taken care of by IBM’s drivers, but in Linux we can enable this feature by some editing of xorg.conf.

Open /etc/X11/xorg.conf in the text editor of your choosing, and add the following two lines to the appropriate InputDevice section (see my xorg.conf below):

Option           "EmulateWheel"
Option          "EmulateWheelButton"    "2"

Restart X and you should be able to press the center, blue button and use the TrackPoint as a scroll wheel.

To Do

There are a few things to set straight before I would consider the installation guide complete. Look for more details in the coming days/weeks/months. Here are my general notes and comments on items that will be added in the future.

  • WPA (PSK) support using wpasupplicant.
  • Suspend/resume issues with binary ATI drivers.
  • Drivers for ThinkPad Active Protection System (hard drive accelerometer).
  • Power management profile system similar to IBM’s Windows utility.

Miscellaneous Output

  • lsmod

    Module                  Size  Used by
    speedstep_centrino      7892  1
    proc_intf               3908  0
    freq_table              4004  1 speedstep_centrino
    cpufreq_userspace       4348  1
    cpufreq_ondemand        6140  0
    cpufreq_powersave       1632  0
    pcmcia                 22244  4
    video                  15972  0
    sony_acpi               5928  0
    pcc_acpi               11008  0
    ibm_acpi               17524  0
    button                  6480  0
    battery                 9988  0
    container               4320  0
    ac                      4676  0
    af_packet              21992  2
    ath_pci                60608  0
    ath_rate_onoe           8904  1 ath_pci
    wlan                  118524  3 ath_pci,ath_rate_onoe
    ath_hal               133232  2 ath_pci
    e1000                  85620  0
    yenta_socket           21344  0
    pcmcia_core            57984  2 pcmcia,yenta_socket
    snd_intel8x0m          18212  0
    snd_intel8x0           32352  2
    snd_ac97_codec         74144  2 snd_intel8x0m,snd_intel8x0
    snd_pcm_oss            52132  0
    snd_mixer_oss          19680  2 snd_pcm_oss
    snd_pcm                94696  5 snd_intel8x0m,snd_intel8x0,snd_ac97_codec,snd_pcm_oss
    snd_timer              25060  1 snd_pcm
    snd                    55012  8 snd_intel8x0m,snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
    soundcore              10016  2 snd
    snd_page_alloc          9732  3 snd_intel8x0m,snd_intel8x0,snd_pcm
    i2c_i801                8364  0
    i2c_core               22320  1 i2c_i801
    hw_random               5300  0
    ehci_hcd               32676  0
    uhci_hcd               32816  0
    usbcore               118968  3 ehci_hcd,uhci_hcd
    shpchp                 99172  0
    pci_hotplug            33488  1 shpchp
    intel_agp              22076  1
    agpgart                33608  1 intel_agp
    irtty_sir               8544  0
    sir_dev                18828  1 irtty_sir
    irda                  191936  2 irtty_sir,sir_dev
    crc_ccitt               1920  1 irda
    floppy                 58864  0
    rtc                    12472  0
    pcspkr                  3496  0
    md                     47280  0
    dm_mod                 59420  1
    capability              4648  0
    commoncap               7712  1 capability
    evdev                   9344  0
    fglrx                 237088  9
    tsdev                   7520  0
    nvram                   9096  1
    psmouse                21320  0
    mousedev               11288  1
    parport_pc             37252  1
    lp                     11144  0
    parport                36744  2 parport_pc,lp
    ide_cd                 41700  0
    cdrom                  40220  1 ide_cd
    ext3                  136424  1
    jbd                    60216  1 ext3
    mbcache                 8356  1 ext3
    ide_generic             1312  0
    piix                   10340  1
    ide_disk               20416  3
    ide_core              129356  4 ide_cd,ide_generic,piix,ide_disk
    unix                   28276  937
    thermal                13320  0
    processor              22452  2 speedstep_centrino,thermal
    fan                     4388  0
    fbcon                  37504  0
    crc32                   4128  1 fbcon
    font                    8192  1 fbcon
    bitblit                 5472  1 fbcon
    vesafb                  6724  0
    cfbcopyarea             3808  1 vesafb
    cfbimgblt               2912  1 vesafb
    cfbfillrect             3488  1 vesafb
    

  • lspci

    0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
    0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03)
    0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
    0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
    0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
    0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 01)
    0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 81)
    0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 01)
    0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 01)
    0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)
    0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
    0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
    0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]
    0000:02:00.0 CardBus bridge: Texas Instruments PCI4520 PC card Cardbus Controller (rev 01)
    0000:02:00.1 CardBus bridge: Texas Instruments PCI4520 PC card Cardbus Controller (rev 01)
    0000:02:01.0 Ethernet controller: Intel Corp. 82540EP Gigabit Ethernet Controller (Mobile) (rev 03)
    0000:02:02.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
    

  • hdparm

    /dev/hda:
    Timing cached reads:   2336 MB in  2.00 seconds = 1167.59 MB/sec
    Timing buffered disk reads:   98 MB in  3.01 seconds =  32.52 MB/sec
    
    /dev/hda:
    multcount    =  0 (off)
    IO_support   =  0 (default 16-bit)
    unmaskirq    =  0 (off)
    using_dma    =  1 (on)
    keepsettings =  0 (off)
    readonly     =  0 (off)
    readahead    = 256 (on)
    geometry     = 65535/16/63, sectors = 40007761920, start = 0
    

  • xorg.conf

    # /etc/X11/xorg.conf (xorg X Window System server configuration file)
    #
    # This file was generated by dexconf, the Debian X Configuration tool, using
    # values from the debconf database.
    #
    # Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
    # (Type "man /etc/X11/xorg.conf" at the shell prompt.)
    #
    # This file is automatically updated on xserver-xorg package upgrades *only*
    # if it has not been modified since the last upgrade of the xserver-xorg
    # package.
    #
    # If you have edited this file but would like it to be automatically updated
    # again, run the following commands:
    #
    #   cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
    #   sudo sh -c 'md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum'
    #   sudo dpkg-reconfigure xserver-xorg
    
    Section "Files"
    FontPath        "unix/:7100"                    # local font server
    # if the local font server has problems, we can fall back on these
    FontPath        "/usr/lib/X11/fonts/misc"
    FontPath        "/usr/lib/X11/fonts/cyrillic"
    FontPath        "/usr/lib/X11/fonts/100dpi/:unscaled"
    FontPath        "/usr/lib/X11/fonts/75dpi/:unscaled"
    FontPath        "/usr/lib/X11/fonts/Type1"
    FontPath        "/usr/lib/X11/fonts/CID"
    FontPath        "/usr/lib/X11/fonts/100dpi"
    FontPath        "/usr/lib/X11/fonts/75dpi"
    # paths to defoma fonts
    FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
    FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
    EndSection
    
    Section "Module"
    Load    "bitmap"
    Load    "dbe"
    Load    "ddc"
    Load    "dri"
    Load    "extmod"
    Load    "freetype"
    Load    "glx"
    Load    "int10"
    Load    "record"
    Load    "type1"
    Load    "vbe"
    EndSection
    
    Section "InputDevice"
    Identifier      "Generic Keyboard"
    Driver          "keyboard"
    Option          "CoreKeyboard"
    Option          "XkbRules"      "xorg"
    Option          "XkbModel"      "pc104"
    Option          "XkbLayout"     "us"
    EndSection
    
    Section "InputDevice"
    Identifier      "Configured Mouse"
    Driver          "mouse"
    Option          "CorePointer"
    Option          "Device"                "/dev/input/mice"
    Option          "Protocol"              "ImPS/2"
    Option          "Emulate3Buttons"       "true"
    Option          "ZAxisMapping"          "4 5"
    Option          "EmulateWheel"
    Option          "EmulateWheelButton"    "2"
    EndSection
    Section "InputDevice"
    Identifier      "Synaptics Touchpad"
    Driver          "synaptics"
    Option          "SendCoreEvents"        "true"
    Option          "Device"                "/dev/psaux"
    Option          "Protocol"              "auto-dev"
    Option          "HorizScrollDelta"      "0"
    EndSection
    
    Section "Device"
    Identifier      "ATI Technologies, Inc. Radeon Mobility 9600/9700 M10/M11 (RV350 NP)"
    Driver          "ati"
    BusID           "PCI:1:0:0"
    EndSection
    
    Section "Monitor"
    Identifier      "Generic Monitor"
    Option          "DPMS"
    EndSection
    
    Section "Screen"
    Identifier      "Default Screen"
    Device          "ATI Technologies, Inc. Radeon Mobility 9600/9700 M10/M11 (RV350 NP)"
    Monitor         "Generic Monitor"
    DefaultDepth    24
    SubSection "Display"
    Depth           1
    Modes           "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth           4
    Modes           "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth           8
    Modes           "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth           15
    Modes           "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth           16
    Modes           "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth           24
    Modes           "1400x1050"
    EndSubSection
    EndSection
    
    Section "ServerLayout"
    Identifier      "Default Layout"
    Screen          "Default Screen"
    InputDevice     "Generic Keyboard"
    InputDevice     "Configured Mouse"
    InputDevice     "Synaptics Touchpad"
    EndSection
    
    Section "DRI"
    Mode    0666
    EndSection
    

61 thoughts on “Ubuntu Linux on the IBM ThinkPad T42

  1. Hey,

    I’ve got a T42 on order. Your guide is one of the best I’ve seen for the T42. Bravo. A couple questions, though:

    (1) Given that I don’t have the machine yet, when you say “add the appropriate users to the nvram group”, can you specify, or indicate where this information is specified?

    (2) At home I use WPA netowrking with my Apple Airport Extreme – so I’m really looking forward to your notes on this topic. My desktop Macs and PCs both work well with WPA… I’m really hoping that Linux can, too!

    Thanks,
    Jason

  2. i have an IBM tihnkpad t42. i tried using a live CD from the ubuntu distro. all appears to work fine, except for the wireless connectivity. some research online suggests kanotix may have the newest kernel and drivers for the intel pro 2200 b/g hardware. i would like it to work with ubuntu.
    thank you.

  3. This is a great guide. Having installed Ubuntu (Hoary) on my T42 it was nice to find some people that have had the same results. If anyone has the IPW220b/g I suggest following the instructions in 1.0.1 version of the drivers. I haven’t tested the latest version. (Don’t for get the firmware!!!)

  4. Installing BlueCurve on a fresh install of Hoary screws up your menus. It looks great but you will have launchers missing in your “add to panel” areas as well as Redhat items (that launch nothing, such as kickstart) in your menus. I suggest NOT installing bluecurve or at least not in the mannor described here.

  5. I have a t42 laptop connected to an external usb 2.0 hard drive. I could install ubuntu 5.04 on it but it failed to boot because of a kernel panic. Any ideas? BTW, I can boot from the same usb drive with another linux distribution so this is not a problem of hardware.

  6. Hi,

    you may add the following to your xorg.conf:
    Section “InputDevice”
    Identifier “Configured Mouse”
    Driver “mouse”
    Option “CorePointer”
    Option “Device” “/dev/input/mice”
    Option “Protocol” “ImPS/2″
    Option “Emulate3Buttons” “true”
    Option “ZAxisMapping” “4 5″
    Option “EmulateWheel” # to get the trackpoint scrolling working
    Option “EmulateWheelButton” “2″
    EndSection

  7. Thank you for sharing this great howto!

    According to my tests, it looks like glxgears run a bit faster on gnome than on kde. I have t42p with fireGl card, runing at 1600×1200 pixels. On gnome i get aroun 1330 fps, and on kde aroun 1125.

    Offtopic: if someone is trying to install Maya 6.5, it can be easily done with: alien -iv AW…rpm, one thing i want to point out though, is that you might need to install tcsh (you can find it in synaptic), at least i did when i ran it on kubuntu, dont know for ubuntu, i just installed it…

  8. Thanks Oliver, this donation is well earned from a Linux newbie with a new T42! I look forward to any futher updates you choose to make. Everything works flawlessly once I followed your howto.
    Getting Gentoo to work was killing me and my time.

    Erik

  9. Great guide! It’s a real pity that we still have these functionality gaps (the graphics driver is pretty crucial, but I won’t use Ubuntu full time unless APS and battery management are implemented as well). I thought IBM was one of the biggest proponents of a linux-based laptop…shouldn’t they be testing and releasing working linux drivers for their products, like APS and Battery MaxiMiser (and the FireGL)? Maybe someday…….but until then I must continue to remain in my cluttered, unsecure, yet fully functional Windows environment.

  10. IBM remains fully devoted to Linux and the open-source movement, but the brunt of their efforts are towards fortifying its foothold in the server market, and currently towards moving independent software vendors towards Linux development. Linux isn’t quite mature enough in the desktop computing environment for them to worry about offering Linux-powered laptops. Internally, the company is committed towards migrating towards a Linux-based workstation over the next few years. Since a vast majority of their employees use ThinkPads, you can bet they’re developing support for ThinkPad hardware.

  11. I am a little confused on the following point in the existing thread:

    Under Ubuntu on T42s with the Radeon Mobility 9600 have people gotten
    external monitors to work reliably (in at least 1024 x 768 screen res)?

    Thanks

  12. I’m considering a T42 to have Ubuntu installed on it, but require it to be connected to external projectors much of the time for presentations, and they will likely be 1024×768. How well does your T42 do this task? Can you simply plug it in and it “just works” or is there further tinkering to do to get it to send a correct signal to an external projector?

    Thanks

  13. For resume with installed fglrx driver, you have to use vbetool to save and restore the state of the graphic card.
    “apt-get install vbetool ibm-acpi”
    last thing is to uncomment four lines in “/etc/acpi/prepare.sh”
    Look for “#And then try to save some video state”

  14. does anyone know how to enable the multi-bay hotplug functionality? i have a 2nd battery and a cdrw drive, but if hot swap them, the cdrw drive doesn’t seem to be recognized. thanks! dc

  15. You missed out one thing – there are issues with laptopmode whilst using wifi – the system will (after a short while) hard lockup. AFAIK the only solution is either (a) only use wifi whilst on power or (b) remove laptopmode (and lose the functionality)

  16. We have begun to make progress on the biometric scanner for the T42. As of last night, a developer with this hardware and interest has come to the surface and we’re looking forward to getting a working implementation on it. You can read up more in the forums an LinuxBiometrics.com if you are interested.

  17. “IBM remains fully devoted to Linux and the open-source movement…” Hmph. Yeah right. What about Lenovo? I got a T43 in June and it is keeping to the name so far. Absolutely stunning. Gentoo is a pain to get working. Debating between Ubuntu and Suse right now. Any comments on cpufreq?

  18. When I come back from acpi-sleep, my keys on my keyboard don’t respond correctly. Keyboard either doesn’t respond or the keys produce weird characters. Any help would be appreciated.

  19. Pingback: bami.ch

  20. Instead of:
    $ echo fglrx | sudo tee -a /etc/modules
    and
    $ echo nvram | sudo tee -a /etc/modules

    you can simply do:
    $ echo fglrx >> /etc/modules
    and
    $ echo nvram >> /etc/modules

  21. Pingback: Jurassic Geek

  22. Has anyone tried installing Ubuntu in a dual boot environment? That is, keeping the IBM recovery partition intact as well as windows?

    Quick notes on how this is done?

  23. Hi,

    Nice guide. I’ve used it on my T41, not so far from the T42… ;-)
    However, I’ve had a problem when resuming from a suspend-to-disk. An ext3 error occured, and my home partition was remount read-only, not very easy to use… Actually, I think it’s the write-cache of the hard drive that was activated. I have installed and configured hdparm by adding
    /dev/hda {
    mult_sect_io = 16
    write_cache = off
    dma = on
    }
    into the /etc/hdparm.conf. So far, no more ext3 errors. May be it can help some readers…

  24. A very nice guide! Now that you have ubuntu up and running, how do you find its stability? What sort of uptimes do you get? (I know this is not quite accurate on a laptop) – on my old Thinkpad 600E, running an old version of mandrake, I never have to reboot. Is ubuntu as stable?

    Thanks!

  25. Is there a way to retain the ‘paste’ functionality of the middle button but also have the scrolling functionality? I love the scrolling, but can’t live without “highlight to select, middle click to paste”.

  26. When I use a projector the resolution doesn’t fit anymore. Some of the screen is cut off. Did somebody solve this problem and could maybe post his xorg.conf file here. Thanks.

  27. Oliver: Nice guide! I’ve been running Debian Testing on my T42 for 12 months or so, and almost everything works as required.

    mlambie: If you enable the middle-button scrolling functionality, you may still be able to use the paste functionality by enabling 3rd button emulation in your X server config file. ie. you press buttons 1 and 2, and it acts as if you’ve pressed the 3rd button … I’ve not tested this, but it might be worth a look.

    Duck: Hotswapping isn’t quite working as far as I can tell. If you boot the machine with the battery in, the kernel detects BAT0 and BAT1, if you try and hotswap it, I can’t get the kernel to recognise BAT1. Even removing, and re-inserting the kernel module doesn’t fix it. Sometimes, I get a hard lockup when inserting the battery, othertimes it works fine. When you do insert the Optical drive though, you can force the kernel to find it with hdparm. The (most recent, 0.11 NOT 0.8 as features in most distribution kernels) ibm-acpi package includes some ACPI scripts including “rescan.sh” which detects and configures the optical drive. Unfortunately though, DMA cannot be enabled unless you boot the kernel with the optical drive in the UltraSlim Bay – which makes DVD playback nasty, and slows considerably reading and writing data.

    Kirk: Yes, I used Partition Magic in Windows XP to re-size my XP partition, and created some blank space between the XP partition and the recovery partition. Then booted into the Debian install and used fdisk to setup partitions in the blank space as normal. I’ve not had cause to use the Access IBM Recovery partition, but it all seems to be there and in order. There are guides around on how to do this, I think I found the information (12 months ago …) on ThinkWiki.

    re: IR
    I have had some issues where coming out of S3 (sleep, suspend-to-ram) IR refuses to load. However, suspending to disk and restating the machine restores IR functions. Odd.

    re: Touchpad I have had some issues where the touchpad doesn’t work when coming out of S4 (hibernate, suspend-to-disk) but is fine the next time I hibernate and re-awaken the laptop. I also have some nasty screen corruption when coming out of hibernation, but it sorts itself out once it has finished resuming.

    re: power management
    I don’t get quite as long with my batteries on Linux as under Windows XP. A couple of possible reasons:
    - CPU Frequency seems to drop as low as 223 MHz in WinXP but only to 600MHz under Linux.
    - GPU Frequency scaling seems buggy under Linux (enable Dynamic Clocks in ATI device config)
    - Support for ACPI brightness events is very limited (experimental in acpi-ibm 0.11) and therefore can’t be setup in scripts to fade brightness with battery level.
    - Battery drain while in S3 is abominable. Aparently there is an experimental kernel patch that may solve the problem, but while I finish my dissertation I’m not messing with experimental kernel patches :)
    - There’s no support for power saving modes in the IPW2200 wireless driver as far as I can tell.
    - I’ve had some issues with IRDA and PCMCIA and getting them to shutdown / consume less power.
    - CPUFreqd seems to lock into full-speed mode when coming out of sleep mode and needs to be restarted.
    - ACPId seems to lose contact with the kernel sometimes and needs to be restarted.

    I haven’t tested the modem, nor the s-video, nor external display … but I hear they can all be convinced to work …

    Cheers
    Dave

    Drop me an email if there’s any more info

  28. Has anybody managed to use two different screen resolutions on the lcd and on the external vga port? i.e 1400×1050 on the internal lcd screen and 1024×768 on the external vga port, connected to a beamer?

  29. I can’t get IrDA working. All the devices are shown in my lsmod:
    irtty_sir 8512 0
    sir_dev 18444 1 irtty_sir
    irda 187612 2 irtty_sir,sir_dev
    crc_ccitt 1984 1 irda
    but irdadump doesn’t show anything. Any help?

  30. Some IBM T42′s do not come with ATI Radeon Mobility 9600, rather they show up/have the following (seen by typing “lspci” at from a command prompt):

    ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]

    From all I can tell this video controller is NOT supported by the ATI fglrx X server. Users of the 7500 controller are stuck with the the ati server.

    There are some nice suggestions for improvements however at this link at http://ubuntuforums.org:

    http://ubuntuforums.org/showthread.php?t=26148

    Hopefully this will be helpful to some.

  31. My new Breezy install on my brand new T42p worked fine except that when I went to suspend (alt-F4), not only would it not come out of suspend, I could not reboot my machine! I powered down, took out the battery and still the thing would not restart. I heard the fan, but never saw the IBM splash or could get to the BIOS. The only solution was to pull out the CMOS battery under the keyboard to do a hard reset! Has anyone else seen this happen? I’m really surprised because most reports say this works out of the box. I’m afraid to try suspend again…

  32. One very minor detail: I would suggest to use “sudo addgroup –system nvram” instead of “sudo addgroup nvram” to give the nvram group a gid that is not in the range of ordinary user groups.

  33. Pingback: reaver.ws » Ubuntu + IBM T42

  34. Hallo,

    I have installed the Ubuntu on a IBM-T42.
    I can’t be able to connect with my wireless router, because the Ubuntu Tell me that the Wireless Adapter is Turned Off, while the adapter is ON (The Led is On on the Keyboard).

    Someone Can Help Me?

  35. I tried installing the fglrx driver like you said — on my new T43. It didn’t work and now I can only boot to a terminal. “Failed to start X server.” “Fatal server error: no screens found.”

    I typed:
    sudo apt-get install xorg-driver-fglrx

    Then:

    echo fglrx | sudo tee -a /etc/modules

    Then:

    sudo sed -i -e ‘s/”ati”/”fglrx”/’ /etc/X11/xorg.conf

    Then rebooted and the desktop wouldn’t start.

    How can I reverse it? Can’t you make sed automatically create a backup file? It might be a good idea to list the command that way on your site so that less-experienced people (like me) will have a backup :S

    I’m slowly going through it with the man pages… remove the fglrx from the end of /etc/modules and I’m not sure exactly what to do with xorg.conf yet. Any tips?

    Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s