Thinkpad X61s mit Debian Lenny
Diese Anleitung Basiert auf einer Standard Debian Lenny Installation. Nach der Installation müssen aber noch einige Schritte unternommen werden, um alle Komponenten benutzen zu können.
Wir gehen von einer Lenny - Installation mit verschlüsseltem LVM aus. Als Software Profile ausgewählt sind:
- Desktop-Umgebung
- Laptop
- Standard-System
Tipps zum LVM: Die vorgeschlagene Aufteilung sollte geändert werden. Am einfachsten geht es, in dem man das überdimensionierte LV home als root sichert, löscht und mit zum Beispiel 10 GB neu anlegt:
mkdir /root/homes cp -rp /home/* /root/homes/ umount /home lvresize -L 10G /dev/$HOSTNAME/home mkfs.ext3 /dev/$HOSTNAME/home mount /home mv -p /root/homes/* /home/ rm /root/homes
Ziel ist es das Laptop mit KDE bequem benutzen zu können.
Inhalt
TODO
- Weitere Optimierung Akkkulaufzeit
- Fn-Tasten Skript optimieren
- Siehe Übersicht
- Hibernate funktioniert nicht, wenn Laptop angedockt ist: Es wacht gleich wieder auf
- Resume (from suspend) hängt manchmal, es blinkt ein Cursor in der linken oberen Ecke: Man muss bis zu fünf Minuten warten, bis sich was tut
Übersicht
| Komponente | Status |
| Wifi | Eingerichtet |
| LAN | Out of the Box |
| X.org | Funktioniert |
| Externer VGA | Funktioniert |
| Trackpoint | Funktioniert |
| WAN | Nicht vorhanden |
| Sound | Funktioniert |
| Festplatte | Out of the Box |
| Active Protection | Nicht eingerichtet |
| USB | Out of the Box |
| Bluetooth | Nicht getestet |
| Firewire | Nicht getestet |
| SMBus | Out of the Box |
| PCMCIA | Out of the Box |
| Kartenleser | Nicht getestet |
| Fingerprint Scanner | Keine freien Debian-Pakete |
| Standby / Ruhezustand | Funktioniert |
| Sondertasten | Funktionieren |
| ACPI | Out of the Box |
| Docking Station | Funktioniert |
| Helligkeit verstellen | apt-get install xbacklight |
| Akku optimieren | Tipps |
| Dynamische Taktung | Out of the Box |
| Embedded Security Subsystem | Nicht eingerichtet |
Wifi
Die eingebaute Karte funktioniert mit dem iwl4965 Modul. Dieses sollte nach dem Start automatisch geladen worden sein. Allerdings muss man sich selbst die Firmware für diese Karte runterladen. Die Firmware ist eine Binärdatei, die vom Treiber in die Karte geladen wird. Wegen einem Zertifikat darf diese laut Intel nicht geändert werden. Damit ist diese Datei keine freie Software. Dieses gibt es als Paket firmware-iwlwifi in den non-free Sources oder hier: http://intellinuxwireless.org/?n=Downloads
Für die Modulversion beim Kernel 2.6.26 braucht man die Fimware in der Version 228.57.1.21.
Wenn der Kernel kein iwl4965-Modul hat, ist eventuell ein apt-get dist-upgrade nötig.
Das heruntergeladene Archiv enthällt eine .ucode-Datei. Diese muss in den /lib/firmware Ordner kopiert werden, damit sie vom Treiber gefunden wird.
-
cp iwlwifi-4965-ucode-228.57.1.21/iwlwifi-4965-1.ucode /lib/firmware/
Zusätzlich muss noch wireless-tools für die Konfiguration sowie der knetworkmanager für KDE installiert werden.
-
apt-get install knetworkmanager
Anschließend muss der Benutzer in die Gruppe netdev hinzugefügt werden, damit er über den KNetworkManager die Netzwerkkarten konfigurieren kann.
Sound
Der Sound funktioniert fast out of the Box. Allerdings muss der Mixer richtig eingestellt werden. Dazu ist alsamixer empfehlenswert. Dieser ist im Paket alsa-utils enthalten.
-
apt-get install alsa-utils
Im alsamixer muss man durch Drücken der m - Taste die Geräte Speaker und Headphones einschalten. Nach der Installation sind diese nämlich stumm geschaltet.
Für die KDE Bentutzer ist sicherlich KMix interessant.
-
apt-get install kmix
X.Org
Hier muss nur die Konfigurationsdatei leicht angepasst werden. Wir aktivieren das Scrollen mit dem Trackpoint sowie die Moglichkeit den VGA Anschluss zum Erweitern des Desktops zu benutzen.
Trackpoint
In diesem Bereich fügen wir die zwei Optionen ein
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "2"
EndSection
VGA
Um einen Bildschirm an den VGA Anschluss betreiben zu können, müssen wir die Screen Sektion anpassen. Hier fügen wir die den Displbay Bereich mit der Virtual Zeile hinzu.
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
SubSection "Display"
Depth 24
Virtual 2304 768
EndSubSection
EndSection
Danach kann man mit xrandr ohne X neustarten zu müssen den Bildschirmbereich ändern.
- Desktop spiegeln
xrandr --output VGA --auto
- Display ausschalten
xrandr --output VGA --off
- Desktop erweitern (Rechts positionieren)
xrandr --output VGA --right-of LVDS
Suspend / Standby, Ruhezustand / Hibernate
Um die Funktionen nutzen zu können muss ein Paket installiert werden:
-
apt-get install hibernate
Mit den Standardeinstellungen bleibt der Bildschirm nach dem Aufwachen schwarz. In der /etc/X11/xorg.conf muss im Device Bereich noch die Option VBERestore hinzugefügt werden.
Section "Device"
Identifier "Configured Video Device"
Option "VBERestore" "true"
EndSection
Zusätzlich müssen Bootparameter festgelegt werden: /boot/grub/menu.lst:
kernel .... acpi_sleep=s3_bios noapic
Nach einem Kernel-Upgrade muss eventuell noch ein `update-initramfs -uk `uname -r` ausgeführt werden.
Viele Probleme können duch Module verursacht werden. In der Datei /etc/hibernate/blacklisted-modules können diese aufgelistet werden. Damit werden sie vor dem Schlaf entfernt.
Suspend
Man kann mit sudo hibernate-ram das Laptop auf Standby stellen. Durch Drücken der Fn Taste oder des Power-Knopfs, oder öffnen des Deckels wird wird das Laptop wieder geweckt.
Hibernate
Hibernate funktioniert mit sudo hibernate-disk allerdings gibt es Probleme, wenn das Laptop an die UltraBase angedockt ist: Etwas weckt das Laptop gleich nach dem Hibernate wieder auf, so das es gleich wieder hochfährt.
Fn- und Sondertasten
Die Fn-Tasten erzeugen acpi-Events. Dafür brauchen wir einen Daemon, der beim Eintreten der Events bestimmte Aktionen auslöst.
-
apt-get install acpid
Mit acpi_listen kann man die ausgelösten Ereignisse anzeigen.
Hier meine Konfiguration:
-
Datei /etc/acpi/events/ibm_hotkey anlegen
event=ibm[ /]hotkey action=/etc/acpi/actions/ibm_hotkeys.sh %e
-
Datei /etc/acpi/actions/ibm_hotkeys.sh anlegen
#!/bin/bash # From: http://www.thinkwiki.org/wiki/Sample_Fn-F7_script # # External output may be "VGA" or "VGA-0" or "DVI-0" or "TMDS-1" EXTERNAL_OUTPUT="VGA" INTERNAL_OUTPUT="LVDS" # EXTERNAL_LOCATION may be one of: left, right, above, or below EXTERNAL_LOCATION="right" getXuser() { user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'` if [ x"$user" = x"" ]; then user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'` fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` export XAUTHORITY=$userhome/.Xauthority else export XAUTHORITY="" fi } function xosd() { killall osd_cat FONT="-misc-fixed-bold-*-*-*-60-*-*-*-*-*-*-*" echo "$1"| osd_cat -A center -p bottom -o -220 -s 5 -O 1 -u black -c green --font=$FONT } case "$EXTERNAL_LOCATION" in left|LEFT) EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT" ;; right|RIGHT) EXTERNAL_LOCATION="--right-of $INTERNAL_OUTPUT" ;; top|TOP|above|ABOVE) EXTERNAL_LOCATION="--above $INTERNAL_OUTPUT" ;; bottom|BOTTOM|below|BELOW) EXTERNAL_LOCATION="--below $INTERNAL_OUTPUT" ;; *) EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT" ;; esac function screen_external(){ xrandr --output $INTERNAL_OUTPUT --off xrandr --output $EXTERNAL_OUTPUT --auto } function screen_internal(){ xrandr --output $EXTERNAL_OUTPUT --off xrandr --output $INTERNAL_OUTPUT --auto } function screen_mirror(){ xrandr --output $INTERNAL_OUTPUT --auto xrandr --output $EXTERNAL_OUTPUT --auto --same-as $INTERNAL_OUTPUT } function screen_both(){ xrandr --output $INTERNAL_OUTPUT --auto xrandr --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION } function screen_toggle(){ # Figure out current state INTERNAL_STATE=$(xrandr | grep ^$INTERNAL_OUTPUT | grep con | sed "s/.*connected //" | sed "s/(.*//") EXTERNAL_STATE=$(xrandr | grep ^$EXTERNAL_OUTPUT | grep con | sed "s/.*connected //" | sed "s/(.*//") if [ -z "$INTERNAL_STATE" ]; then STATE="external" elif [ -z "$EXTERNAL_STATE" ]; then STATE="internal" else INTERNAL_STATE=$(echo $INTERNAL_STATE | sed "s/[0-9]*x[0-9]*//") EXTERNAL_STATE=$(echo $EXTERNAL_STATE | sed "s/[0-9]*x[0-9]*//") if [ "$INTERNAL_STATE" = "$EXTERNAL_STATE" ]; then STATE="mirror" else STATE="both" fi fi case "$STATE" in internal) screen_mirror OSD_TEXT="Display: Mirror" ;; mirror) screen_external OSD_TEXT="Display: External" ;; external) screen_both OSD_TEXT="Display: Both" ;; both) screen_internal OSD_TEXT="Display: Internal" ;; *) screen_internal OSD_TEXT="Display: Internal" ;; esac } x="/tmp/.X11-unix/X0" displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" screen_toggle xosd "$OSD_TEXT" & fi
Für diese Konfiguration werden noch folgende Pakete benötigt:
-
apt-get install finger xosd-bin xbacklight
Sound Tasten
Unter Gnome funktionieren diese auf Anhieb. Unter KDE muss man ein paar Befehle eintippen:
cat << EOF > /etc/X11/Xmodmap ! Volume Keys keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume keycode 160 = XF86AudioMute ! Multimedia Keys keycode 164 = XF86AudioStop keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext keycode 162 = XF86AudioPlay ! Browser Keys keycode 234 = XF86Back keycode 233 = XF86Forward EOF
Als Benutzer:
cat << EOF > $HOME/.kde/Autostart/xmodmap.sh #!/bin/sh xmodmap /etc/X11/Xmodmap EOF chmod +x $HOME/.kde/Autostart/xmodmap.sh
Dock
Die Ultrabase X6 wird mit dem dock ACPI-Modul ohne Probleme erkannt. Abdocken funktioniert mit dem Knopf an der Base. Allerdings muss das Laptop gedockt gestartet werden, damit das Laufwerk erkannt wird.
Active Protection System
Das Laptop unterstützt das "Active Protection System". Dieses ermöglicht die Beschleunigung des Laptops zu überwachen und im Falle einer Erschütterung oder Aufpralls die Festplatte zu stoppen.
Meine Erfahrung mit einem Thinkpad X40 hat gezeigt, dass die Festplatte im mobilen Einsatz zu oft gestoppt wird. Dadurch verkürzt sich die Lebensdauer dramatisch.
Grundsätzlich sollen die Module tp_smapi und das ältere hdaps funktionieren. Getestet habe ich diese jedoch nicht
Stromverbrauch
Um den Verbrauch zu optimieren hilft powertop:
-
apt-get install powertop
Dieses zeigt die möglichen Einstellungen um das Laptop zu optimieren.
Zusätzliche Punkte:
-
Die Kerneloption hpet=force erlaubt längere Ruhezeiten für die CPU.
- Wenn das Wifi und Bluetooth Modul nicht benötigt wird, sollte es über RF-Kill Schalter vorne am Laptop ausgeschaltet werden.
Laptop-mode-tools kann die Einstellungen ändern, wenn das Laptop an die Stromversorgung oder nur am Akku hängt.
-
apt-get install laptop-mode-tools
CPU-Taktung
Der Kernel sollte beim Booten gleich die richtigen Module laden.
Mit cpufrequtils kann man es überprüfen.
cpufreq-info zeigt den eingestellten governer und die aktuelle Frequenz an. Der optimale Governor für Intel CPUs ist ondemand.
KDE-Einstellungen
Der Powermanager für KDE zeigt die aktuelle Frequenz und den Batteriestatus an, verändert die Helligkeit und kann auf Ereignisse wie Niedriger Batteriestand oder Zuklappen des Deckels reagieren.
-
apt-get install kde-guidance-powermanager
Möglicher Weise ist bereits ein Power-Managment Tool installiert sein: kpowersave dieser muss deinstalliert werden:
-
apt-get remove kpowersave
Damit die Events der Suspend/Hibernate Tasten nicht doppelt ausgelöst werden, müssen noch zwei Dateien bearbeitet werden:
-
/etc/acpi/hibernatebtn.sh /etc/acpi/sleepbtn.sh
Dort muss gleich in der zweiten Zeile exit 0 eingefügt werden. Das Problem tritt nur in Verbindung mit KDE auf.
artsd
artsd ermöglicht mehreren Programmen gleichzeitigen Zugriff auf die Soundkarte. Leider verursacht er jedoch sehr viele Interrupts, was Akkulaufzeit kostet. Deshalb sollte dieser mit dem KDE Kontorl Panel deaktiviert werden.
laptop mode tools
-
apt-get install laptop-mode-tools
Datei /etc/laptop-mode/laptop-mode.conf anpassen:
# Festplatten auf 5 Minuten setzen LM_AC_HD_IDLE_TIMEOUT_SECONDS=300 LM_BATT_HD_IDLE_TIMEOUT_SECONDS=300
Quellen und Links
-
ThinkWiki X61s - Zahlreiche Infos zum Laptop
-
tuxmobile.org - Zahlreiche Installationsanleitungen und Infos