Some notes about installing amd64
(Debian 4.0 etch
) distribution on notebook. No proprietary drivers were used (it is quite huge problem on amd64
:)).
Everything seems to have appropriate driver.
Touchpad and trackpoint are working out of the box but I have tweaked their default behaviour.
I have enabled horizontal scrolling on touchpad (add to the section with synaptics
driver):
Option "HorizScrollDelta" "100"
For Opera browser you also have to comment out Button6 and 7 in /usr/share/opera/ini/standard_mouse.ini
(with semicolon).
User can configure touchpad with gsynaptics
or synclient
(which comes with synaptics driver). You have to allow this configuration in xorg.conf
:
Option "SHMConfig" "true"
All parameters are described in synaptics(5)
man page.
syndaemon
(comes also with synaptics driver) monitors keyboard activity and disables the touchpad when the keyboard is being used.
Press-to-select is not enabled by default so I added this to my /etc/rc.local
:
echo -n 1 > `find /sys/devices/platform/i8042/ -name press_to_select`
To enable scrolling with trackpoint you have to add these options to /etc/X11/xorg.conf
(mouse InputDevice
section):
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "2"
Option "YAxisMapping" "4 5"
Option "XAxisMapping" "6 7"
There’s XKB geometry named thinkpad
, I don’t really know what is it good for.
Motherboard has Intel HDA 82801G (ICH7 Family) audio device. Works out of the box (snd-hda-intel
driver). I found volume levels Master=94 and PCM=71 optimal.
It’s also used for very loud and annoying PC speaker. You can either use xset b off
, setterm -blength 0
(or similar) or turn it off forever with modprobe -r pcspkr
(or blacklist it).
Gigabit. tg3
driver. Works out of the box (although I didn’t yet test it on gigabit line :)).
ipw3945-modules
, firmware-ipw3945
and ipw3945d
. Open source drivers by Intel.
And waiting for new [iwlwifi](http://intellinuxwireless.org/?p=iwlwifi)
driver.
Works with LIRC (lirc_sir
driver).
I don’t know if FIR (fast infrared) driver nsc-ircc
works or if it works also with SIR devices. LIRC won’t work after this driver loads and configures IrDA for fast mode.
X.org open source driver i810
works flawlessly (including acceleration). According to http://www.linuxpowertop.org/ is wise disable DRI for more battery life (by now it should be patched).
Option "NoDRI"
Newer versions of X.org have changed the name to intel
and have also modesetting
branch which does not depend on BIOS’ video modes.
Because I am using amd64
distribution I had no choice over open source thinkfinger
driver (is prepackaged for amd64
and sid
, compiles smoothly for etch
). You need libpam-thinkfinger
, libthinkfinger0
and thinkfinger-tools
(http://www.rubixlinux.org/debian/thinkfinger/). Then you can test reader and add fingerprints for users with tf-tool
. You may also have to load uinput
module (or add it to /etc/modules
).
My /etc/pam.d/common-auth
looks like this:
auth sufficient pam_thinkfinger.so
auth required pam_unix.so nullok_secure try_first_pass
gdm
works with it out of the box.
I have experienced problems with sshd
and vsftpd
– their PAM rules are including /etc/pam.d/common-auth
. It’s because of pam_thinkfinger
rule.
Hard Disk Active Protection System consists of accelerometer and hdapsd
daemon which keeps an eye on it.
You have to compile yourself a hdaps
module from Shem Multinymous’ [tp_smapi](http://sourceforge.net/project/showfiles.php?group_id=1212&package_id=171579)
, kernel version won’t work. Then you have to patch kernel to support protection – download patch from here (works with 2.6.22 too).
You have to set the unload method manually if you get problem described in http://www.thinkwiki.org/wiki/Problem_with_APS_harddisk_parking so you don’t wear out your HDD, like this:
echo unload > /sys/block/sda/queue/protect_method
hdaps-utils
package includes demo program hdaps-gl
which shows 3D model of the laptop.
Works out of the box (tested with my cell phone through obexfs
).
Works out of the box (tested with 2 GiB SD card, no SDHC).
I maintain my own set of ACPI scripts (dispatching ACPI events). Fits ThinkPad and Z61 particularly (and maybe Z60 or similar), they have to be changed for use with other series/models.
Currently they handle:
DPMS OFF when closing lid and call laptop_mode
on every lid event
lock screen (xscreensaver
, maybe gnome-screensaver
in future)
AC adapter (un)plugging (mainly using customised laptop-mode-tools)
suspend to disk and RAM (uswsusp
– s2disk
, s2ram
)
toggle Bluetooth (if the key is unmasked)
toggle video mode stretching
toggle TouchPad
set some battery charging and power consumption related stuff (Fn-F3)
Ultrabay hotswap (should work even without thinkpad_acpi
patched for Z61m through ACPI bay
module) – requires at least kernel 2.6.18 (etch
) for bus rescan. Swappable device is detected by model name (should be enough in most cases).
Patch for bay eject – http://www.mail-archive.com/linux-acpi@vger.kernel.org/msg04716.html. The relevant part is this line:
"\\_SB.PCI0.IDE0.PRIM.MSTR",
⚠️ I don’t recommend using powersaved
and acpi-support
(they are also handling events). These are only conflicting I know are handling evets (either with event handlers or as acpid
clients).
Here are somewhat complete scripts:
This is configuration which works with my scripts – /etc/modprobe.d/thinkpad_acpi.modprobe
:
# bluetooth masked, Fn-F10 never works, all other unmasked
options thinkpad_acpi hotkey=enable,0xffffef experimental=1 fan_control=1
This module is former ibm_acpi
– /etc/modprobe.d/ibm_acpi.modprobe
:
# bluetooth masked, Fn-F10 never works, all other unmasked
options ibm_acpi hotkey=enable,0xffef experimental=1
Useful information are in the README (http://ibm-acpi.sourceforge.net/README).
You can change it with BIOS upgrade. I have done this from Windows – just download and install the upgrade in Windows, copy logo.bmp
(640x480 and 16 colours), run BAT script and then run upgrade utility (recognises new logo automatically).
You can control fan if you’ve configured thinkpad_acpi
correctly. Use tp-fancontrol script if you’re annoyed by Embedded Controller’s fan management (keeps fan at high speed).
⚠️ Everything should work OK but keep an eye on temperatures.
You have to pass parameter to kernel when booting: vga=0x368</co
This is for 1280x800 widescreen, don't know if there's bigger for screens with ATI graphics.
### ThinkLight
``gaim-thinklight`` (or ``pidgin-blinklight``) blinks ThinkLight when message arrives (useful when muted, using more virtual desktops and conversation window is open somewhere :)).
Some media players also have visualisation plugin named ``rocklight``.
### ThinkPad Buttons
TPB will show information on volume/brightness level, HV expansion or ThinkLight. Example configuration -- [http://www.nongnu.org/tpb/doc/tpbrc.html](http://www.nongnu.org/tpb/doc/tpbrc.html) or in ``/usr/share/doc/tpb/tpbrc.gz``.
To make it work you have to load ``nvram`` module and change ``/etc/udev/permission.rules``:
KERNEL==“nvram”, MODE=“0644”, GROUP=“nvram”
### Useful kernel configuration
CONFIG_TIMER_STATS=y
CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y
CONFIG_USB_SUSPEND=y
On ``amd64`` (``x86_64`` in kernel) ``NO_HZ`` and ``HIGH_RES_TIMERS`` should be available from 2.6.23. You can get hrtimers patch from [http://www.tglx.de/projects/hrtimers/](http://www.tglx.de/projects/hrtimers/).
### Battery
You can set battery charging thresholds:
``` sh
echo 50 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 85 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
For this you have to compile tp-smapi
modules for your kernel (see ThinkWiki).
make sure laptop_mode
takes care of things when you unplug AC adapter
use powersave
scaling governor (keeps lowest frequency but higher frequencies take much more power)
keep WiFi turned off or set power management on when unplugged
do not use mouse :)
do not use USB devices
do not watch flash or have it open somewhere
use NoDRI
option if the i915 bug affects you (and if you don’t need to use OpenGL)
close X.org :)
no audio (or movies) :)
look at powertop
stats to see who’s waking up the system
Trackpoint scrolling stopped working and arrows behaved strabgely with evdev
input driver installed.
General:
kernel patchset (it’s a moving target)
figure out new version of thinkpad-acpi -> get rid of tpb
Not yet tested:
fast IrDA with nsc-ircc
driver
PC Card, ExpressCard/54
Firewire [Texas Instruments]
Modem [Conexant with proprietary drivers]
S-Video out
Not yet working:
video switch – works with newer xrandr tool (server has to support it)
xscreensaver
or gnome-screensaver
with fingerprint reader support