Installationreport of Ubuntu 6.06.1 (Dapper Drake) on the IBM Thinkpad T30
Last Update: 2006-08-23

It finally happend: My good old ASUS L3D died. It started freezing, crashing, resetting. Unrelated to any OS, it even did this whilst in the BIOS. So i decided to get me a new toy. As i've always desired Thinkpads i considered this the right time to get one, prefered a used one.

After some searches i ended up at 'http://www.lapstore.de'

A few 'highlights' convinced me that this tool was right for me:

Other things like internal modem or TV-out are things i don't need and that i've never tested.

First some details about the hardware (from 'lspci'):
 0000:00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
 0000:00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)
 0000:00:1d.0 USB Controller: Intel Corporation 82801CA/CAM USB (Hub #1) (rev 02)
 0000:00:1d.1 USB Controller: Intel Corporation 82801CA/CAM USB (Hub #2) (rev 02)
 0000:00:1d.2 USB Controller: Intel Corporation 82801CA/CAM USB (Hub #3) (rev 02)
 0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 42)
 0000:00:1f.0 ISA bridge: Intel Corporation 82801CAM ISA Bridge (LPC) (rev 02)
 0000:00:1f.1 IDE interface: Intel Corporation 82801CAM IDE U100 (rev 02)
 0000:00:1f.3 SMBus: Intel Corporation 82801CA/CAM SMBus Controller (rev 02)
 0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801CA/CAM AC'97 Audio Controller (rev 02)
 0000:00:1f.6 Modem: Intel Corporation 82801CA/CAM AC'97 Modem Controller (rev 02)
 0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]
 0000:02:00.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
 0000:02:00.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
 0000:02:02.0 Network controller: Intersil Corporation Prism 2.5 Wavelan chipset (rev 01)
 0000:02:08.0 Ethernet controller: Intel Corporation 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (rev 42)

The installation went smooth and easy.
Audio, DVD/CD-ROM, graphic, (wired) networking, suspend, everything worked right from the start, no fun for me, simply boring ;-|

"But, hey, this is linux, there must be something to make you scratch your head!"

Yes, there are 3 (in words: THREE) things that took me awhile to figure out:
  1. Hotswapping the DVD/CD-R and the floppy

    To remove a drive from its bay you have to use a little lever beside the bay. Acting the lever generates acpi events.

    Pulling the lever out:ibm/bay MSTR 00000003 00000000
    Pushing the lever in: ibm/bay MSTR 00000001 00000000

    Depending on that, i've created two scripts in '/etc/acpi/events':

    /etc/acpi/events/ibm-bay-open
      event=ibm/bay MSTR 00000003 00000000  
      action=/etc/acpi/thinkpad-bay.sh open 
    

    /etc/acpi/events/ibm-bay-close
      event=ibm/bay MSTR 00000001 00000000 
      action=/etc/acpi/thinkpad-bay.sh close 
    

    The third script, beeing called from the events, looks like this:

    /etc/acpi/thinkpad-bay.sh
      #!/bin/sh
      # 'hotswap' and 'beep' are part of the distribution, install them
      
      case $1 in
        open)
          hotswap unregister-ide && \
          beep -f 5000 -n -f 3000
          ;;
        close)
          hotswap rescan-ide && \
          beep -f 3000 -n -f 5000
          ;;
      esac
    

    That's it for hotswapping.

    In addition, as the DVD-drive is mentioned in 'etc/grub/menu.lst', it is necessary to create an additional entry to allow booting with the floppy instead of the IDE drive.

    '/boot/grub/menu.lst'
    [...]
    title           with CD-ROM, kernel 2.6.15-26-386
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.15-26-386 root=/dev/hda1 ro vga=0x342 nosplash hdc=cdrom 
    initrd          /boot/initrd.img-2.6.15-26-386
    savedefault
    boot
    
    title           with Floppy, kernel 2.6.15-26-386
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.15-26-386 root=/dev/hda1 ro vga=0x342 nosplash
    initrd          /boot/initrd.img-2.6.15-26-386
    savedefault
    boot
    [...]
    



  2. get the internal wireless card to work

    This is ugly. Right after installation the WiFi NIC worked (using 'orinoco_pci') in addition to the wirded one.
    As usual, i use a little script to switch between networking profiles. Suddenly the wireless NIC refuses to connect to my accesspoint. Mhhhhh..

    "Okay, might have to do with some tweaking i've done in the meantime. Let's try a reboot, can't hurt!"

    As we say in german: "PUSTEKUCHEN, nada, niente, nix, zilch"

    The card was not dead (kismet still worked), but i got no link to the AP. Most of the time at least. Sometimes it worked. With WEP or without. Sometimes everything was ok, but more often not. After some try/error including disabling WEP and all security stuff AND using another AP, i lost my temper and gave up.
    Summary:
    - the card is labeled as 'Intel', BUT
    - the Model-No identifies the manufacturer as 'Xircom'
    - the chipset is 'Prism 2.5'
    - it should work with 'orinoco_pci'
    - most of the time it couldn't get a connection whilst 'kismet' works all the time

    As wireless is not that important for me i removed the card from the internal miniPCI slot and used another one, PCMCIA this time, which i could simply plug-in if needed. No problems, worked as expected.

    The next day my ambition kicked in and i started another try. Mounted the miniPCI card, switched the notebook on, aaaaaaand......

    BEEEEEEEP
      ERROR
      1802 Unauthorized network card is plugged in.
            Power off and remove the miniPCI network card.
          
      ERROR Resource conflict - PCI Network Controler in slot 01  
            BUS:02, Device:02, Function:00
    
    %&$§!# WTF?

    After removing the card, cursing IBM, Intel, Xircom and whoever came to my mind beeing responsible for that i searched in the archives et voila, this is a known issue. Read yourself.

    After using the mentioned 'NO-1802.COM' method i could not only boot, no, now the card is working perfectly ;-)

    Whoever is responsible for crap like that, might he/she/it be cursed by everlasting diarrhoea. Stupid idiots.



  3. 3D Hardware acceleration

    If i'm not wrong, the 'Radeon 7500' should support this. As i'm no gamer (and never was nor will be) i have no clue how to enable this or what the mystics behind it mean.
    Not that i need it, but only as a matter of principle. If someone has sucessfully enabled this, please let me know.

    2006-10-17 Update

    Got it working.

    I have no use for it, but here is the proof:
      > glxinfo | grep render
      direct rendering: Yes
      OpenGL renderer string: Mesa DRI Radeon 20050528 AGP 4x TCL  
          

    I solved the problem by following the tips from dri.freedesktop.org
    I had some pakets related to 'fglrx' installed. I can't remember if i installed them during my first tries to get 3d to work or if they are part of the standard installation. Anyway, due to those pakets i had several 'libGL.so' versions on my system. After some cleanup direct rendering works like a charm.

    Here is my current 'xorg.conf':
      Section "Files"
        FontPath  "/usr/share/X11/fonts/misc"
        FontPath  "/usr/share/X11/fonts/100dpi/:unscaled"
        FontPath  "/usr/share/X11/fonts/75dpi/:unscaled"
        FontPath  "/usr/share/X11/fonts/Type1"
        FontPath  "/usr/share/X11/fonts/100dpi"
        FontPath  "/usr/share/X11/fonts/75dpi"
        
        # path to defoma fonts
        FontPath  "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
      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  "kbd"
        Option  "CoreKeyboard"
        Option  "XkbRules"    "xorg"
        Option  "XkbModel"    "pc105"
        Option  "XkbLayout"   "de"
        Option  "XkbVariant"  "nodeadkeys"
      EndSection
      
      Section "InputDevice"
        Identifier  "Configured Mouse"
        
        Driver  "mouse"
        Option  "CorePointer"
        Option  "Device"        "/dev/input/mice"
        Option  "Protocol"      "ExplorerPS/2"
        Option  "ZAxisMapping"  "4 5"
      EndSection
      
      Section "InputDevice"
        Identifier  "Synaptics Touchpad"
        
        Driver  "synaptics"
        Option  "SendCoreEvents"    "true"
        Option  "Device"            "/dev/psaux"
        Option  "Protocol"          "auto-dev"
        Option  "HorizScrollDelta"  "0"
        Option  "AccelFactor"       "0.1000"
        Option  "PalmDetect"        "1"
        Option  "PalmMinWidth"      "10"
        Option  "PalmMinZ"          "200"
      EndSection
      
      Section "Device"
        Identifier	"ATI Technologies, Inc. Radeon Mobility M7 LW [Radeon Mobility 7500]"
        
        Driver	"radeon"
        BusID		"PCI:1:0:0"
        Option  "NoAccel"         "false"
        Option  "AGPMode"         "4"
        Option  "AGPFastWrite"    "true"
        Option  "EnablePageFlip"
        Option  "DDCMode"         "true"
        Option  "MergedFB"        "false"
        Option  "BusType"         "AGP"
        Option  "MonitorLayout"   "LVDS, NONE"
      EndSection
      
      Section "Monitor"
        Identifier  "Generic Monitor"
        
        Option      "DPMS"
        HorizSync   30-67
        VertRefresh 50-75
      EndSection
      
      Section "Screen"
        Identifier    "Default Screen"
        
        Device        "ATI Technologies, Inc. Radeon Mobility M7 LW [Radeon Mobility 7500]"
        Monitor       "Generic Monitor"
        DefaultDepth  16
      
        # Depth 16 for dri, no direct rendering above that
        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
          



Anything else?
no

That's it? Nothing more?
Not now, maybe later......



PS.: www.thinkwiki.org/wiki/Category:T30


Have fun

Uli