No al Trusting Computing
linux on thinkpad linux on thinkpad

Index

Equipment
Hardware
Software

Configuration
/sbin/fdisk
/etc/fstab
/etc/lilo.conf
/etc/X11/xorg.conf
Udev rules
Video
CD/DVD Burning
Ethernet 1000 Mbit
Wireless
Sound
Mouse on console
HotKeys

Kernel configuration
Settings for S-ATA Controller
libata.h hack to view DVDs (linux < 2.6.14)

Hardware details
/sbin/lspci
/proc/cpuinfo

Other resources
Links
Scripts
Misc
Credits
Last update
Copying

GNU Free Documentation License


Equipment

Hardware:

  • Thinkpad R52, UN34CIT
  • Intel Pentium M 750 @ 1860 MHz
  • 60GB ATA-100 HDD
  • ATI Mobility RADEON x300
  • Broadcom Gigabit Ethernet
  • Intel Wireless 2915ABG MiniPCI Adapter
  • AC'97 Audio Controller
  • Software:

  • Slackware -current (Thu Jun 15 00:39:04 CDT 2006)
  • linux 2.6.17
  • ipw2200-fw-3.0


  • Configuration

    /sbin/fdisk -l :

    Disk /dev/sda: 60.0 GB, 60011642880 bytes
    255 heads, 63 sectors/track, 7296 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1               1         996     8000338+  83  Linux
    /dev/sda2             997        6411    43495987+   5  Extended
    /dev/sda3   *        6412        7296     7108762+  a5  FreeBSD
    /dev/sda5             997        6349    42997941   83  Linux
    /dev/sda6            6350        6411      497983+  82  Linux swap
    

    /etc/fstab :

    ## partizioni:
    /dev/sda6    none        swap           sw                      0   0
    /dev/sda1    /           ext3           defaults                0   1
    /dev/sda5    /home       ext3           defaults                0   2
    /dev/sda3    /bsd        ufs            noauto,ufstype=ufs2,ro  0   0
    
    ## dispositivi rimovibili:
    /dev/cdrom   /cdrom      iso9660,udf    noauto,user,exec,ro     0   0
    /dev/storage /storage    vfat           noauto,user,exec        0   0
    
    ## file system virtuali:
    devpts       /dev/pts    devpts         gid=5,mode=620          0   0
    

    /etc/lilo.conf :

    # lilo settings:
    lba32
    boot = /dev/sda
    prompt
    timeout = 20
    
    # boot settings:
    vga = 791
    root = /dev/sda1
    read-only
    
    # kernels:
    image = /boot/vmlinuz
    label = linux
    append = "libata.atapi_enabled=1"
    
    other = /dev/sda3
    table = /dev/sda
    loader = /boot/chain.b
    label = freebsd
    
    image = /boot/vmlinuz.old
    label = rescue
    append = "libata.atapi_enabled=1"
    

    /etc/X11/xorg.conf :

    Section "dri"
    
      Mode 0666 ## useless, doesn't work with x300 chip :(
    
    EndSection
    
    #Section "Extensions"
    
    #Option "Composite" "Enable"
    #Option "RENDER" "Enable"
    
    #EndSection
    
    Section "Module"
    
    # This loads the DBE extension module.
    
        Load        "dbe"  	# Double buffer extension
    
    # This loads the miscellaneous extensions module, and disables
    # initialisation of the XFree86-DGA extension within that module.
        SubSection  "extmod"
          Option    "omit xfree86-dga"   # don't initialise the DGA extension
        EndSubSection
    
    # This loads the font modules
        Load        "type1"
        Load        "freetype"
        #Load        "speedo"
    
    # This loads the GLX module
        Load       "glx"
        Load       "dri"
    
    EndSection
    
    Section "Files"
    
        RgbPath	"/usr/X11R6/lib/X11/rgb"
    
        FontPath   "/usr/X11R6/lib/X11/fonts/local/"
        FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
        FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
        FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
        FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
    #    FontPath   "/usr/X11R6/lib/X11/fonts/CID/"
        FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
        FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
        FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
        FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/"
    
    # ModulePath can be used to set a search path for the X server modules.
    # The default path is shown here.
    
    #    ModulePath "/usr/X11R6/lib/modules"
    
    EndSection
    
    Section "ServerFlags"
    
    
    #    Option     "NoTrapSignals"
    
    #    Option     "DontVTSwitch"
    
    #    Option     "DontZap"
    
    #    Option     "DontZoom"
    
    #    Option     "DisableVidModeExtension"
    
    #    Option     "AllowNonLocalXvidtune"
    
    #    Option     "DisableModInDev"
    
    #    Option     "AllowNonLocalModInDev"
    
    #    Option      "blank time"    "10"    # 10 minutes
    
    #    Option      "standby time"  "20"
    #    Option      "suspend time"  "30"
    #    Option      "off time"      "60"
    
    # Option   "EstimateSizesAggresively" "0"
    
    EndSection
    
    Section "InputDevice"
    
        Identifier	"Keyboard0"
        Driver	"kbd"
    
        Option     "AutoRepeat"    "500 30"
    
        Option     "XkbModel"      "pc105"
        Option     "XkbLayout"     "us"
        Option     "XkbVariant"    "intl"
    
    EndSection
    
    Section "InputDevice"
    
    
        Identifier	"Mouse0"
        Driver "mouse"
        Option "Protocol"   "ImPS/2"
        Option "Device"     "/dev/input/mice"
    
        Option "ZAxisMapping"	"4 5"
        Option "Emulate3Buttons"	"no"
    
    EndSection
    
    Section "InputDevice"
    
    	Identifier "wheel-hack"
    	Driver "mouse"
    	Option "Protocol" "PS/2"
    	
    	Option "EmulateWheel" "yes"
    	Option "EmulateWheelButton" "2"
    	
    	Option "Device" "/dev/input/mice"
    
    	Option "Emulate3Buttons" "no"
    
    EndSection
    
    Section "Monitor"
    
        Identifier  "Monitor0"
        Option      "DPMS"
    
    EndSection
    
    Section "Device"
        Identifier  "Radeon x300"
        Driver      "radeon"
        #VideoRam    4096
    
        Option 	"AGPMode" 	"4"
        Option   	"AGPFastWrite"	"on"
    
    EndSection
    
    Section "Screen"
        Identifier  "Screen0"
        Device      "Radeon x300"
        Monitor     "Monitor0"
        DefaultDepth 24
        #Option "backingstore"
    
        Subsection "Display"
            Depth       24
            Modes       "1400x1050" "1280x1024" "1280x960" "1152x864"
            ViewPort    0 0  # initial origin if mode is smaller than desktop
    #        Virtual     1280 1024
        EndSubsection
    EndSection
    
    
    Section "ServerLayout"
    
        Identifier  "Simple Layout"
        Screen "Screen 0"
    
        InputDevice "Mouse0" "CorePointer"
        InputDevice "wheel-hack" "SendCoreEvents"
        InputDevice "Keyboard0" "CoreKeyboard"
    
    EndSection
    

    Unfortunately for direct rendering, you need fglrx proprietary driver installed.
    ATI driver is little buggy and not free (as in speech), so i prefer GPLed one. Btw you can download fglrx driver from
    ati.com

    Udev rules :

    I have just added this `my.rules' in /etc/udev/rules.d/ :

    KERNEL="sd[b-z]1" SYMLINK="storage"
    KERNEL="sr0" SYMLINK="cdrom dvd cdrecorder"
    KERNEL="nvram" MODE="0666"

    And commented in /etc/udev/scripts/make_extra_nodes.sh CDs and Floppies nodes.

    Video :

    *ONLY* If you use ATI Proprietary driver you must append follow string to /etc/fstab :

    tmpfs            /dev/shm         tmpfs       defaults                 0   0
    

    It's necessary to use direct rendering.
    However if you have not particulars demand you can use kernel's radeon native driver.

    CD/DVD Burning :

    cdrecord and growisofs work fine. My cdrecord config ( /etc/cdrecord ) is:

    CDR_DEVICE=/dev/cdrom

    Ethernet 1000 Mbit :

    Ethernet controller Broadcom Tigon3 works perfectly with :

    # /sbin/modprobe tg3

    You can add it to /etc/rc.d/rc.modules (if you use Slackware Linux) or equivalent for your distro.

    Wireless :

    Here my kernel config:

    #
    # Network testing
    #
    # CONFIG_NET_PKTGEN is not set
    # CONFIG_HAMRADIO is not set
    # CONFIG_IRDA is not set
    # CONFIG_BT is not set
    CONFIG_IEEE80211=y
    # CONFIG_IEEE80211_DEBUG is not set
    CONFIG_IEEE80211_CRYPT_WEP=m
    # CONFIG_IEEE80211_CRYPT_CCMP is not set
    # CONFIG_IEEE80211_CRYPT_TKIP is not set
    CONFIG_WIRELESS_EXT=y
    
    [...]
    
    #
    # Wireless LAN (non-hamradio)
    #
    CONFIG_NET_RADIO=y
    # CONFIG_NET_WIRELESS_RTNETLINK is not set
    
    [...]
    
    #
    # Wireless 802.11b ISA/PCI cards support
    #
    # CONFIG_IPW2100 is not set
    CONFIG_IPW2200=m
    CONFIG_IPW2200_MONITOR=y
    # CONFIG_IPW2200_DEBUG is not set
    # CONFIG_AIRO is not set
    # CONFIG_HERMES is not set
    # CONFIG_ATMEL is not set
    

    Besides you must download, install and load correctly
    ipw2200 firmware:

    # tar xvzf ipw2200-fw-3.0.tgz
    # cp ipw2200-fw-3.0/* /lib/firmware
    

    If you have problem to load firmware take a look at this trick:

    # sysctl -w kernel.hotplug=/sbin/udevsend
    

    With udev >= 064 and this option I have no trouble.

    Sound :

    Works fine, here my config:

    #
    # Sound
    #
    CONFIG_SOUND=y
    
    #
    # Advanced Linux Sound Architecture
    #
    CONFIG_SND=y
    CONFIG_SND_TIMER=y
    CONFIG_SND_PCM=y
    # CONFIG_SND_SEQUENCER is not set
    CONFIG_SND_OSSEMUL=y
    CONFIG_SND_MIXER_OSS=y
    CONFIG_SND_PCM_OSS=y
    # CONFIG_SND_VERBOSE_PRINTK is not set
    # CONFIG_SND_DEBUG is not set
    
    #
    # PCI devices
    #
    CONFIG_SND_AC97_CODEC=y
    ...
    CONFIG_SND_INTEL8X0=y
    #
    # Open Sound System
    #
    # CONFIG_SOUND_PRIME is not set
    

    Mouse on console :

    It's possible thanks to gpm daemon:

    # /usr/sbin/gpm -m /dev/input/mice -t ps2

    gpm runs smoothly with TrackPoint, TouchPad and USB Mouse.

    HotKeys :

    Thanks to tpb project we can use our Thinkpad's hotkeys. (However I can't use poweroff.)
    For my configs see in the "Other resources"


    Kernel configuration

    Settings for S-ATA Controller :

    #
    # ATA/ATAPI/MFM/RLL support
    #
    # CONFIG_IDE is not set
    
    #
    # SCSI device support
    #
    CONFIG_SCSI=y
    CONFIG_SCSI_PROC_FS=y
    
    #
    # SCSI support type (disk, tape, CD-ROM)
    #
    CONFIG_BLK_DEV_SD=y mmx fxsr sse sse2 ss tm pbe nx est tm2
    # CONFIG_CHR_DEV_ST is not set
    # CONFIG_CHR_DEV_OSST is not set
    CONFIG_BLK_DEV_SR=y
    # CONFIG_BLK_DEV_SR_VENDOR is not set
    # CONFIG_CHR_DEV_SG is not set
    # CONFIG_CHR_DEV_SCH is not set
    
    # SCSI low-level drivers
    #
    ...
    CONFIG_SCSI_SATA=y
    ...
    CONFIG_SCSI_ATA_PIIX=y
    ...
    CONFIG_SCSI_QLA2XXX=y
    ...
    

    libata.h hack to view DVDs (linux < 2.6.14):

    Without this little hack in the kernel's source you can't play correctly your DVDs-movie.
    You must change (from /usr/src/linux/include/linux/libata.h) :

    #undef ATA_ENABLE_ATAPI /* define to enable ATAPI support */
    #undef ATA_ENABLE_PATA /* define to enable PATA support in some
    * low-level drivers */
    

    to :

    #define ATA_ENABLE_ATAPI /* define to enable ATAPI support */
    #define ATA_ENABLE_PATA /* define to enable PATA support in some
    * low-level drivers */ 

    For linux >= 2.6.14 this hack _is deprecated_! Is enough append to boot cmdline: "libata.atapi_enabled=1"; See
    my lilo.conf.



    Hardware details

    /sbin/lspci :

    00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
    00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03)
    00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
    00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (rev 03)
    00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
    00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
    00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
    00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
    00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
    00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
    00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03)
    00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
    00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)
    00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
    01:00.0 VGA compatible controller: ATI Technologies Inc M22 [Radeon Mobility M300]
    02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express (rev 11)
    04:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
    04:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08)
    04:02.0 Network controller: Intel Corporation PRO/Wireless 2915ABG MiniPCI Adapter (rev 05)
    

    /proc/cpuinfo :

    processor       : 0
    vendor_id       : GenuineIntel
    cpu family      : 6
    model           : 13
    model name      : Intel(R) Pentium(R) M processor 1.86GHz
    stepping        : 8
    cpu MHz         : 1862.420
    cache size      : 2048 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 pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi
     mmx fxsr sse sse2 ss tm pbe nx est tm2
    bogomips        : 2311.44
    


    Other resources

    Links :

  • kernel.org
  • slackware.com
  • slacky.it
  • freshmeat.net
  • ipw2200 drivers
  • Scripts :

  • batt
  • cpuscaling
  • Misc :

  • My full kernel's config
  • tpbrc
  • sergio (my keyboard's layout for X11)
  • Credits :

  • Sergio Perticone - Howto and html/css coding
  • Valerio Perticone - Photo editing with The Gimp
  • Last update :

    Thu Jun 22 05:27:30 CEST 2006

    Copying :

    Copyright (c) 2005, 2006 Sergio Perticone. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 published by the Free Software Foundation.

    top
    Linux On Laptops Valid CSS!