====== Lenovo Thinkpad X60s ====== **This place serves as documentation for my Lenovo Thinkpad X60s Setup under Linux.** I have a X60s 1704-69U (aka 170469U). I'm using Gentoo (currently 2006.0) Until organized, it'll just be a wild collection of bits and pieces. Suspend-to-disk implementations explained and compared: http://suspend2.net/features.html#compare \\ Knock-based commands for your Linux laptop: http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw01Knock-Knock\\ Primary Resource for Linux on Thinkpads: http://www.thinkwiki.org\\ Setting up power management stuff under Gentoo: http://www.gentoo.org/doc/en/power-management-guide.xml \\ HOWTO Software Suspend v2 on Gentoo: http://gentoo-wiki.com/HOWTO_Software_Suspend_v2 \\ The madwifi driver for the built-in Atheros-based WLAN card does not seem to support powermanagement yet: http://madwifi.org/ticket/447\\ Suspend/Resume Problems with SATA/AHCI: http://www.thinkwiki.org/wiki/Problems_with_SATA_and_Linux \\ ==== Kernel Configs ==== * 2.6.19.1 with atheros/madwifi: {{:config-2.6.19.1-madwifi.txt|:config-2.6.19.1-madwifi.txt}} * 2.6.19.1 with intel3945abg: {{:config-2.6.19.1-3945.txt|:config-2.6.19.1-3945.txt}} * yes, I recently exchanged my atheros wifi card with a intel 3945abg ==== CPU ==== * Processor L2400 @ 1.66GHz * SMP * CPU frequency scaling (1000MHz, 1333MHz, 1666MHz) ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== Ethernet ==== * eth0 (Intel e1000) ^Packages: | | ^Kernel Modules: | e1000 | ^Programs: | ifconfig route | I seem to have a problem with latency with the e1000. SSH connections even to machines directly on the same switch have a very noticeable lag from typing to displaying. * WLAN/Wifi: Atheros Card, running with drivers from www.madwifi.org ''lspci'' says: 02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller 03:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01) ^Packages: | madwifi-ng madwifi-ng-tool| ^Kernel Modules: | ath_pci ath_hal ath_sample_rate wep wep_scan_sta wlan_wep| ^Programs: | iwconfig ifconfig wlanconfig iwlist route | ==== IDE/ATA/SATA Harddrive / Optical Drive ==== TODO\\ ''lspci'' says: 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02) === Harddisk === The Harddisk is connected to the SATA bus. My harddisk showed a frequent "clicking". One of the ways (probably not the best) to get rid of this is to disable Power Management on the drive: # hdparm -B 255 /dev/sda /dev/sda: setting Advanced Power Management level to disabled === CD / DVD Drive === The CD-R/RW / DVD-R/+R/-RW/+RW/-RAM optical drive (aka. Multi-Burner) in the X6 Ultrabase Docking Station is connected to the regular IDE controller, and appears as /dev/hda The Harddisk is connected to the SATA bus. ^Packages: | | ^Kernel Modules: | ahci (compiled into kernel)| ^Programs: | | ==== Framebuffer Stuff ==== TODO\\ I'd like to be able to watch videos and view images without X under the console, so I want to use mplayer and an image viewer with fbdev. ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== X11 ==== The X60s has a Intel 855GM Graphics controller. ''lspci'' says: 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) I've built Xorg with i810, vesa, fbdev and vga drivers enabled. I use i810 as xorg driver. * I had to use xorg from ~x86, these are the packages: * xorg-x11-7.1 * xorg-server-1.1.1 * xf86-video-i810-1.6.1 DRI now works (but maybe not 100%). I had to disable drm in the kernel completetly. Then I rebuilt x11-drm (version 20060608). There were still problems because the drm.ko module wasn't copied to /lib/modules/`uname -r`/x11-drm along with the others (eg. i810.ko, i915.ko). To quickly fix it, I re-emerged x11-drm, froze the build process with Ctrl-s after drm.ko was done building, and copied that module to its proper place, then I let the build process resume with Ctrl-q. * for DRI to work, **both** agpgart and intel-agp have to be loaded. ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== Soundcard ==== TODO\\ ''lspci'' says: 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) ^Packages: | alsa-headers alsa-utils alsa-lib | ^Kernel Modules: | snd-hda-intel | ^Programs: | alsamixer alsactl ... | ==== SMBus ==== TODO\\ ''lspci'' says: 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) aka. System Management Bus, a I2C derived bus. Often used to connect temperature sensors to. ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== LPC Bus ==== TODO\\ ''lspci'' says: 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) according to http://en.wikipedia.org/wiki/Low_Pin_Count the LPC Bus is a Low Pin Count Bus that "legacy" devices like parallel/serial port, keyboard, mouse, ... ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== Parallel Port ==== TODO\\ The parallel port is part of the X6 Ultrabase docking station. ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== Serial Port ==== TODO\\ The serial port is part of the X6 Ultrabase docking station. ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== PC-Card Slot ==== TODO\\ ''lspci'' says: 15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b4) ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== Firewire ==== TODO\\ ''lspci'' says: 15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 09) ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== USB ==== TODO\\ fingerprint reader, bluetooth, wwan modem are USB-based, so they are only visible if usb-uhci is loaded. ''lsusb'' shows devices on the USB bus: Bus 005 Device 001: ID 0000:0000 Bus 004 Device 004: ID 0a5c:2110 Broadcom Corp. Bus 004 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 002: ID 1199:0218 Sierra Wireless, Inc. Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== Bluetooth ==== TODO\\ connected to USB. http://www.gentoo.org/doc/en/bluetooth-guide.xml\\ emerge bluez-libs bluez-utils echo enable > /proc/acpi/ibm/bluetooth /etc/init.d/bluetooth start ^Packages: | bluez-utils| ^Kernel Modules: | //usb stuff//, bluetooth, hci_usb, l2cap, rfcomm| ^Programs: | hciconfig,hcitool,rfcomm,l2ping| **Important:** It seems that the wireless switch (front center bottom) has to be active for bluetooth to work, while WLAN doesn't care about it at all. Links:\\ http://thinkwiki.org/wiki/How_to_setup_Bluetooth ==== WWAN / WAN / EV-DO Wireless Modem ==== TODO\\ connected to USB. ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== Fingerprint Reader ==== TODO\\ connected to USB. ^Packages: | | ^Kernel Modules: | | ^Programs: | | ==== Inrared / IrDA ==== TODO\\ ^Packages: | irda-utils | ^Kernel Modules: | nsc-ircc | ^Programs: | | Links:\\ http://irda.sourceforge.net ==== SD Card Reader ==== **WORKS**\\ The SD card reader is connected to the pci bus (check with ''lspci''): 15:00.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 18) ^Packages: | | ^Kernel Modules: | sdhci mmc_core mmc_block | ^Programs: | | Starting with recent kernels of the 2.6.17 series, sdhci is included in the official kernel. Older kernels need to be patched. If the above modules are loaded, this should suffice to mount the card: mount /dev/mmcblk0p1 /mnt/mmc I tried it with a cheapo 128MB MMC card. Links:\\ http://www.thinkwiki.org/wiki/How_to_get_the_internal_SD-CARD_working\\ ==== HDAPS ==== Hard Disk Active Protection System\\ http://thinkwiki.org/wiki/How_to_protect_the_harddisk_through_APS\\ http://thinkwiki.org/wiki/Tp_smapi\\ ^Packages: | hdapsd, tp_smapi| ^Kernel Modules: | thinkpad_ec, hdaps, tp_smapi (all three from tp_smapi)| ^Programs: | hdapsd| %%emerge --config =hdapsd-20060409%% says: * We don't have a patch for kernel 2.6.18 yet Apparently, one of the above three modules probits the resume from suspend-to-ram. ==== Power Management ==== === Suspend-to-RAM === * until I set CONFIG_HOTPLUG_CPU, it didn't even succeed to suspend. After this was set, suspending worked, but resuming needed some more work (see the following) * you need to give the kernel the following parameter: acpi_sleep=s3_bios,s3_mode * needs at least 2.6.18-rc1 together with some patches: * http://www.andrew.cmu.edu/user/gnychis/ahci-patch1 * http://www.andrew.cmu.edu/user/gnychis/ahci-patch2 * http://www.andrew.cmu.edu/user/gnychis/ahci-patch3 * http://www.andrew.cmu.edu/user/gnychis/ahci-patch4 * http://www.andrew.cmu.edu/user/gnychis/ahci-patch5 * http://www.andrew.cmu.edu/user/gnychis/ahci-patch6 * (this information is based on what I found here: http://farmerzonen.dk/x60s#comment-497 ) * I tried 2.6.17 (gentoo-sources-2.6.17-r4) but after the resume the SATA controller didn't work right (problems with ahci). From a few things I read, it might be possible to get it to work with 2.6.17, but only if the SATA controller is put in something like "compatibility mode" (as opposed to AHCI mode) in the BIOS. I haven't checked this. ^Packages: | | ^Kernel Modules: | | ^Programs: | | === Suspend to Disk === TODO\\ (I'm still reading up on it, not doing much yet) ^Packages: | | ^Kernel Modules: | | ^Programs: | |