diff options
Diffstat (limited to 'package/comgt/files/3g.button')
-rw-r--r-- | package/comgt/files/3g.button | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/package/comgt/files/3g.button b/package/comgt/files/3g.button new file mode 100644 index 000000000..54997d870 --- /dev/null +++ b/package/comgt/files/3g.button @@ -0,0 +1,35 @@ +button_action() {( + # use led for keeping track of the state + case "$(cat /proc/diag/led/3g_green)" in + 1) + ifdown "$1" + ifup wan + ;; + 0) + ifdown wan + ifup "$1" + ;; + esac +)} + +[ "$ACTION" = "released" -a "$BUTTON" = "3g" ] && { + (echo /bin/true > /proc/sys/kernel/hotplug) + + include /lib/network + scan_interfaces + config_cb() { + config_get TYPE "$CONFIG_SECTION" TYPE + case "$TYPE" in + interface) + config_get proto "$CONFIG_SECTION" proto + config_get button "$CONFIG_SECTION" button + case "$button" in + 1|on|enabled) [ "$proto" = "3g" ] && button_action "$CONFIG_SECTION";; + esac + ;; + esac + } + config_load network + + (echo /sbin/hotplug > /proc/sys/kernel/hotplug) +} & |