um das Wlan per Skript abzuschalten habe ich folgendes Skript benutzt. Seit dem update auf die .80er Firmware (FB 7170) geht dieser nicht mehr. Den Ursprungstread könnte ich nicht mehr finden. Es wäre schön wenn mir jemand mit diesem Skript helfen könnte.
Code:
#!/bin/sh
# by cuma @09501
echo -ne "\n\t[[ Wlan-Switcher ]]\t\t"
already()
{
echo -e "Wlan already << $status >>\n"
exit 1
}
setmode()
{
[ $1 -eq 0 ] && a=deaktiviert || a=aktiviert
[ $1 -eq 1 ] && b=on || b=off
eventadd 1 "WLAN wurde über WLS $a."
echo -ne "Wlan is switching << $b >> ..."
#cat /var/flash/wlan.cfg | sed 's/ap_enabled = .;/ap_enabled = '${1}';/' >/var/flash/wlan.cfg
#/bin/wlancfgchanged >/dev/null 2>&1
hd="POST /cgi-bin/webcm HTTP/1.1\nHost: 127.0.0.1\nContent-Type: application/x-www-form-urlencoded\n"
pass=`allcfgconv -C ar7 -c -o - | sed -n -e '/webui/,/}/p' | grep password | sed 's/\";//;s/^.*\"//'`
if [ -n "$pass" ]; then
qu="login:command/password=$pass"
ln="Content-Length: ${#qu}"
echo -e "${hd}${ln}\n\n${qu}\n" |telnet 127.0.0.1 80
fi
echo -e "${hd}Content-Length: 26\n\nwlan:settings/ap_enabled=${1}\n" |telnet 127.0.0.1 80
echo -e "\n"
}
[ "`echo wlancfg.ap_enabled | wlancfgctl -s 2> /dev/null`" -eq 1 ] && status=started || status=stopped
case "$1" in
start)
[ $status == "${1}ed" ] && already
setmode 1
;;
stop)
[ $status == "${1}ped" ] && already
setmode 0
;;
status)
echo -e "Wlan is << $status >>\n"
[ "$status" == "started" ] && exit 2 || exit 3
;;
switch)
[ "$status" == "stopped" ] && setmode 1 || setmode 0
;;
*)
echo -e "Usage: $0 <status|start|stop|switch>\n"
exit 1
;;
esac