[backfire] merge r22061
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 15 Mar 2011 09:13:32 +0000 (09:13 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 15 Mar 2011 09:13:32 +0000 (09:13 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@26176 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/comgt/Makefile
package/comgt/files/3g.usb [new file with mode: 0644]

index adef16160ab5389dcfc5ebd3fc5d5b92e7a6a444..e8ce8d44853d893571e96b60ae2bc6a9fa4bc4c8 100644 (file)
@@ -54,6 +54,8 @@ define Package/comgt/install
        $(INSTALL_DATA) ./files/3g.button $(1)/etc/hotplug.d/button/05-3g
        $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
        $(INSTALL_DATA) ./files/3g.iface $(1)/etc/hotplug.d/iface/05-3g
+       $(INSTALL_DIR) $(1)/etc/hotplug.d/usb
+       $(INSTALL_DATA) ./files/3g.usb $(1)/etc/hotplug.d/usb/30-3g
        $(INSTALL_DIR) $(1)/etc/gcom
        $(INSTALL_DATA) ./files/setpin.gcom $(1)/etc/gcom/setpin.gcom
        $(INSTALL_DATA) ./files/setmode.gcom $(1)/etc/gcom/setmode.gcom
diff --git a/package/comgt/files/3g.usb b/package/comgt/files/3g.usb
new file mode 100644 (file)
index 0000000..c52646b
--- /dev/null
@@ -0,0 +1,43 @@
+#!/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 ] && {
+               local auto
+               config_get_bool auto "$cfg" auto 1
+               [ "$auto" = 1 ] || return 0
+
+               local dev
+               config_get dev "$cfg" device
+
+               if [ "${dev##*/}" = "${tty##*/}" ]; then
+                       log "Starting interface $cfg for device ${tty##*/}"
+                       ( sleep 1; /sbin/ifup "$cfg" ) &
+               fi
+       }
+}
+
+
+if [ "$ACTION" = add ]; then
+       case "$DEVICENAME" in
+               *-*:*.*) config_load network;;
+               *) exit 0;;
+       esac
+
+       local tty
+       for tty in /sys/$DEVPATH/ttyUSB*; do
+               [ -d "$tty" ] || break
+               config_foreach find_3g_iface interface "$tty"
+       done
+fi