Linux auf dem Lifebook S-7020

Auf dieser Seite werde ich kurz meine Erfahrungen bei der Einrichtung von Linux auf meinem Notebook, dem Fujitsu-Siemens Lifebook S-7020 zusammenfassen. Diese Seite ist übrigens auch über TuxMobil zu erreichen.

Lifebook S-7020
Lifebook S-7020

Hardwareausstattung

  • Pentium M 760 (2,0GHz)
  • 1024MB Ram
  • 80GB SATA-Festplatte
  • Grafik: Intel GMA900
  • Display: 1400x1050 Punkte SXGA+
  • IEEE1394-Anschluss (Funktion nicht getestet, s.u.)
  • USB 2.0
  • Netzwerk: Broadcom BCM5751
  • WLAN: Intel PRO/Wireless 2200BG
  • Bluetooth
  • Modem: Agere HDA Modem 56k
  • Sound: Intel HD Audio mit Realtek ALC260
  • PCMCIA-Slot
  • ExpressCard-Slot (noch nicht getestet)
  • CD-/DVD-Brenner NEC ND-6500A

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:1b.0 0403: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)
0000:00:1c.0 PCI bridge: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 04)
0000:00:1c.1 PCI bridge: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (rev 04)
0000:00:1d.0 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)
0000:00:1d.1 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)
0000:00:1d.2 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)
0000:00:1d.3 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)
0000:00:1d.7 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev d4)
0000:00:1f.0 ISA bridge: Intel Corp. 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
0000:00:1f.1 IDE interface: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04)
0000:00:1f.2 0106: Intel Corp. 82801FBM (ICH6M) SATA Controller (rev 04)
0000:00:1f.3 SMBus: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04)
0000:02:00.0 Ethernet controller: Broadcom Corporation: Unknown device 167d (rev 11)
0000:06:03.0 CardBus bridge: O2 Micro, Inc.: Unknown device 7134 (rev 20)
0000:06:05.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)
0000:06:06.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)`

Installation von Debian/GNU Linux

Bei der Installation von Debian Linux Unstable konnte ich leider nicht den aktuellen Debian-Installer der stable-Version verwenden, da dessen Kernel (2.4.XX und 2.6.8) entweder die SATA-Festplatte oder den Netzwerk-Chip nicht verwenden konnten. Dass es auch eine testing-Version des Installers gibt, habe ich leider zu spät gemerkt...

Ich habe mir geholfen, indem ich auf meinemeinen passenden Kernel (aktuelle Version 2.6.12.5) für den neuen Rechner übersetzt habe, dann ein Image der Festplatte auf das neue Notebook übertragen habe und dort mit Hilfe von Knoppix den Bootmanager lilo wieder installiert habe und somit recht einfach und schnell wieder ein lauffähiges System hatte.

Übertragung des HD-Images

Um das Image der Festplatte des alten Notebooks auf das Neue zu übertragen, habe ich die Systempartition auf dem alten Notebook mit dem Befehl dd ausgelesen und mittels netcat zum neuen Notebook geschickt.

dd if=/dev/hda2 | netcat 192.168.0.5 3124

Damit das neue Notebook die Daten entgegennehmen kann, muss dort zuvor ebenfalls netcat im Servermodus gestartet werden:

netcat -p 3124 -l | dd of=/dev/sda2

Da ich die Systempartition gleichzeitig vergrößern wollte, habe ich auf dem neuen Notebook zuvor eine entsprechend große Partition erstellt und nach dem übertragen des Images dieses mit resize2fs (unterstützt auch das ext3 Dateisyystem) vergrößert, was problemlos und ohne Datenverlust funktioniert hat.

SATA-Controller und -Festplatte

Serial-ATA-Festplatten werden unter Linux wie SCSI-Geräte behandelt. Daher muss man in der Kernel-Konfiguration auch unter Device Drivers → SCSI Device Support → SCSI low-level drivers → Serial ATA Support und für den verwendeten Intel 915 Chipsatz die AHCI-Unterstützung aktivieren. Die Festplatte sollte sich dann als/dev/sdX und nicht wie die normalen ATA-Platten als /dev/hdX ansprechen lassen.

Netzwerk-Chip

Aus Lizenzgründen wurde in den aktuellen Debian-Kernel-Sourcen der Treiber für den Broadcom-Chip entfernt. Im offiziellen Kernel ist er aber noch enthalten. Er befindet sich bei den 1000MBit-Netzwerkchips und heisst tg3. Nach dem Laden des tg3-Moduls lässt sich die Karte dann problemlos mit ifconfig etc. ansprechen.

Wireless LAN

Für den WLAN-Chip Intel Pro/Wireless 2200 LAN von Intel gibt es unter http://ipw2200.sourceforge.net die entsprechenden Kernel-Module. Man benötigt neben dem Treiber für den WLAN-Chip auch noch die passende Firmware, die es ebenfalls dort gibt.

Die Verschlüsselungsvariante WPA läuft bei mir problemlos mit Kernel 2.6.12 und der Software wpa_supplicant. Mogu (Vielen Dank für den Hinweis!) schrieb mir jedoch:

"WPA läuft nicht mit Kernel 2.6.13 und ipw2200-1.0.6 zusammen, bei mir funktioniert wpa mit wpasupplicant nur mit dem wext Treiber von wpasupplicant."

Update - 13.08.2006

Im aktuellen Kernel (2.6.17) ist bereits ein Treiber für die Centrino-WLAN-Chips enthalten. Man benötigt also nicht mehr unbedingt den Code von sourceforge.net. Möchte man jedoch den Monitormode verwenden, so gibt es auf der Seite genauere Informationen dazu.

Bluetooth

Das Bloototh-Modul hängt intern am USB-Bus. Damit man es ansprechen kann, muss im Kernel der Bluetooth-Support unter "Device Drivers → Networking → Bluetooth Subsystem" und darin unter "Bluetooth device drivers" das Modul HCI USB Driver ausgewählt werden. Zusätzlich habe ich die bluez-utils installiert. Mit dem darin enthaltenen Programm hciconfig kann man dann sehen, ob Bluetooth verfügbar ist. Mangels eines Bluetooth-Gerätes habe ich aber bisher keine Kommunikation ausprobiert.

PCMCIA- bzw PC-Card-Slot

Der PCMCIA-Chip wird vom Yenta-Treiber erkannt. Ob eine entsprechende Karte damit funktioniert, habe ich noch nicht getestet.

IEEE1394-Anschluss

Der Chipsatz wird von dem Kernel-Module nohci1394 und ieee1394 erkannt. Mangels einem passenden Gerät habe ich den Anschluss aber noch nicht testen können.

USB-Anschlüsse

Die Anschlüsse werden von den Kernel-Modulen uhci-hcdund ehci-hcd erkannt und funktionieren einwandfrei. Mangels eines USB 2.0-Gerätes habe ich diese Funktion noch nicht getestet.

Stromsparfunktion / Speedstep

Nach dem Laden des Modules centrino-speedstep kann der Dämon cpufreqd die Prozessorfrequenz in einigen Schritten zwischen 800 MHz und 2 GHz variieren, um Strom zu sparen.

Die Standard-Konfiguration von cpufreqd habe ich angepasst, so dass das Notebook, wenn es am Stromnetz hängt und die CPU-Last kleiner als 10% ist, mit nur 800 MHz läuft. So springt der Lüfter fast nie an, solange man nicht daran arbeitet.

Man kann die Frequenz, mit der die CPU läuft, mit dem Kommando

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq

überprüfen. Die weiteren Dateien in diesem Verzeichnis geben unter anderem die minimale und maximale Frequenz an, mit der die CPU laufen kann.

Update 13.11.2006: Hibernate-Modus

Bisher gab es ein Problem mit dem Hibernate-Modus (unter Windows "Ruhezustand"), bei dem der Inhalt des Arbeitsspeichers auf der Festplatte gesichert und beim nächsten Booten wieder geladen wird, was die Zeit zum Booten erheblich verkürzt. Nach dem Booten konnte die Festplatte nicht mehr angesprochen werden, was mit dem Stillstand von Linux endete. Seit der Kernel-Version 2.6.18.1 (vielleicht auch schon frühere) gibt es aber einen alternativen Treiber für den SATA-Controller.

Der AHCI Treiber funktioniert nicht, der für Intel ICH aber schon. Nach dessen Aktivierung (nicht als Modul, denn er wird beim Booten benötigt) funktioniert der Hibernate-Modus dann einwandfrei. Zur Aktivierung benötigt man noch das Paket hibernate, in dem einige Skripte enthalten sind, die unter anderem dafür sorgen, dass nach dem Booten die Grafik wieder so eingestellt wird, dass die volle Auflösung dargestellt werden kann (Einstellung "Runi915resolution yes" in der Datei /etc/hibernate/common.conf).

Einrichtung des X-Servers

Der GMA900 wird vom X-Server von X.org (Debian-Package xserver-xorg) unterstützt. Als Treiber muss in der Konfiguration i810 eingetragen werden. Da es aber ein Problem bei der Abfrage der möglichen Auflösungen durch den X-Server gibt und so zunächst nur 1280x1024 Punkte möglich sind, gibt es ein kleines Utility 855resolution, welches die Tabelle der unterstützten Auflösungen des Graphikchips so ändert, dass der X-Server auch 1400x1050 Punkte verwenden kann. Das Tool muss vor dem Start des X-Server zum Beispiel mit folgenden Parametern aufgerufen werden: 855resolution 3c 1400 1050 Das wird bei mir in einem init-Skript direkt nach dem booten gemacht. Bei der Installation des Debian-Paketes 855resolution reicht es, in der Datei /etc/default/855resolution die entsprechenden Daten einzutragen.

Die Datei xorg.conf sollte dann etwa so wie bei mir aussehen:

Update - 13.09.2005

Es gibt inzwischen unter http://www.fairlite.demon.co.uk/intel.html einen X-Server, der den GMA900 ohne das Programm 855resolution unterstützt. Dazu wird die Datei i810_drv.o im Verzeichnis /usr/X11R6/lib/modules/drivers/ ersetzt durch die heruntergeladene.

Dann muss nur noch die Konfigurationsdatei xorg.conf angepasst werden, so dass der Device-Abschnitt in etwa so aussieht (die ForceBios Option ist wichtig):

Section "Device"
  Identifier "Intel MGA900"
  Driver "i810"
  Option "ForceBIOS" "1024x768=1400x1050"
EndSection

Update - 12.11.2005: Xinerama

Andreas Bichler berichtet, dass auch Xinerama, eine Erweiterung für den X-Server, um den Desktop auf mehrere Monitore auszudehen, läuft. Beim Lifebook umfasst der Desktop dann das LCD-Display und einen extern angeschlossenen Monitor. Ein Beispiel für eine passende Konfigurationsdatei für den x.org X-Server gibt es hier:

Update - 13.08.2006: 855resolution

Jens Frederik Dalsgaard Nielsen berichtet, dass das 855resolution Tool ersetzt wurde durch 915resolution. Versucht man in Debian, das Paket 855resolution zu installieren, so wird automatisch das Paket 915resolution installiert.

Sound

Um die Soundkarte zu nutzen, benötigt man das Kernel-Modul snd-hda-intel und eine funktionierende ALSA -Installation. Die Soundausgabe funktioniert dann mit Einschränkungen problemlos. Die internen Lautsprecher des Notebooks hängen am Kopfhörer-Ausgang des Soundchips und lassen sich daher auch nur mit dem entsprechenden Lautstärkeregler beeinflussen. Außerdem funktioniert die Soundausgabe über die Line-Out-/Kopfhörer-Buchse bisher nicht. Ich vermute, dass das mit der "Plug re-tasking"-Fähigkeit des Soundchips zusammenhängt (siehe Realtek-Webseite - Die dort angebotenen Linux-Treiber enthalten anscheinend nur den aktuellen Sourcecode des ALSA-Projects und können den Kopfhörerausgang auch nicht aktivieren).

Update - 13.02.2006

Im aktuellen Kernel (2.6.15) ist der Patch für HD-Audio integriert, so dass der Sound mit diesem Kernel funktioniert. Das entsprechende Kernel-Modul (snd-hda-audio) kennt den Parameter fix_position, der auf 1 gesetzt werden muss, damit keine Knackser bei der Soundausgabe auftreten:

option snd-hda-audio fix_position=1

Modem

Inzwischen habe ich auch das interne Modem in Betrieb nehmen können. In den Treibern für den HD-Audio-Chipsatz ist auch ein Treiber für das Modem enthalten. Der alleine genügt aber nicht. Zusätzlich muss das Paket sl-modem-daemon installiert werden. Dieser Dämon wird beim Booten gestartet und erzeugt für das Modem ein device-File /dev/ttySL0, so dass man das Modem wie ein normales externes Modem ansprechen kann.

Damit der Dämon weiss, welche Hardware er ansprechen soll, muss sie in der Konfigurationsdatei /etc/defaults/sl-modem-daemon angegeben werden:

SLMODEMD_DEVICE="hw:Intel,6"

Problematische Hardware

Die folgende Hardware hat sich bisher meinen Versuchen zur Inbetriebnahme widersetzt:

  • Die Tasten oberhalb der Tastatur können bisher nicht verwendet werden. Sie erzeugen leider keine ACPI-Events (ausgenommen der Power-Knopf, der funktioniert im Zusammenspiel mit demacpidproblemlos).
LinkedIn logo mail logo