comgt: port 3g.sh to netifd
[openwrt/openwrt.git] / package / comgt / files-netifd / 3g.usb
diff --git a/package/comgt/files-netifd/3g.usb b/package/comgt/files-netifd/3g.usb
new file mode 100644 (file)
index 0000000..d3859c2
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+. /etc/functions.sh
+. /lib/netifd/netifd-proto.sh
+
+find_3g_iface() {
+       local cfg="$1"
+       local tty="$2"
+
+       local proto
+       config_get proto "$cfg" proto
+       [ "$proto" = 3g ] || return 0
+
+       local dev
+       config_get dev "$cfg" device
+
+       if [ "${dev##*/}" = "${tty##*/}" ]; then
+               if [ "$ACTION" = add ]; then
+                       available=1
+               else
+                       available=0
+               fi
+               proto_set_available "$cfg" $available
+       fi
+}
+
+case "$DEVICENAME" in
+       tty*)
+               [ -e "/dev/$DEVICENAME" ] || [ "$ACTION" = remove ] || exit 0
+               config_load network
+               config_foreach find_3g_iface interface "/dev/$DEVICENAME"
+       ;;
+esac
+