Lenovo ThinkPad T61
Contents
System Specifications
Lenovo Thinkpad T61 - Intel Centrino Pro
- Intel(R) Core(TM)2 Duo CPU T7300 (2.00GHz, 4MB, 800MHz)
- Mobile Intel 965GM Express Chipset
- 2GB PC2-5300/677MHz
- 80-GB 5400 rpm SATA Harddrive
- 14.1-inch color TFT WXGA+ (1440 x 900, 200 nit)
- Intel® Graphics Media Accelerator GM965 (128MB)
- 82801H ICH8 Family HD Audio Controller
- DVD-ROM, CD-RW/DVD Combo, Multi-Burner Plus
- Modem; Gigabit Ethernet
- Intel® Wireless Wi-Fi Link 4965AG
- 1 Type II PC Card slot
- 1 ExpressCard 34/54
- Dual pointing devices (both Pointstick and Touchpad)
Output of lshwd
00:00.0 Class 0600: Intel Corporation|Mobile Memory Controller Hub (unknown) 00:02.0 Class 0300: Intel Corporation|Mobile Integrated Graphics Controller (vesa) 00:02.1 Class 0380: Intel Corporation|Mobile Integrated Graphics Controller (vesa) 00:19.0 Class 0200: Intel Corporation|Mobile Integrated Graphics Controller (unknown) 00:1a.0 Class 0c03: Intel Corporation|USB UHCI Controller #4 (unknown) 00:1a.1 Class 0c03: Intel Corporation|USB UHCI Controller #5 (unknown) 00:1a.7 Class 0c03: Intel Corporation|USB2 EHCI Controller #2 (unknown) 00:1b.0 Class 0403: Intel Corp.|ICH8 HD Audio DID (snd-hda-intel) 00:1c.0 Class 0604: Intel Corporation|PCI Express Port 1 (unknown) 00:1c.1 Class 0604: Intel Corporation|PCI Express Port 2 (unknown) 00:1c.2 Class 0604: Intel Corporation|PCI Express Port 3 (unknown) 00:1c.3 Class 0604: Intel Corporation|PCI Express Port 4 (unknown) 00:1c.4 Class 0604: Intel Corporation|PCI Express Port 5 (unknown) 00:1d.0 Class 0c03: Intel Corporation|USB UHCI Controller #1 (unknown) 00:1d.1 Class 0c03: Intel Corporation|USB UHCI Controller #2 (unknown) 00:1d.2 Class 0c03: Intel Corporation|USB UHCI Controller #3 (unknown) 00:1d.7 Class 0c03: Intel Corporation|USB2 EHCI Controller #1 (unknown) 00:1e.0 Class 0604: Intel Corp.|82801 Hub Interface to PCI Bridge (hw_random) 00:1f.0 Class 0601: Intel Corporation|Mobile LPC Interface Controller (unknown) 00:1f.2 Class 0101: Intel Corporation|Mobile SATA Controller cc=IDE (ata_piix) 00:1f.3 Class 0c05: Intel Corporation|SMBus Controller (i2c-i801) 03:00.0 Class 0280: Intel Corporation|SMBus Controller (unknown) 15:00.0 Class 0607: Ricoh Co Ltd.|RL5c476 II (yenta_socket) 15:00.1 Class 0c00: Ricoh Co Ltd.|RL5c476 II (unknown) 15:00.2 Class 0805: Ricoh Co Ltd.|SD Card reader (unknown) 15:00.3 Class ffff: Ricoh Co Ltd.|SD Card reader (unknown) 15:00.4 Class 0880: Ricoh Co Ltd.|R5C592 Memory Stick Bus Host Adapter (unknown) 15:00.5 Class 0880: Ricoh Co Ltd.|xD-Picture Card Controller (unknown)
What works/What doesn't
Pretty much everything works on this laptop. The modem is untested.
Pre installation notes
Remember to back up the restore partition if you plan to restore it, or leave it.
Follow the official Archlinux install guide
Accessing the recovery partition with GRUB
Edit your /boot/grub/menu.lst file and add the following:
# booting "Rescue and Recovery" partition from Lenovo title Thinkpad Maintenance unhide (hd0,0) rootnoverify (hd0,0) chainloader +1
Configuration
Video Driver
The Intel® Graphics Media Accelerator GM965 uses the xf86-video-intel driver.
#pacman -S xf86-video-intel
The relevent kernel drivers include:
- DRM_I915
For framebuffer graphics the kernel drivers:
- intelfb
- fb_uvesa
- fb_vesa
Should work. Intelfb is known to have a few problems with hardware acceleration and requires grub2 patched with 915resolution to properly set the correct resolution.
The package grub2-915resolution in the AUR would work if the patch for 915resolution is updated with the most recent 915resolution changes for the GM965 are included.
Mouse
There is a synaptic touchpad on this laptop. If you follow this howto, you should have no problems getting this to work.
The relevant kernel driver is:
- mouse_ps2_synaptics
Xorg Config
Here is a sample /etc/X11/xorg.conf:
Section "Module" Load "dbe" # Double buffer extension SubSection "extmod" Option "omit xfree86-dga" EndSubSection Load "freetype" Load "GLcore" Load "glx" Load "bitmap" Load "dri" # Load "int10" # Load "ddc" # Load "vbe" # Load "xtrap" EndSection Section "Files" ModulePath "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/local/" FontPath "/usr/share/fonts/misc/:unscaled" FontPath "/usr/share/fonts/75dpi/:unscaled" FontPath "/usr/share/fonts/100dpi/:unscaled" FontPath "/usr/share/fonts/misc/" FontPath "/usr/share/fonts/75dpi/" FontPath "/usr/share/fonts/100dpi/" FontPath "/usr/share/fonts/TTF/" FontPath "/usr/share/fonts/Type1/" FontPath "/usr/share/fonts/local/" EndSection Section "ServerFlags" Option "blank time" "3" Option "standby time" "5" Option "suspend time" "10" Option "off time" "15" Option "RandR" Option "AutoAddDevices" "False" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "thinkpad60" Option "XkbLayout" "us" EndSection Section "InputDevice" Identifier "UltraNav Trackpoint" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "Emulate3Buttons" "off" Option "EmulateWheel" "on" Option "EmulateWheelTimeOut" "250" Option "EmulateWheelButton" "2" Option "YAxisMapping" "4 5" Option "XAxisMapping" "6 7" Option "ZAxisMapping" "4 5" EndSection # Section "InputDevice" # Identifier "Synaptics" # Driver "synaptics" # Option "Device" "/dev/input/mice" # Option "Protocol" "auto-dev" # Option "Emulate3Buttons" "yes" # Option "SHMConfig" "on" # EndSection Section "Monitor" Identifier "Thinkpad Monitor" Option "DPMS" # HorizSync 31.5-50.0 # VertRefresh 59.9-60.1 EndSection Section "Device" Identifier "Intel GMA X3100" Driver "intel" BusID "PCI:0:2:0" Option "AccelMethod" "exa" Option "MigrationHeuristic" "greedy" EndSection Section "Screen" Identifier "Thinkpad Screen" Device "Intel GMA X3100" Monitor "Thinkpad Monitor" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x800" "1024x768" "832x624" "800x600" "640x480" "720x400" "640x400" "640x350" Virtual 2048 2048 EndSubSection EndSection Section "DRI" Mode 0666 EndSection Section "Extensions" Option "Composite" "Enable" Option "RENDER" "Enable" EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Thinkpad Screen" InputDevice "UltraNav Trackpoint" "CorePointer" # InputDevice "Synaptics" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection
Please note that this has the touchpad and xorg input hotplugging disabled.
Audio
Sound works out of the box. The relevant module for sound is:
- SND_HDA_INTEL
Refer to following guides to set it up:
Use whichever you wish.
Network
Wired
The wired connection works out of the box and uses the following module:
- e1000e
Wireless
Uses either module, varies with different setups:
- iwl3945
- iwl4965
Requires firmware be installed to work.
Refer to Wireless Setup for iwl3945, iwl4965 and iwl5000 series
Modem
Untested.
USB
Works out of the box.
Following modules are used:
- uhci_hcd
- ehci_hcd
- usbhid
Bluetooth
Works out of the box.
Following modules are used:
- bluetooth
- btusb
- l2cap
- rfcomm
- hci_usb
- ehci-hcd
- uhci-hcd
Trackpoint
Works, if you want to scroll while holding the middle mouse button down you can add the following to an .fdi file:
/etc/hal/fdi/policy/11-trackpoint-mw.fdi:
<match key="info.product" contains="TrackPoint"> <merge key="input.x11_options.EmulateWheel" type="string">true</merge> <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge> <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge> <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge> </match
What it does is that it sets emulates wheel on button two, which is middle button and maps in what directions it will emulate the scroll wheel, it will at the same time emulate 3 mouse buttons.
You can read more about the new Xorg input hotplugging here
ThinkFinger
Works, read ThinkFinger for reference and examples.
ACPI
To get all the special keys working requires the module:
- THINKPAD_ACPI
Which is currently not included in the stock kernel. In the AUR the packages:
- kernel26tp
- kernel26zen-git
Provide the needed module (in addition to many other useful patches.) Install either one, though it is reccomended that you try the kernel26zen-git package. Read Kernel Compilation with ABS, Custom Kernel Compilation with ABS, and Kernel Compilation From Source for more info.
It is necessary to edit the default /etc/acpi/handler.sh included with the acpid package to get these keys working.
#!/bin/sh # Default acpi script that takes an entry for all actions, modified to include thinkpad special keys. # NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to # modify it to not use /sys minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq` maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed" set $* case "$1" in ibm/hotkey) case "$2" in HKEY) case "$4" in 00001002) # Lock screen #Enter your xlock or xscreensaver command here ;; 00001003) # swithing display off xset dpms force off ;; 00001004) # Suspend to RAM /usr/sbin/pm-suspend ;; 00001005) # Switch Bluetooth ;; 00001007) # Toggle external display if [ "$(xrandr -q | grep "VGA connected")" ]; then if [ "$(xrandr -q | grep "VGA connected [0-9]")" ]; then xrandr --output VGA --off else xrandr --output VGA --auto fi else xrandr --output VGA --off fi ;; #00001008) # Toggle Trackpoint/Touchpad # ;; #00001009) # Eject from dock # ;; 0000100c) # Hibernate /usr/sbin/pm-hibernate ;; 00001011) #Brightness down CUR="xbacklight -get" CUR="echo $CUR | awk '{print $1-5}'" xbacklight -set $CUR ;; 00001012) #Brightness up CUR=`xbacklight -get` CUR="echo $CUR | awk '{print $1+5}'" xbacklight -set $CUR ;; #00001014) # Toggle zoom # ;; 00001018) # ThinkVantage button ;; esac ;; esac ;; button/power) #echo "PowerButton pressed!">/dev/tty5 case "$2" in PWRF) logger "PowerButton pressed: $2" /sbin/init 0 ;; *) logger "ACPI action undefined: $2" ;; esac ;; button/sleep) case "$2" in SLPB) /usr/sbin/pm-suspend ;; *) logger "ACPI action undefined: $2" ;; esac ;; ac_adapter) case "$2" in AC) case "$4" in 00000000) #/etc/laptop-mode/laptop-mode start ;; 00000001) #/etc/laptop-mode/laptop-mode stop ;; esac ;; *) logger "ACPI action undefined: $2" ;; esac ;; battery) case "$2" in BAT0) case "$4" in 00000000) #echo "offline" >/dev/tty5 #Enter whatever power scripts you have here. ;; 00000001) #echo "online" >/dev/tty5 #Enter whatever power scripts you may have here. ;; esac ;; CPU0) ;; *) logger "ACPI action undefined: $2" ;; esac ;; button/lid) #echo "LID switched!">/dev/tty5 /usr/sbin/pm-suspend ;; *) logger "ACPI group/action undefined: $1 / $2" ;; esac
Multimedia Keys
Now it is necessary to install xmodmap and xbindkeys via pacman for the multimedia keys. Now create a file at ~/.Xmodmap
keycode 234 = XF86Back keycode 233 = XF86Forward keycode 144 = XF86AudioPrev keycode 164 = XF86AudioStop keycode 162 = XF86AudioPlay keycode 153 = XF86AudioNext keycode 160 = XF86AudioMute keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume
And at ~/.xbindkeysrc
"mpc toggle" XF86AudioPlay "mpc stop" XF86AudioStop "mpc prev" XF86AudioPrev "mpc next" XF86AudioNext "amixer sset PCM 2-" XF86AudioLowerVolume "amixer sset PCM 2+" XF86AudioRaiseVolume "amixer sset PCM toggle" XF86AudioMute
HDAPS
To get the hard drive APS working, it is neccessary to have a kernel patched with the tp_smapi patches. Both the packages:
- kernel26tp
- kernel26zen-git
Provide this patch by default. If you installed them earlier, you should be ready in this regard.
Now all that is required is the hdapsd daemon. This can be had from the AUR package hdapsd.
Card Readers
PCMCIA
Works as expected. Uses the module:
- yenta
Compact Flash
The same goes for the Compact Flash. It's supposed to work as it uses the same interfaces as the PCMCIA does, but I can't confirm anything since I don't have a CF-card.
Secure Digital
The SD-card reader on the other hand is a pain! It uses proprietary drivers from ricoh under windows and there are no drivers under linux. I would really want this working but I think the only chance would be to reverse engineer the reader and I guess not enough coders have this device. Subsequently, there are no drivers now and there won't be in the foreseeable future...
Other Tweaks
HDD clicks
# pacman -S hdparm
Put following line to /etc/rc.local (replace /dev/sda with other device if needed):
hdparm -B 244 /dev/sda
Details: http://www.thinkwiki.org/wiki/Problem_with_hard_drive_clicking
External Links
- This report is listed at the TuxMobil: Linux Laptop and Notebook Installation Guides Survey: Fujitsu-Siemens - FSC.