richard.kunze hat geschrieben:Die sonst üblicherweise mitgelieferten Scripte sind aber auf dem TXT nicht mit bei - für meine eigenen Experimente neulich musste ich mir auch selbst eins zusammenhacken, das wpa_supplicant anwirft.
... und hier ist das Ergebnis - vielleicht kann ja wer was mit anfangen:
Startscript. Liegt beim mir auf der SD-Karte unter /mnt/wlan-client/wlan-client und ist nach /etc/init.d/S99_wlan_client verlinkt damit es beim Booten automatisch startet:
Code: Alles auswählen
#!/bin/sh
#
# Start wpa_supplicant and dhcpcd for wlan0
#
BASE_PATH="/mnt/wlan-client"
PATH=/bin/:/sbin/:/usr/bin/:/usr/sbin/
case "$1" in
start)
echo "Starting dhcpcd for wlan0..."
dhcpcd -b -c "$BASE_PATH/dhcpcd-hook.sh" wlan0
;;
stop)
echo -n "Stopping dhcpcd..."
dhcpcd -x wlan0
;;
restart|reload)
"$0" stop
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
Hook-Script für dhcpcd. Kümmert sich um wpa_supplicant und resolv.conf (die liegt auf dem TXT unter /tmp, /etc/resolv.conf ist nur ein Symlink). Gehört nach $BASE_PATH/dhcpcd-hook.sh
Code: Alles auswählen
#!/bin/sh
BASE_PATH="/mnt/wlan-client"
case "$reason" in
NOCARRIER)
# Check if wpa_supplicant is already running and exit if yes
wpa_cli status >/dev/null 2>&1 && exit 0
wpa_supplicant -iwlan0 -B -c "$BASE_PATH/wpa_supplicant.conf"
;;
STOPPED)
wpa_cli terminate
;;
BOUND|REBIND|REBOOT)
rm -f /tmp/resolv.conf
if [ -n "$new_domain_name_servers" ] ; then
for server in $new_domain_name_servers; do
echo "nameserver $server" >> /tmp/resolv.conf
done
fi
;;
esac
... und schliesslich noch die Konfiguration für wpa_supplicant (bereinigt um die echten Login-Informationen). Gehört nach $BASE_PATH/wpa_supplicant.conf
Code: Alles auswählen
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="...."
psk=...
}
Da kann man auch noch weitere Netzwerke eintragen (am einfachsten mit Hilfe von wpa_passphrase, ist auf dem TXT dabei), wpa_supplicant probiert die dann reihum durch bis eine Verbindung klappt.