Slackware auf einem Asus A8Fm Z99F

laptop.jpg

Die Hardware:

14″ WXGA (1280 x 800)
Intel Core 2 Duo T2250 ~ 1.73 GHz
Intel 945GM Chipsatz mit integrierter Grafik
1.5 GB DDR2 Ram (den 2. Slot belegt)
Intel PRO/Wireless 3945ABG
80 GB Sata Festplatte (FUJITSU MHV2080BH)
Express Card Slot
5x USB 2.0
1x Firewire
Intel HD Audio (1x Kopfhörer / S/P-DIF, 1x Mikro)
DVD-Ram 24x (CD) / 8x (DVD±R)
SD-/MMC-/Memeroy Stick leser
Synaptics Touchpad

Slackware Linux 12.0 lässt sich ohne irgendwelche Probleme auf dem Gerät installieren und selbst x.org läuft Out-of-the-box.

Als Desktop verwende ich XFCE habe aber auch einige KDE-Pakete installiert, um einige KDE Programme (hauptächlich K3B) zu verwenden.
Zur funktion des Modems und des Express Card Slots kann ich mangels nötiger Voraussetzungen nichts sagen. Aber zumindest der Express Card Slot sollte funktionieren.

Nachfolgend werde ich ein paar Tipps und Hinweise zur Konfiguration geben, die sich warscheinlich auch bei anderen Distributionen anwenden lassen.

Kernel:

Als erstes habe ich mir einen eigenen Kernel gebaut, aktuell ist das der 2.6.22.9 Die .config gibt’s hier auch. Ob wirklich alles benötigt wird weiss ich nicht, aber der Kernel funktioniert und die Hardware die ich benutze funktioniert.

WLAN:

Nur für den WLAN-Chip muss noch ein Treiber und die Firmware besorgt werden. Für Kernel vor 2.6.22.9 braucht man auch noch das mac80211 Paket. Zumindest bei mir wollte der Treiber vorher nicht mit den im Kernel integrierten Sourcen. Zum installieren einfach den Instruktionen in den INSTALL-Dateien folgen.
über die /etc/rc.d/rc.inet1.conf habe ich die Einstellungen für die WLAN-Karte gesetzt (eth1). Zum verbinden mit einem WPA-gesicherten Netz verwende ich wpa_supplicant, welches bei Slackware dabei ist.
Um nicht alles Mögliche per Hand zu machen und damit WLAN nicht gleich nach dem booten aktiv ist (Stromsparen) habe ich in /etc/modprobe.d das Laden des Moduls ipw3945 etwas genauer Konfiguriert. Mit diesem Script wird beim laden des Moduls auch der dazu gehörende Daemon gestartet (ipw3945d) und die WLAN-Led an der Laptopvorderseite angemacht. Beim entladen des Moduls wird die LED wieder aus gemacht und der Daemon beendet. Die Datei /etc/modrobe.de/ipw3945 sieht so aus:

install ipw3945 /sbin/modprobe –ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d –quiet –pid-file=/var/run/ipw3945d.pid ; echo 1 > /sys/devices/platform/asus-laptop/wlan
remove ipw3945 /sbin/ipw3945d –kill –pid-file=/var/run/ipw3945d.pid ; /sbin/modprobe -r –ignore-remove ipw3945 ; echo 0 > /sys/devices/platform/asus-laptop/wlan

Zur WLAN-Taste am Laptop weiter unten.

Sound:

Für die Soundausgabe verwende ich den im Kernel mitgelieferten Treiber snd_hda_intel. Nach dem ausführen von alsaconfig musste ich noch eine Datei sound in /etc/modprobe.d/ mit folgendem Inhalt anlegen:

options snd-hda-intel position_fix=1 model=laptop
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel

Damit funktionierten dann alle Regler im Mixer wie ich es erwartet habe.

SD-/MMC-/Memeroy Stick leser:

Für den Kartenleser werden die Kernelmodule sdhci, mmc_core und mmc_block benötigt. Danach zeigt mir XFCE beim Einlegen einer SD-Karte ein Icon für das „Laufwerk“ auf dem Desktop, worüber ich die Karte ganz bequem mounten/unmounten kann (hieran sind wohl udev und/oder hal beteiligt).

Synaptics Touchpad:

Um das Touchpad unter x.org ordentlich benutzen zu können, wird noch ein Treiber von HIER benötigt. Installation wie in der INSTALL beschrieben.

Integrierte Grafik:

Leider konnte ich bisher nicht herausfinden, wie man die Menge Ram beeinflussen kann. 🙁
Für die Konsole verwende ich den vesafb-Treiber des Kernels da ich es (noch) nicht geschafft habe mit dem intelfb-Treiber eine andere Auflösung zu bekommen. In meiner lilo.conf steht vga=773 was mir eine (noch) gut lesbare Auflösung verschafft. Da ich den Laptop nicht oft ohne X benutze reicht mir das.
xorgsetup hat mir die Grafik gleich passend eingerichtet, so das ich mich darum nicht kümmern brauchte. Die Auflösung war sofort mit 1280×800 eingestellt, so wie es sein sollte.

Power Management:

Durch meinen selbstgebauten Kernel kann ich auch die Stromsparfunktionen des Prozessors (ich schreibe das jetzt so, auch wenn es tatsächlich zwei sind) benutzen. 🙂
Ich habe mir das so eingerichtet, das ich 3 Modi für den Prozessor zur auswahl habe: ondemand, powersave und performance.

  1. powersave taktet den Prozessor mit 798 MHz
  2. performance taktet den Prozessor mit 1.74 GHz
  3. ondemand taktet den Prozessor dynamisch zwischen den o. g. Werten

Ändern kann man den Status mit

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Fn-Tasten und Sondertasten:

Auch die Fn-Tasten und die Sondertasten lassen sich fast alle benutzen. Dafür wird das Kernelmodul asus-laptop gebraucht. Wenn es geladen ist, produzieren die Tasten verwertbare ACPI-events die sich mit Scripten belegen lassen. Noch habe ich nicht alle Tasten konfiguriert da ich noch keine sinnvolle Verwendung dafür habe. Die Bluetooth und die Fn-F6 Tasten produzieren leider kein ACPI-event.

Damit sie funktionieren muss man in /etc/acpi/events die Keycodes abfangen. Das kann über ein zentrales Script passieren oder für jedes event ein eigenes. In diesen Scripten wird die Taste definiert und die Aktion die dann ausgeführt werden soll. Die ausgeführten Scripte liegen direkt in /etc/acpi. Die Zuordnung der Tasten findet man leicht mit ‚tail -f /var/log/acpi‘ heraus. Nachfolgend findet ihr meine /etc/acpi/events Scripte (dahinter in Klammern die Taste) und danach die Scripte die dadurch ausgeführt werden.

/etc/acpi/events:
default
mute (Fn+F10)
power (Sondertaste mit Männchen)
sleep (Fn+F1)
voldown (Fn+F11)
volup (Fn+F12)
wlan (Fn+F2 und Sondertaste mit WLAN Symbol)

/etc/acpi:
wlan.sh (benutzt zwei Scripte in /usr/local/bin)
power.sh (wechselt zwischen den drei Modi ondemand, performance und powersave)

wlanon.sh und wlanoff.sh laden das Kernelmodul und starten wpa_supplicant, bzw. beenden wpa_supplicant und entladen das Modul.
Das ganze gibt’s auch HIER nochmal als Päckchen. 🙂


Ausgabe von lspci

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
01:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
05:00.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller
05:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
05:00.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
05:00.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
05:00.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)