WLan-Konfiguration bei jedem Start behalten
Häufig tritt bei WLan-Karten/-Netzen das Problem auf, dass sich Kanotix anscheinend die Einstellungen nicht merken kann. Nach jedem Neustart muss die Karte neu konfiguriert werden. Eine Änderung der Datei
/etc/network/interfaces kann hier Abhilfe schaffen.
Zumeist sieht die Datei 'interfaces' zunächst folgendermaßen aus:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
## The loopback interface
##automatically added when upgrading
auto lo wlan0 eth0
iface lo inet loopback
iface wlan0 inet dhcp
iface eth0 inet static
address 192.168.0.3
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
Hierbei entspricht
eth0 der "normalen" Netzwerkkarte, deren IP hier statisch vergeben wird. Die Funkkarte wird hier mit
wlan0 angesprochen. Dies kann je nach Kartentyp (z.B. PCMCIA oder PCI) auch als
ethX oder auch
wireless0 erkannt werden. Im obigen Fall würde dann anstatt
wlan0 halt
eth1 stehen. Wie die Funklankarte von Linux erkannt wird, kann man ganz einfach anhand der Ausgabe von
iwconfig erkennen.
Um nun nach jedem Neustart die WLan-Karten-Konfiguration gleich von Anfang an zu haben, ergänzen wir die Datei
.../interfaces mit den nötigen Angaben:
...
iface wlan0 inet dhcp
wireless_key DEIN_WEP_SCHLÜSSEL
wireless_essid DEINE_WLAN_ID
wireless_mode MODE
wireless_channel KANAL
...
Die GROSS geschriebenen Werte musst Du jetzt noch nach Deinen Bedürfnissen anpassen. Alles was Du vielleicht nicht benötigst bzw. nicht im wlcardconfig-Tool eingegeben hast, kannst Du weglassen. MODE kann z.B. Managed, Adhoc o.ä. sein, genaueres erfährst Du bei den Abfragefenstern der Funklankonfiguration. Für den Anfang reicht vielleicht schon aus nur, die Essid einzugeben (also wie dein Funklan heißt), den Rest kann man sich i.A. sparen. Den WEP-Schlüssel brauchst Du natürlich, falls Dein Netz verschlüsselt ist. (Für die Verschlüsselung mit WPA gibt es
hier eine kurze Anleitung.)
Wer statische IP's vergeben hat, kann sich am
eth0-Beispiel orientieren.
Fertig und Happy Surfing...
Einige Anmerkungen noch:
Die
ESSID sollte unbedingt in Großbuchstaben eingegeben werden. Auch wenn sie im Router in Kleinbuchstaben angegeben wurde, entspricht dies anscheinend nicht den allgemeinen Konventionen und Linux hätte es gern korrekt in Großbuchstaben. Auf jeden Fall bei der Fehlerdiagnose mit berücksichtigen und einmal ausprobieren, ob es daran gelegen hat.
Manueller Neustart der WLan-Verbindung
Wenn nach einem Start die WLan-karte nochmals manuell mit dem Netzwerkkarten-Konfigurationstool
netcardconfig konfiguriert wird, so wird die Datei
/etc/network/interfaces wieder mit den Standardeinstellungen
überschrieben (siehe erste Box). Eine bessere Lösung ist die Verwendung von
/etc/init.d/networking restart
in einer root-Konsole, falls das Netz mal nicht funktioniert. Falls dies nicht zum gewünschten Erfolg führt und doch
netcardconfig aufgerufen werden muss, gehen die Einstellungen in der
.../interfaces damit verloren und müssen neu eingetragen werden. Am besten für solche Notfälle eine Sicherheitskopie anlegen (z.B. in einem Unterordner "backup") und bei Bedarf zurückspielen oder folgendes kleine Script zur automatischen Sicherung verwenden:
- Im Verzeichnis /usr/local/bin mit
eine neue Datei erstellen.
- Rechte ändern mit :code:chmod u+x /usr/local/bin/copy_interfaces:code:
- folgendes in die Datei schreiben:
#!/bin/bash
# /etc/init.d/copy_interfaces
#
IF_FILE=/etc/network/interfaces
IF_BACKUPFILE=/etc/network/interfaces.backup
IF_OWNFILE=/etc/network/interfaces.my
case "$1" in
start)
echo "Make a copy from the active file $IF_FILE...."
cp -p $IF_FILE $IF_BACKUPFILE
if [ $? -ne 0 ]; then
echo "Copy write error (1)"
exit 1
fi
echo "Replace the active File $IF_FILE by my own file $IF_OWNFILE...."
cp -p $IF_OWNFILE $IF_FILE
if [ $? -ne 0 ]; then
echo "Copy write error (2)"
exit 2
fi
;;
stop)
echo "Nothing to do in that case"
;;
*)
echo "Usage: $0 {start|stop}"
exit 3
;;
esac
exit 0
- mit
ln -s /usr/local/bin/copy_interfaces /etc/rc0?.d/S05copy_interfaces
ln -s /usr/local/bin/copy_interfaces /etc/rc6?.d/S05copy_interfaces
das script in die runlevels 0 und 6 (shutdown und neustart) reinschreiben.
- Eine funktionierende und korrekte Version der /etc/network/interfaces als /etc/network/interfaces.my erstellen.
Es wird nun bei jedem Shutdown oder Neustart zunächst eine Version der aktuellen 'interfaces' in den Backup-Ordner gesichert. Hiernach wird dann Deine funktionierende 'interfaces.my' als neue 'interfaces' gesetzt. Dies hat zur Folge, dass Du auch immer eine letzte Version der 'interfaces' im backup hast.
Vielen Dank an BlueLupo für die Verfeinerung meines kümmerlichen Scripts zu einem richtigen init-script.