mirror of https://github.com/OpenIPC/firmware.git
82 lines
1.4 KiB
Bash
Executable File
82 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
|
|
pre-up)
|
|
/etc/network/adapter
|
|
wpa_passphrase "$WPA_SSID" "$WPA_PASS" > $WPA_TEMP
|
|
if [ "$WPA_MODE" = "server" ]; then
|
|
sed -i '2i \\tmode=2' $WPA_TEMP
|
|
else
|
|
sed -i '2i \\tscan_ssid=1' $WPA_TEMP
|
|
fi
|
|
exit 0
|
|
;;
|
|
|
|
post-up)
|
|
if [ "$WPA_MODE" = "server" ]; then
|
|
timeout 3m udhcpd -f &> /dev/null &
|
|
timeout 3m wpa_supplicant -i wlan0 -c $WPA_TEMP &> /dev/null &
|
|
else
|
|
wpa_supplicant -B -i wlan0 -c $WPA_TEMP
|
|
fi
|
|
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
|