firmware/general/package/wireless-configuration/files/wireless

75 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
WPA_FILE=/etc/wireless.conf
WPA_TEMP=/tmp/wpa_supplicant.conf
if [ -e "$WPA_FILE" ]; then
WPA_SSID=$(sed -n "1p" $WPA_FILE)
WPA_PASS=$(sed -n "2p" $WPA_FILE)
WPA_MODE=$(sed -n "3p" $WPA_FILE)
fi
if [ -z "$WPA_SSID" ] || [ -z "$WPA_PASS" ] || [ "$WPA_MODE" != "client" ]; then
WPA_SSID=OpenIPC
WPA_PASS=12345678
WPA_MODE=server
rm -f "$WPA_FILE"
fi
case "$PHASE" in
post-up)
wpa_passphrase "$WPA_SSID" "$WPA_PASS" > $WPA_TEMP
if [ "$WPA_MODE" = "server" ]; then
sed -i '2i \\tmode=2' $WPA_TEMP
timeout 5m udhcpd -f &> /dev/null &
timeout 5m wpa_supplicant -i wlan0 -c $WPA_TEMP &> /dev/null &
else
sed -i '2i \\tscan_ssid=1' $WPA_TEMP
wpa_supplicant -B -i wlan0 -c $WPA_TEMP
fi
ifdown -f eth0
exit 0
;;
post-down)
killall -q udhcpd
killall -q wpa_supplicant
exit 0
;;
esac
case "$1" in
connect)
ifdown wlan0
ifup wlan0
;;
reset)
rm -f "$WPA_FILE"
;;
setup)
if [ -z "$2" ] || [ -z "$3" ]; then
echo wireless setup [SSID] [PASS]
exit 0
fi
rm -f "$WPA_FILE"
echo "$2" >> "$WPA_FILE"
echo "$3" >> "$WPA_FILE"
echo "client" >> "$WPA_FILE"
echo SSID: "$2"
echo PASS: "$3"
;;
show)
echo SSID: "$WPA_SSID"
echo PASS: "$WPA_PASS"
;;
*)
echo wireless connect
echo wireless reset
echo wireless setup
echo wireless show
;;
esac