WLAN mit WPA2 auf dem Freerunner zum laufen bekommen

Zum Einrichten von WLAN benötigen wir erst einmal USB Networking, aber wie das funktioniert habe ich ja im letzten Artikel erklärt. Nachdem wir uns dann per SSH in das Freerunner eingeloggt haben erstellen wir zuerst die Datei /etc/wpa_supplicant/wpa_supplicant.conf. In diese Datei schreiben wir diesem Inhalt:

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1

# WPA2:
network={
ssid=“Unsere SSID“
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=TKIP CCMP
psk=“Der geheime Schlüssel“
priority=50
}

# Open:
network={
ssid=“Unsere SSID“
key_mgmt=NONE
priority=5
}

Damit das WLAN auch automatisch startet legen wir im nächsten Schritt die Datei /etc/init.d/wlan an. In diese Datei schreiben wir folgenen Inhalt:

#!/bin/sh
#
# wlan This shell script starts and stops wlan.
#
# processname: wlan

# Source function library.
#. /etc/rc.d/init.d/functions
# „written“ by HdR (very ugly)

RETVAL=0
prog=“wlan“

# test -f /etc/default/$prog && . /etc/default/$prog

start() {
echo -n „Starting $prog: “
ifconfig eth0 up
wpa_supplicant -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B
sleep 10
udhcpc eth0
RETVAL=$?
return $RETVAL
}

stop() {
# Stop daemons.
echo -n „Shutting down $prog: “
killall wpa_supplicant
ifconfig eth0 down
# killproc gpsd
RETVAL=$?
return $RETVAL
}

# See how we were called.
case „$1“ in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
*)
echo „Usage: $0 {start|stop|restart}“
exit 1
esac

exit $RETVAL

Damit das Skript ausgeführt werden kann muss es als „Ausführbar“ gekennzeichnet werden. Dies bewerkstelligen wir mit chmod 755 /etc/init.d/wlan. Als nächstes erstellen wir die Datei /etc/rcS.d/S42wlan.sh und machen Sie ausführbar mit dem bekannten chmod 755 /etc/rcS.d/S42wlan.sh. Der Inhalt der Datei sollte wie folgt aussehen:

#!/bin/sh
/etc/init.d/wlan start &

Nun verbindet sich das Freerunner automatisch mit dem heimischen Netzwerk. Weitere Informationen gibt es unter http://wiki.openmoko.org/wiki/GTA02_wlan.