WLAN auf Fujitsu Siemens Amilo M7440 (Teil 1)
Mein Notebook, ein inzwischen fast zwei Jahre altes Fujitsu Siemens Amilo M7440, besitzt einen Intel Pro/Wireless 2200BG-Netzwerkchip, für den die Treiberinstallation recht unproblematisch ist (mehr dazu im 2. Teil). Die größere Hürde ist zunächst die Aktivierung des Netzwerkadapters – Bei jedem Bootvorgang ist die Netzwerkkarte automatisch deaktivert, auch im BIOS lässt sich dieses Verhalten nicht ändern. Der Killswitch, mit dem man unter Windows das Drahtlosnetzwerk (de-)aktivieren kann, ist per Software realisiert, d.h. es läuft unter Windows ein (grauenhaftes, da nicht ohne Administratorrechte lauffähiges) Programm, welches auf die entsprechenden Tastendrücke lauscht und dann den WLAN-Chip (de-)aktiviert.
Um die WLAN-Funktionalität dieses Notebooks auch unter Linux nutzen zu können, gibt es zum Glück das Tool fsam7440. Ich nutze noch die Version 0.2 des Tools, die einfach als Kommandozeilentool arbeitet, die (nächsthöhere) Version 0.4 ist als Kernel-Modul ausgeführt.
Nachdem man das Paket heruntergeladen hat, kann man das Programm kompilieren und installieren. Vorher habe ich aber zwei kleine Anpassungen am Quellcode vorgenommen: Ich habe die Zeilen 87 und 88, 91 und 92 sowie 96 und 97, in denen nur einige informelle Ausgaben geschehen, auskommentiert.
Das Kompilieren und Installieren kann man (als root) mit der Standard-Kommandofolge ./configure, make, make install machen, oder aber einfach mit
gcc fsam7440c.c -o /usr/bin/fsam7440
Zu beachten ist im folgenden, dass mit der Standard-Installation die ausführbare Datei in /usr/local/bin landet, mit dem oben angegebenen Kommando aber in /usr/bin.
Nach der Installation kann man (als root) über
fsam7440 on
die WLAN-Karte aktivieren, was durch das Aufleuchten der WLAN-LED unter dem Bildschirm angezeigt wird. Als normaler Benutzer bleibt einem das Recht verwehrt. Will man dies ändern, bietet es sich an, das Programm mittels Setuid immer als root ausführen zu lassen:
chmod ug+s /usr/bin/fsam7440
Alternativ kann man aber auch die WLAN-Karte einfach bei jedem Start aktivieren lassen, so wie ich es im folgenden beschreiben werde. Dazu wird zunächst ein Script mit dem Namen fsam7440 in /etc/init.d angelegt:
#! /bin/sh
# /etc/init.d/fsam7440
#
# Some things that run always
touch /var/lock/fsam7440
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Turning on Fujitsu Siemens Amilo M7440 wireless LAN..."
/usr/bin/fsam7440 on
;;
stop)
echo "Turning off Fujitsu Siemens Amilo M7440 wireless LAN..."
/usr/bin/fsam7440 off
;;
*)
echo "Usage: /etc/init.d/fsam7440 {start|stop}"
exit 1
;;
esac
exit 0
Dieses Script verhält sich wie ein Daemon: Mit dem Parameter “start” wird die WLAN-Karte aktiviert, mit dem Parameter “stop” wird sie deaktiviert. Der letzte noch fällige Schritt besteht im Eintragen dieses Scriptes in den /etc/rc*.d-Verzeichnissen. Diese Verzeichnisse beinhalten die Scripte, die beim Eintreten in die verschiedenen Runlevel ausgeführt werden. Um das Script hier gemäß den Debian-Standards zu installieren, genügt ein Aufruf von
update-rc.d fsam7440 defaults 19
Damit wird die WLAN-Karte künftig bei jedem Start aktiviert.
DEBlog