3g.button 740 B

123456789101112131415161718192021222324252627282930313233343536
  1. button_action() {(
  2. # use led for keeping track of the state
  3. case "$(cat /proc/diag/led/3g_green)" in
  4. 1)
  5. ifdown "$1"
  6. ifup wan
  7. ;;
  8. 0)
  9. ifdown wan
  10. ifup "$1"
  11. ;;
  12. esac
  13. )}
  14. [ "$ACTION" = "released" -a "$BUTTON" = "3g" ] && {
  15. HOTPLUG="$(cat /proc/sys/kernel/hotplug)"
  16. (echo /bin/true > /proc/sys/kernel/hotplug)
  17. include /lib/network
  18. scan_interfaces
  19. config_cb() {
  20. config_get TYPE "$CONFIG_SECTION" TYPE
  21. case "$TYPE" in
  22. interface)
  23. config_get proto "$CONFIG_SECTION" proto
  24. config_get button "$CONFIG_SECTION" button
  25. case "$button" in
  26. 1|on|enabled) [ "$proto" = "3g" ] && button_action "$CONFIG_SECTION";;
  27. esac
  28. ;;
  29. esac
  30. }
  31. config_load network
  32. (echo $HOTPLUG > /proc/sys/kernel/hotplug)
  33. } &