Netzwerk: WLAN nur aktivieren, wenn kein Netzwerkkabel eingesteckt ist

Um seine WLAN-Karte (oder WLAN-USB-Stick) nur zu aktivieren, wenn gerade kein Netzwerkkabel eingesteckt ist, kann man folgende Schritte ausführen.

(Annahme: die WLAN-Karte firmiert unter dem Namen wlan0)

Inhalt der Datei /etc/conf.d/net.eth0

# wlan0 einschalten, wenn das Netzwerkkabel nicht eingesteckt wurde
preup() {
if ethtool „${IFACE}“ | grep -q ‚Link detected: no‘; then
ewarn „No link on ${IFACE}, aborting configuration“
/etc/init.d/net.wlan0 start
fi
return 0
}

#config_eth0=( „dhcp“ )
config_eth0=( „192.168.0.10/24“ )
routes_eth0=(
„default via 192.168.0.1“ # IPv4 default route
)

Für den Inhalt der Datei /etc/conf.d/net.wlan0 siehe vorherigen Post.

Danach sollte man das Paket sys-apps/ifplugd installieren. Es ermöglicht es festzustellen, ob an der Netzwerkkarte ein Kabel angeschlossen ist und reagiert automatisch auf Veränderungen des Zustands.

Anschließend sollte man die Datei /etc/ifplugd/ifplugd.action dahingehend abändern, dass beim Entfernen des Netzwerkkabels automatisch das wlan0-Interface gestartet wird und entsprechend beim Einstecken des Netzwerkkabels wieder gestoppt wird.

Ausschnitt aus der Datei /etc/ifplugd/ifplugd.action (siehe dazu auch das gentoo-wiki.info)

case „$2“ in
up)
if [ „${INITNG}“ = „yes“ ]
then
ARGS=“-u net/$1″
else
ARGS=“–quiet start“
#wenn ein Netzwerkkabel eingesteckt wurde, soll wlan0 gestoppt werden
/etc/init.d/net.wlan0 –quiet stop
fi
;;
down)
if [ „${INITNG}“ = „yes“ ]
then
ARGS=“-d net/$1″
else
ARGS=“–quiet stop“
#wenn das Netzwerkkabel gezogen wurde, soll wlan0 gestartet werden
/etc/init.d/net.wlan0 –quiet start
fi
;;
*)
echo „$0: wrong arguments“ >&2
echo „Call with “ >&2
exit 1
;;
esac

Um zu verhindern, dass wlan0 automatisch beim Hochfahren gestartet wird, kann man in der Datei /etc/rc.conf die Zeile

rc_plug_services=“!net.wlan0″

einfügen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.