Linux @ IBM / Lenovo ThinkPad R50e
debian sarge 3.1r0a


deutsch
english (coming soon)


Notebookbild


** Hardware **

Hersteller:             IBM / Lenovo
Modell:
                 Thinkpad R50e 1834-S5G
Produktnummer:  UR0S5GE

Art
Typ
Status
Hinweis
CPU
Intel Celeron M 360
1,4GHz, 1MB Cache, 400MHz FSB
Ok

Chipsatz
Intel 855GM Chipset
ACPI
Suspend to Disk
Suspend to RAM
CPU Frequancy Scaling
Ok
Ok
ungetestet
ungetestet
Ok


in arbeit
in arbeit
Grafikkarte
DRI
VGA-Out
Intel Extreme Graphics2 (i855GM)
Ok
Ok
Ok


kein Dualhead
Display
XGA 1024x768
Ok

IDE
82801DBM
UDMA
Ok
Ok

Tastatur

Ok

Maus
Trackpoint
Wheel
Ok
Ok

Sound
AC 97 (82801DB/DBL/DBM)
Ok

Laufwerke
Festplatte 40GB (hda)
DVD-Multi DVD+/-/RAM (hdc)
Ok
Ok

lesen & schreiben
Modem
AC 97 56k (82801DB/DBL/DBM)
ungetestet
in arbeit
Netzwerk
Intel PRO/100 VE (82801BD)
Ok

WirelessLAN
Intel PRO Wireless 2200BG
Ok

PCMCIA
Texas Instruments PCI1510
Ok

USB
Intel 82801DB/DBL/DBM
Ok
Bluetooth Test
LPT

ungetestet
sollte funktionieren
Sondertasten
Access IBM, WLAN ein/aus, ...
ThinkLight, Helligkeit, Lautstaerke, Stumm
teilweise
Ok
in arbeit



** Installation **

Wichtige BIOS-Funktionstasten
Esc         Zeit Bootinformationen an
F1           ins BIOS gehen
F11         startet "Rescue and Recovery" (also das gleiche wie "Access IBM")
F12         Auswahl des Bootgeraetes

Da bei vielen ThinkPads keine Wiederherstellungs-CD mitgeliefert werden, am besten als erstes einen Wiederherstellungs CD-Satz des orginal installierten Systems erstellen.

Es gibt natuerlich viele Wege debian zu installieren. Ich wollte das orginal installierte WXP weiter verwenden und debian als zweites Betriebssystem einsetzen. Dabei versuchte ich die von IBM vorinstallierte "Rescue and Recovery" Partition funktionstuechtig (mit "Access IBM" Taste) zu halten.
Ich veraenderte die WXP Partition mithilfe von ntfsresize um freien Speicherplatz fuer Linux zu schaffen.
Dabei kann Beispielsweise das Frontend Qtparted von einer Knoppix-CD (getestet wurde Knoppix 4.0.1) verwenden werden (Qtparted ist im K-Menue unter System zu finden).
Beim schreiben von GRUB in den Bootsektor der Festplatte hatte ich das Problem, dass das starten von der Recovery-Partition mithilfe der "Access IBM"-Taste nicht mehr moeglich war. IBM veraendert den Bootsektor um diese Funktion zu realisieren. Das Tool zum Wiederherstellen dieser Funktion (hier zu finden) fuehrt leider dazu das diese Funktion nicht funktioniert und/oder GRUB nicht mehr funktioniert.
Ich starte deshalb Linux ueber den WXP Bootmanager.
Dafuer muss GRUB in die Partition auf der es installiert wird eingerichtet werden (zB. /dev/hda6).
Anschliessend wird der Startsektor der Partition mit
    dd if=/dev/hda6 of=/irgendwohin/bootsec.lin bs=512 count=1
in eine Datei kopiert.
Man muss also debian bis zum ersten neustart installieren, dann von einem anderen Medium (zB. Knoppix-CD) booten und "dd" und die datei auf die WXP Partition ins root kopieren.
Anschliesend die Datei boot.ini anpassen und die Zeile
    c:\bootsec.lin="debian GNU/Linux"
einfuegen. boot.ini ist eine versteckte Datei auf der ersten Win Partition.
Nach einem Neustart bietet der WXP Bootmanager die Auswahl zwischen WXP und Linux. Die "Access IBM"-Taste funktioniert weiterhin und bei Neuinstallieren oder Recovern von WXP muss man nur boot.ini anpassen und bootsec.lin kopieren und debian kann wieder gestartet werden.

Installiere debian sarge mit Parameter "linux26 vga=791" also Kernel 2.6 sowie Aufloessung 1024x768.


** Kernel **

mit dem Orginalkernel geht soweit alles.
Wer es aber perfekt haben will muss natuerlich selbst einen Kernel kompilieren.
Beispiele:
     Kernel 2.6.13.4   mit Konfigurationsdatei
    
Kernel 2.6.14      mit Konfigurationsdatei
     Kernel 2.6.16.2   mit Konfigurationsdatei  (Konfiguriert mit WPA2 Support)


** Grafikkarte **

Arbeiten ist mit vesa und i810 Treiber moeglich.
DRI mit i810 Treiber und Kernelmodul funktioniert gut und schnell - ppracer funktioniert!

Konfiguration in XF86Config-4
    Section "Device"
        Identifier "Standardgrafikkarte"
        Driver "i810"
        Option "XVideo" "true"      # fuer Videoausgabe
        Option "VBERestore" "true"
        BusID "PCI:0:2:0"
    EndSection
komplette Konfigurationsdatei hier.

VGA-Ausgang
Umschalten via Fn+F7 (funktioniert nicht richtig wenn X bereis laeuft - ohne X starten, dann Fn+F7, dann X starten)
oder
i810switch installieren und mit "i810switch crt on/off" Anschluss ein bzw. ausschalten.
oder
Klonen ist auch via i855crt moeglich.
    starten i855crt swcursor on 1024x768@85
    stoppen i855crt off
Funktioniert leider nur teilweise - d.h. muss in aktuellem Bildschirm gestartet werden, kein Mauszeiger auf externen Geraet.
Dualhead funktioniert leider nicht - wenn man auf xorg (statt xfree) umstellt soll dies aber moeglich sein.


** Trackpoint  **

Konfiguration in XF86Config-4
    Section "InputDevice"
        Identifier "Configured Mouse"
        Driver "mouse"
        Option "CorePointer"
        Option "Device" "/dev/input/mice"
        Option "Protocol" "PS/2"
        Option "Emulate3Buttons" "true"
        Option "EmulateWheelButton" "2"
        Option "EmulateWheel" "true"
        Option "ZAxisMapping" "4 5"
        Option "XAxisMapping" "6 7"
    EndSection
komplette Konfigurationsdatei hier.


** Sondertasten **

Von Haus aus funktionieren Lautstaerke +/- und Stumm sowie ThinkLight und Helligkeit.
Mithilfe des Programms TPB koennen weitere Tasten angesteuert werden.
Um die Anzeigefunktionen von tpb zu verwenden wird zusätzlich xosd und xfonts-base-transcoded benoetigt.

Zum aktivieren der Zurueck/Vor Tasten sowie der Numlock-Funktion (Shift+Rollen bzw. Alt+Rollen) Datei Xmodmap (/home/user/.Xmodmap) anlegen.
    keycode 77 = Num_Lock
    keycode 234 = Prior
    keycode 233 = Next
alternativ kann man zB auch in den Tastenkombinationseinstellungen von gnome einstellen.

Weiterhin interessant ist das Paket tpctl - Thinkpad Configuration Tools for Linux.
- in arbeit -


** DVD lesen/schreiben **

Wiedergabe von Video-DVDs mit Xine oder Okle moeglich.
Schreiben von CD/DVD beispielsweise mit K3b
(UDMA erforderlich)


** ACPI & Stromsparfunktionen **

acpi und acpid mit installieren
Kernel muss ACPI unterstuetzen
Test mit
       acpi -V
Akkustatus, CPU Termperatur und Netzadapterstatus wird angezeigt

Weitere ACPI Funktionen sind mit ibm-acpi (Kernelbestandteil ab 2.6.10) moeglich.
Mit diesem Modul lassen sich viele Funktionen wie Funktionstasten, ThinkLight, ... abfragen und/oder steuern. Wenn beim laden der Parameter experimental=1 angegeben wird ist noch mehr moeglich - zB. Lueftersteuerung.
Weitere Informationen gibt hier.

Mithilfe von Laptop-mode-tools koennen verschiedene Stromsparfunktionen (Festplatte abschalten, ...) eingerichtet werden.
Konfigurationsdatei /etc/laptop-mode/laptop-mode.conf

CPU-Frequency Scaling zum heruntertackten der CPU (175000 - 1400000MHz) ist auch moeglich.
Kernelmodul p4-clockmod
Installiere cpufreqd oder fuer dynamisches schalten powernowd
Konfigurationsdatei /etc/cpufreqd.conf
Zum testen kann man die aktuelle Frequenz in /proc/cpuinfo abrufen.

Automatische Displayabschaltung
Folgende Einträge in XF86Config-4 eintragen
    Section "ServerFlags"
          Option      "BlackTime"       "5"
          Option      "StandbyTime"  "10"
          Option      "SuspendTime"   "20"
          Option      "OffTime"            "30"
          ...
    End Section


** Suspend **

- in arbeit -      (Vorsicht!)
Suspend-Funktion muss im Kernel aktiviert sein.
Suspend-to-RAM
Installiere Paket hibernate
installiere suspend2 kernelpatch
kernel neu kompilieren und installieren
Test
    hibernate
alternativ
    echo -n mem > /sys/power/state

Suspend-to-Disk
Suspendpartition (swap) im Kernel angeben
Test
    echo -n disk > /sys/power/state

Weitere Informationen hier.


** Soundkarte **

Kernelmodul intel8x0
Alsa installieren
Kernelmodul snd-seq-oss laden
Falls der Sound nicht auf anhieb funktioniert kann es noetig sein die Datei /var/lib/alsa/asound.state zu loeschen. Ich hatte Probleme mit Fehlermeldung  "Setting up ALSA... /etc/init.d/alsa: Warning: 'alsactl restore' failed with error message 'alsactl: set_control:930: warning: name mismatch (External Amplifier/Headphone Jack Sense) for control #26'. done." Loeschen der Datei behebt das Problem.


** Modem **

- in arbeit -
Kernelmodul intel8x0m
SL-Modem-Daemon installieren
Test mit wvdial
    Bearbeiten von /etc/wvdial.conf

        [Dialer Defaults]
        Phone = 0101901929
        Username = freenet
        Password = *******
        New PPPD = yes
        Carrier Check = no
        Modem = /dev/ttySL0
    Starte wvdial

alternativ:
Linuxant Treiber verwenden.


** Netzwerkkarte **

Kernelmodul e100
gegebenenfalls /etc/network/interfaces anpassen
    Beispiel
       #LAN
        auto eth1
        iface eth1 inet static
        # dhcp oder static
        address 192.168.244.3
        netmask 255.255.255.0
        network 192.168.244.0
        broadcast 192.168.244.255
        gateway 192.168.244.1
gegebenenfalls /etc/resolv.conf anpassen
        search
        nameserver 192.168.244.1


** WLAN **

Bei Verwendung von Kernel => 2.6.14 koennen ieee80211 und ipw2200 vom Kernel selbst verwendet werden.
Der Kernel enthaelt eventuell nicht die letzte Version von ipw2200 - d.h. es muss die dementsprechende Firmware verwendet werden. (Kernel 2.6.14 -> ipw2200 1.0.0 -> firmware 2.2)
1) Download wireless-tools (Version 2.8),
ieee80211 (Verschluesselung), ipw2200 (Treiber) und firmware
2) wireless-tools entpacken und kompilieren
3) ieee80211 entpacken und kompilieren
4) ipw2200 entpacken und kompilieren
5) firmware entpacken und nach /lib/firmware kopieren
6) firmware starten /etc/hotplug/firmware.agent
7) Netzwerkeinstellung aendern
    Datei /etc/network/interfaces
8) Module laden (und/oder in /etc/modules eintragen)
    modprobe ieee80211
    modprobe ipw2200
9) gegebenenfalls /etc/network/interfaces anpassen
    Beispiel
       #WLAN
        auto eth0
        iface eth0 inet static
        # dhcp oder static
        address 192.168.2.2
        netmask 255.255.255.0
        network 192.168.2.0
        broadcast 192.168.2.255
        gateway 192.168.2.1
        wireless_mode managed
        wireless_essid meinewlanname
        wireless_nick meinrechnername
        # WEP Verschluesselung
        wireless_key 1234-5678-9012-3456-7890-1234-56
        wireless_channel 1
        wireless_keymode restriced
        # restriced oder open
10) gegebenenfalls /etc/resolv.conf anpassen
      Beispiel
        search
        nameserver 192.168.2.1
11) Testen des Verbindung
    iwconfig
    iwlist eth0 scanning
    ifup eth0

alternativ:
WPA oder WPA2 mit PSK
Dazu man meine Kernelconfig 2.6.16.2 verwenden und das Paket wpa_supplicant installieren.
Im Kernel muss TKIP und AES als Modul aktiviert sein und geladen werden.
12) Datei /etc/network/interfaces muss nun so aussehen

    Beispiel
       #WLAN
        auto eth0
        iface eth0 inet static
        # dhcp oder static
        address 192.168.2.2
        netmask 255.255.255.0
        network 192.168.2.0
        broadcast 192.168.2.255
        gateway 192.168.2.1
14) Datei /etc/wpa_supplicant anpassen
    Beispiel
        ctrl_interface=/var/run/wpa_supplicant
        ctrl_interface_group=0
        eapol_version=1
        fast_reauth=1
        ap_scan=2
        # bei versteckter SSID 2 sonst 1
        network={
                ssid="meinwlan"
                psk="00000000000000000000000000"
                priority=5
                proto=RSN WPA
                # bei WPA1 mit TKIP nur WPA und bei pairwise und group jeweils nur TKIP
                key_mgmt=WPA-PSK
                pairwise=CCMP TKIP
                # WPA2
                group=CCMP TKIP WEP104 WEP40
        }
15) Datei /etc/default/wpasupplicant bearbeiten
    Beispiel
        ENABLED=1
        OPTIONS="-w -ieth0 -Dwext -c /etc/wpa_supplicant.conf"
16) Bei Bedarf kann wpa_supplicant auch manuell mit dem Paramter "-ieth0 -Dwext -c /etc/wpa_supplicant.conf" gestartet werden. Bei eventuellen Fehlern kann es noetig sein die Datei /var/run/wpa_supplicant/eth0 zu loeschen.


** PCMCIA **

Kernelmodul YENTA

Karteninformation mit cardinfo
PCMCIA getestet mit einer 3com Netzwerkkarte (3c563)


** USB **

USB funktionierte ohne Anpassungen einwandfrei.
Natuerlich muessen die USB Treiber des Kernels geladen werden.

Hier ein Test mit einem USB-Bluetooth Adapter (Delock Bluetooth Class2):

Kernelmodul BT_HCIBCM203X und L2CAP sowie RFCOMM
Bluez-Tools installieren
Konfigurationsdateien zu finden unter /etc/bluetooth
Test:
    hciconfig (zeigt BT geraet)
    hciconfig hci0 up (startet Geraet)
    hciconfig -a (zeigt aktives Geraet)
    hcitool scan (sucht nach anderen Geraeten)

Erweiterter Test - Komunikation mit einem Mobiltelefon
(getestet mit einem Siemens S65)
    1) Bluetooth im Handy aktivieren
    2) Datei /etc/bluetooth/pin bearbeiten und PIN festlegen (zB: 1234)
    3) Handy Geraetenummer herausfinden (zB mit "hcitool scan")
    4) Handy als serielle Schnittstelle (/dev/rfcomm0) binden
        rfcomm bind 0 01:23:45:67:89:AB (Geraetenummer)
    5) Verbindungstest - An Handy und Rechner muss festgelegter PIN eingegeben werden.
        echo "ATZ" > /dev/rfcomm0
    6) Verbindung kann nun via wvdial (oder kppp, ...) aufgebaut werden.

Weitere Informationen zu Bluetooth sind hier und hier zu finden.



Stand 07.05.06
Fuer weitere Fragen schickt mir einfache eine Mail.