comgt: port 3g.sh to netifd
[openwrt/staging/chunkeey.git] / package / comgt / files-old / 3g.usb
diff --git a/package/comgt/files-old/3g.usb b/package/comgt/files-old/3g.usb
new file mode 100644 (file)
index 0000000..ba6c646
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+. /etc/functions.sh
+
+log() {
+       logger -t 3g-hotplug "$@"
+}
+
+find_3g_iface() {
+       local cfg="$1"
+       local tty="$2"
+
+       local proto
+       config_get proto "$cfg" proto
+       [ "$proto" = 3g ] || return 0
+
+       local auto
+       config_get_bool auto "$cfg" auto 1
+       [ "$auto" = 1 ] || [ "$ACTION" = remove ] || return 0
+
+       local dev
+       config_get dev "$cfg" device
+
+       if [ "${dev##*/}" = "${tty##*/}" ]; then
+               if [ "$ACTION" = add ]; then
+                       log "Starting interface $cfg for device ${dev##*/}"
+                       ( sleep 1; /sbin/ifup "$cfg" ) &
+               else
+                       log "Stopping interface $cfg for device ${dev##*/}"
+                       /sbin/ifdown "$cfg" &
+               fi
+       fi
+}
+
+case "$DEVICENAME" in
+       tty*)
+               [ -e "/dev/$DEVICENAME" ] || [ "$ACTION" = remove ] || exit 0
+               config_load network
+               config_foreach find_3g_iface interface "/dev/$DEVICENAME"
+       ;;
+esac
+