Samsung X20
Aus Debian-Linux - FAQ
Installation von Linux auf einem Samsung X20 XVM 1600 (NP-X20 I)
In Kürze
| Prozessor | Intel(R) Pentium(R) M processor 1.60GHz | ok | ||
| RAM | 512MB | ok | ||
| hdd | FUJITSU MHT2060AT - 60GB | ok | ||
| Floppy | n/a | |||
| DVD-R(W) | DV-W28E | ok | ||
| Graphik | Intel Corp. Mobile Graphics Controller (i915) |
| ||
| Display | 1024x768 | ok | ||
| Sound | Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller | ok | ||
| USB 1 | Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI | ok | ||
| USB 2 | Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller | ok | ||
| Firewire | Ricoh Co Ltd R5C552 IEEE 1394 Controller | ok | ||
| LAN | Broadcom Corporation BCM4401-B0 100Base-TX | ok | ||
| WLAN | Intel Corp. PRO/Wireless 2200BG | ok | ||
| Modem | Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller | nicht getestet / not tested (dialing seems to work on a similar laptop, same chip) | ||
| TouchPad | Synaptics | ok | ||
| PCMCIA | Ricoh Co Ltd RL5c476 II | nicht getestet / not tested | ||
| ACPI | Suspend to disk/ram, sleepbutton, powerbutton, lidclose | ok | ||
| MD/SD-Slot | 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17)
System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 08) |
|
| Für die Beschreibung unten, gehe ich von einem aktuellen Kernel (momentan setze ich 2.6.15.4 ein) aus, bei älteren Kernelversionen kann die eine oder andere Funktion nicht oder nicht richtig arbeiten. |
Inhaltsverzeichnis |
[bearbeiten] Knoppix
[bearbeiten] Knoppix 3.7
Mit diesem Rechner ist Knoppix nicht wirklich benutzbar, da man keinen Zugriff auf die Festplatte bekommt.
[bearbeiten] Knoppix 4.0
Zugriff auf die Festplatte ist nun möglich :-)
[bearbeiten] Kanotix 2005-04
Funktioniert gut http://kanotix.com
[bearbeiten] Debian
Mit der aktuellen Netinstall-CD von Debian Sarge (testing), ist es kein Problem, Debian auf dem Rechner zu installieren. Wichtig ist, daß man mit Kernel 2.4 installiert, da der Enhanced Real Time Clock Support aus Kernel 2.6 keinen Zugriff auf die RTC ermöglicht. Aus diesem Grund bleibt der Installationskernel 2.6 beim Booten beim Auslesen der Biosuhr stehen, hier kann man das noch mit [strg]+[c] abbrechen. Beim Shutdown allerdings bleibt das System beim Zurückschreiben der Zeit in die Biosuhr stehen.
Falls doch mit Kernel 2.6 installiert werden soll, muß man die Scripte hwclock.sh und hwclockfirst.sh in /etc/init.d so verändern, daß sie nicht mehr ausführbar sind. Das Einfügen von exit 0 erledigt das. Dummerweise kann man das aber nicht mit einem Knoppix machen....
Eine passende Kernel-Konfiguration ist hier (2.6.15.4) zu finden.
[bearbeiten] Ausgabe von lspci
0000:00:00.0 Host bridge: Intel Corp. Mobile Memory Controller Hub (rev 03) 0000:00:02.0 VGA compatible controller: Intel Corp. Mobile Graphics Controller (rev 03) 0000:00:02.1 Display controller: Intel Corp. Mobile Graphics Controller (rev 03) 0000:00:1c.0 PCI bridge: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03) 0000:00:1d.0 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03) 0000:00:1d.1 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03) 0000:00:1d.2 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03) 0000:00:1d.3 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03) 0000:00:1d.7 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03) 0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev d3) 0000:00:1e.2 Multimedia audio controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03) 0000:00:1e.3 Modem: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03) 0000:00:1f.0 ISA bridge: Intel Corp. 82801FBM (ICH6M) LPC Interface Bridge (rev 03) 0000:00:1f.1 IDE interface: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03) 0000:00:1f.3 SMBus: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03) 0000:06:05.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02) 0000:06:07.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05) 0000:06:09.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3) 0000:06:09.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08) 0000:06:09.2 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17) 0000:06:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 08)
[bearbeiten] X-Server
[bearbeiten] XFree86
Der Xfree 4.3 von Debian hat keinen Treiber für die i915-Karte. Mit dem vesa-Treiber läuft das aber ohne Probleme. Eine passende XF86Config ist hier zu finden.
Das Problem des fehlenden i915-Treibers ist in Debian als Bug #257062 eingetragen.
Angeblich gibt es einen Backport mit dem i915-Treiber, den ich allerdings noch nicht getestet habe.
Informationen zur 3D - Beschleunigung (unter Xorg) siehe Diskussion.
[bearbeiten] Xorg
Xorg läuft fast problemlos mit dem i810 Treiber. Eine passende xorg.conf gibt es hier herunterzuladen. In dieser Datei sind auch die passenden Optionen für das Touchpad mit Multitap-Unterstützung eingetragen.
Es gibt ein einziges Problem: ab und an schmiert xine beim Wechsel zw. Fullscreen und Windowmode ab. Das ist bei mir bisher nur aufgetreten, wenn der Film gerade läuft. Im DVD-Menü ist das bisher noch nicht passiert.
[bearbeiten] 3D
Für die 3D-Unterstützung sind die Treiber in Debian enthalten. Man muß dafür die Pakete
- xlibmesa-dri
- xlibmesa-gl
installieren.
[bearbeiten] Input Devices
[bearbeiten] TouchPad
Bei dem Touchpad handelt es sich um ein Synaptics-Gerät. Laut Bootmeldung hat es eine Multifinger-Unterstützung, d.h. das Touchpad erkennt, ob man mit einem, zwei oder drei Fingern getippt hat. Eigentlich werden dabei folgende Aktionen ausgeführt:
- Tap mit einem Finger - Klick linke Taste
- Tap mit zwei Fingern - Klick mittlere Taste
- Tap mit drei Fingern - Klick rechte Taste
Anfangs hatte ich Probleme mit dem 2-finger-tap, die sich inzwischen aber in Luft aufgelöst haben. Möglicherweise hängt das mit der Aktualisierung des XServers zusammen (4.3.0.dfsg.1-14),
Ausgabe beim Booten
Synaptics Touchpad, model: 1 Firmware: 6.1 Sensor: 37 new absolute packet format Touchpad has extended capability bits -> multifinger detection -> palm detection input: SynPS/2 Synaptics TouchPad on isa0060/serio4
[bearbeiten] Kernel
Damit X auf das Touchpad zugreifen kann, ist das Event Interface nötig, das im Kernel unter
- -> Device Drivers
- -> Input device support
- -> Event Interface
- -> Mice
- PS/2 Mice
- -> Input device support
zu finden ist
Außerdem muß auch UHCI bzw. EHCI im Kernel aktiviert sein....
[bearbeiten] XF86Config
Debian liefert den passenden X-Treiber im Paket xfree86-driver-synaptics mit.
In der Konfiguration des X-Servers wird zusätzlich das Modul synaptics benötigt, das mit
Load "synaptics"
in der Section "Module" geladen wird.
Für das TouchPad selbst ist folgender Abschnitt nötig.
Section "InputDevice"
Driver "synaptics"
Identifier "Mouse0"
Option "Device" "/dev/psaux"
Option "Protocol""auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.09"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0015"
Option "SHMConfig" "on"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
EndSection
[bearbeiten] xorg.conf
Wie bei der XF86Config muß das Modul für synaptics mit
Load "synaptics"
in der Section "Module" geladen werden.
Die weitere Konfiguration ist ähnlich wie für XFree
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
EndSection
Weitere Informationen zu dem Treiber sind hier zu finden.
[bearbeiten] Sondertasten
Dieses Laptop besitzt verschiedene Sondertasten. Vier überhalb der Tastatur und 12, die über [FN]+[TASTE] angesteuert werden. Von den vier Tasten über der Tastatur schaltet eine die WLAN-Karte ein oder aus (mit einem stilisierten Antennensymbol und einer blauen LED). Von den restlichen drei gibt nur die mittlere (die mit der Videokamera/Mail-Symbol) überhaupt einen Keycode aus.
Die anderen beiden (av-now-Symbol, ok-Symbol) müssen erst keycodes zugewiesen bekommen. Wenn man in die Konsole wechselt und die Tasten drückt, gibt es eine Kernelmeldung wie das geht. Am einfachsten, man erstellt ein init-script, z.B. /etc/init.d/extrakeys:
#! /bin/bash # scancode->keycode definitions for av-now and ok keys found on samsung x20 notebooks # hex scancode, decimal kernel keycode setkeycodes 74 93 # keycode avnow: 93 setkeycodes 75 94 # keyocde ok: 94
Dann sind natürlich noch die Symlinks /etc/rc[1-5].d/S02extrakeys -> /etc/init.d/extrakeys zu erstellen.
[Achtung: kernel keycodes sind nicht gleich X keycodes. Um diese herauszufinden, kann man xev benutzen. linEAK benutzt X keycoes. Es bleibt die Frage wie kernel keycodes in X keycodes umgesetzt werden.]
Bei den FN-Tasten laufen die meisten über BIOS-Funktionen. Lediglich die Lautstärkenregelelung muß man extra einfügen. Folgende FN-Kombinationen gibt es:
- FN + ESC = Sleepbutton, für Suspend to disk notwendig
- FN + F2 = Gibt ein Piktogramm über den Ladestand der Batterie aus
- FN + F4 = Schaltet zwischen den Video-Modi (LCD only, extern only, LCD/extern) um
- FN + F6 = Mute
- FN + F7 = S/PDIF on/off (mit Piktogramm)
- FN + F8 = 3D-Sound on/off (mit Piktogramm), ob man den 3D-Sound lieber aktiviert hat oder nicht, ist vermutlich Geschmackssacke.
- FN + F9 = Touchpad on/off, praktisch, wenn man viel schreiben muß
- FN + F10 = Etiquette-Mode: Halbierung der CPU-Frequenz und Abschaltung des Lüfters (ab einer gewissen CPU-Temperatur arbeitet er natürlich wieder)
- Lösung: vbetool behebt dieses Problem. In der Beschreibung zu dem gleichnamigen Paket steht: "run real-mode video BIOS code to alter hardware state". Nach dem Aufruf von
vbetool post
können die defekten Piktogramme wieder richtig dargestellt werden. Wo dieser Befehl überall ausgeführt werden muß, damit die Piktogramme immer richtig angezeigt werden können, muß ich noch rausbekommen...
[bearbeiten] Lineakd
Der Lineakd kennt das Keyboard des X20 noch nicht, daher muß dafür eine neue Konfiguration angelegt werden. Entweder man erweitert die bereits bestehende /etc/lineakkb.def oder man erstellt sich eine eigene in ~/.lineakd/.
lineakkb.def
[sx20]
brandname="Samsung"
modelname="AT Translated Set 2 keyboard"
[KEYS]
mute =160
turndown =174
turnup =176
avnow =125
video =128
ok =124
[END KEYS]
[END sx20]
Wenn die lineakkb.def erstellt ist, kann man sich mit linekad -c sx20 eine neue lineakd.conf erstellen. Bei der unten gezeigten Datei habe ich nur die Lautstärkeregelung eingerichtet.
# LinEAK - Linux support for Easy Access and Internet Keyboards # Copyright (c) 2001,2002, 2003 Sheldon Lee Wen <leewsb@hotmail.com> # and Mark Smulders <Mark@PIRnet.nl> # http://lineak.sourceforge.net # # lineakd configuration file # # example key configuration: # play = "xmms --play-pause" # eject = EAK_EJECT # # Lineakd supports the following modifier keys: # control alt shift mod2 mod3 mod4 mod5 CdromDevice = /dev/dvd Display_align = center Display_color = 0aff00 Display_font = -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-* Display_hoffset = 0 Display_plugin = xosd Display_pos = bottom Display_soffset = 1 Display_timeout = 3 Display_voffset = 50 KeyboardType = sx20 MixerDevice = /dev/mixer Screensaver = conffilename = /home/steve/.lineak/lineakd.conf keystate_capslock = keystate_numlock = keystate_scrolllock = avnow = echo "avnow" mute = aumix -w M ok = echo "ok" turndown = aumix -w - turnup = aumix -w + video = echo "video"
[bearbeiten] Dynamische Anpassung der CPU-Frequenz
Dazu sind folgende Einstellungen im Kernel notwendig:
- -> Power management options (ACPI, APM)
- -> CPU Frequency scaling
- CPU frequency translation statistics
- Default CPUFreq governor (performance) --->
- --- 'performance' governor - ???
- 'powersave' governor - ???
- 'userspace' governor for userspace frequency scaling - ???
- 'ondemand' cpufreq policy governor - ???
- CPU frequency table helpers - ???
- Intel Enhanced SpeedStep
- Use ACPI tables to decode valid frequency/voltage pairs
- -> CPU Frequency scaling
bei den mit ??? gekennzeichneten Einstellungen, bin ich mir nicht sicher, ob sie wirklich benötigt werden.
[bearbeiten] cpufreqd
Mit dem cpufreqd kann man die CPU-Frequenz dynamisch anpassen. Mit
apt-get install cpufreqd
kann er installiert werden.
[bearbeiten] powernowd
Bei dem powernowd gibt es keine Konfiguration. Die CPU-Frequenz wird der aktuellen Load angepaßt. Installiert wird er mit
apt-get install powernowd
Wie ich erfahren habe, funktioniert der Powernowd nicht mit Kernel 2.6.8
[bearbeiten] ACPI
ACPI funktioniert ohne große Probleme. Folgende Kerneleinstellungen sind nötig:
- -> Power management options (ACPI, APM)
- -> Power Management support
- -> ACPI (Advanced Configuration and Power Interface) Support --->
- -> ACPI Support
- Sleep States (EXPERIMENTAL)
- AC Adapter
- Battery
- Button
- Video
- Fan
- Processort
- Thermal Zone
- -> ACPI Support
Mit den passenden Programmen kann man dann die verschiedenen Daten z.B. die CPU-Temperatur oder den Ladezustand des Akkus auslesen.
[bearbeiten] Suspend
Um den Laptop in den Suspend-Mode setzen zu können, werden diese Kerneleinstellungen benötigt:
- -> Power management options (ACPI, APM)
- ->Power Management support
- Software Suspend (EXPERIMENTAL)
- (/dev/hda2) Default resume partition <- hier muß die SWAP-Partition angegeben werden
- ->Power Management support
[bearbeiten] - to disk
Funktioniert reibungslos:
echo disk > /sys/power/state
[bearbeiten] - to ram
Bei Supend to ram gibt es ein kleines Problem. Der Laptop wechselt ohne Probleme in den Suspend-Mode und kommt auch ohne weiteres wieder hoch. Leider bleibt dann der Monitor erst einmal schwarz. Dieses Problem läßt sich recht einfach über die Scripte des acpid beheben.
echo mem > /sys/power/state
[bearbeiten] Buttons
Im Laptop gibt es drei Buttons:
- Powerbutton
- Sleepbutton
- Lidclose (Deckel zu)
Mit dem acpid kann man diese auch für unterschiedliche Aktionen benutzen. Wenn der acpid mit
apt-get install acpid
installiert wurde, reagiert er zunächst nur auf den Powerbutton und fährt den Rechner herunter.
[bearbeiten] Sleepbutton
Der Sleepbutton wird beim Drücken von [FN]+[ESC] ausgelöst (Mondzeichen). In /etc/acpi/events/ fügt man die Datei sleepbtn hinzu:
[bearbeiten] /etc/acpi/events/sleepbtn
# /etc/acpi/events/sleepbtn # This is called when the user presses the sleep button and calls # /etc/acpi/sleepbtn.sh for further processing. # We need to react on "button sleep.*" and "button/sleep.*" because # of kernel changes. event=button[ /]sleep action=/etc/acpi/sleepbtn.sh
Damit wird dem acpid erklärt, daß er beim Drücken des Sleepbuttons das Script /etc/acpi/sleepbtn ausführen soll.
[bearbeiten] /etc/acpi/sleepbtn.sh
#!/bin/sh # /etc/acpi/sleepbtn.sh # Initiates a suspend to disk when the sleep button has been # pressed. /sbin/hwclock --systohc echo disk > /sys/power/state /sbin/hwclock --hctosys
[bearbeiten] Lidclose - Button
Der Lidclose-Button wird circa 12 Sekunden nach dem Schließen des Laptops ausgelöst (woher die Wartezeit kommt ist mir unbekannt).
Analog zum Sleepbutton muß die Datei /etc/acpi/events/lidbtn erstellt werden:
[bearbeiten] /etc/acpi/events/lidbtn
# /etc/acpi/events/lidbtn # This is called when the user presses the lid button and calls # /etc/acpi/lidbtn.sh for further processing. # We need to react on "button lid.*" and "button/lid.*" because # of kernel changes. event=button[ /]lid action=/etc/acpi/lidbtn.sh
Ebenso die lidbtn.sh
[bearbeiten] /etc/acpi/lidbtn.sh
#!/bin/sh
# /etc/acpi/lidbtn.sh
# Initiates a suspend to ram when the lid has been
# closed (after ~12 seconds).
if [ -e /tmp/lidclose ]
then
rm /tmp/lidclose
else
touch /tmp/lidclose
vt=`/bin/fgconsole`
rmmod uhci_hcd
rmmod ehci_hcd
/sbin/hwclock --systohc
echo mem > /sys/power/state
/sbin/hwclock --hctosys
modprobe uhci_hcd
modprobe ehci_hcd
#/usr/bin/chvt 7
/usr/bin/chvt 1
/usr/bin/chvt $vt
fi
[bearbeiten] PCMCIA
Im Kernel:
- -> Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
- -> PCI support
- -> PCCARD (PCMCIA/CardBus) support --->
- -> PCCard (PCMCIA/CardBus) support
- 16-bit PCMCIA support
- 32-bit CardBus support
- CardBus yenta-compatible bridge support
- -> PCCard (PCMCIA/CardBus) support
- -> PCCARD (PCMCIA/CardBus) support --->
- -> PCI support
Aus Ermangelung einer PCMCIA-Karte konnte das leider nicht getestet werden.
[bearbeiten] WLAN
Für das WLAN braucht man die ipw2200-Treiber, die man hier herunterladen kann. Für diesen Treiber benötigt man noch eine angepaßte Firmeware, die man unter Firmware auf dieser Seite findet. Die Installation der Module ist im Artikel ipw2200 beschrieben.
Verwendet habe ich hier ipw2200-1.0.1 und die aktuellste Version der Firmware, Version 2.2.
- Inzwischen setze ich ipw2200-1.0.4 und Firmware 2.3 ein.
- Mit ipw2200-1.0.6 und dem wpa_supplicant gibt es noch Probleme
Die Einrichtung von WPA mit dem wpa_supplicant hist hier erklärt.
Alternativ kann man das auch folgendermaßen machen (Dank an Jens, der mir dabei geholfen hat):
Das IPW2200 Modul
Device Drivers -> Network device support -> Wireless LAN -> Intel PRO/Wireless 2200BG and 2915ABG Network Connection
als Modul mit in den Kernel kompilieren und danach die Firmware, ich nutze 2.4, runterladen und nach /usr/lib/hotplug/firmware kopieren. Nach einem Reboot sollte "dmesg | grep ipw2200" jetzt nur noch so etwas ausspucken:
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, git-1.0.8 ipw2200: Copyright(c) 2003-2005 Intel Corporation ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
Wenn man sich jetzt noch die "wireless-tools" per APT holt (s.u.), kann man auf Netzwerke mit WEP Verschlüsselung etc. schon zugreifen. Für WPA gilt das selbe wie oben beschrieben.
Die wireless-tools bekommt man, über
apt-get install wireless-tools
[bearbeiten] Dockingstation
Die Dockingstation beinhaltet zusätzlich
- Line In
- Line Out
- seriellen Port
- Parallelport
- VGA (D-Sub)
- DVI-D
- TV-out
- 1x Firewire
- 4* USB
- 1 Gbit-Lan
- 1 PS/2
in der Ausgabe von lspci kommt nur der Eintrage für die Gbit-Nic hinzu.
0000:02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01)
Die neue Karte muß in der Kernelkonfiguration unter
- Device Drivers --->
- Network device support --->
- Ethernet (1000 Mbit) --->
- Broadcom Tigon3 support
- Ethernet (1000 Mbit) --->
- Network device support --->
aktiviert werden. Das Modul heißt dann tg3. In der oben genannten Kernelkonfiguration ist die Nic bereits aktiviert, der Treiber ist fest in den Kernel eingebunden.
[bearbeiten] Probleme
[bearbeiten] Piktogramme
Piktogramme werden als Pixelmüll ausgegeben (siehe Sondertasten).
Jens: bei mir seit 2.6.11-7 kaputt. Bei 2.6.8-15 (auch mit 855resolution) waren sie noch in Ordnung.
[bearbeiten] Fragen
sind in die Diskussionsseite verschoben
This report is listed at TuxMobil - Linux on laptops, notebooks, PDAs and mobile phones
Kategorien: Tutorials | Linux | Debian | Mobile


