Here is a working switchaction that should work on most models:
#!/bin/sh
set_function(){
model=$(awk -F': ' '/machine/ {print tolower($NF)}' /proc/cpuinfo| cut -d- -f2-)
switch_left=
case "$model" in
"ar150")
switch_left=$(grep -o "BTN_8.*hi" /sys/kernel/debug/gpio)
;;
"ar300m")
switch_left=$(grep -o "left.*hi" /sys/kernel/debug/gpio)
;;
"mt300a")
switch_left=$(grep -o "BTN_1.*hi" /sys/kernel/debug/gpio)
;;
"mt300n")
switch_left=$(grep -o "BTN_0.*hi" /sys/kernel/debug/gpio)
;;
"mt300n-v2")
switch_left=$(grep -o "BTN_0.*hi" /sys/kernel/debug/gpio)
;;
"ar750s")
switch_left=$(grep -o "right.*lo" /sys/kernel/debug/gpio)
;;
"ar750")
switch_left=$(grep -o "sw1.*lo" /sys/kernel/debug/gpio)
;;
"*")
switch_disabled="1"
;;
esac
#if switch is on left
if [ -n "$switch_left" ]; then
wifi down
else
wifi up
fi
}
set_function