[backfire] merge r26809, r26810 and r26816
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 8 May 2011 10:32:23 +0000 (10:32 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 8 May 2011 10:32:23 +0000 (10:32 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@26849 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/comgt/Makefile
package/comgt/files/3g.usb

index 458c132c8bf31275a11b9c4496f30e0c38ed121f..a2463043cf1c549502bdc1032f7b9fabd3bcac00 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=comgt
 PKG_VERSION:=0.32
-PKG_RELEASE:=8
+PKG_RELEASE:=9
 
 PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=@SF/comgt
@@ -54,8 +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/hotplug.d/tty
+       $(INSTALL_DATA) ./files/3g.usb $(1)/etc/hotplug.d/tty/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
index d5a38b8a4ccfdd38723bd89c3cb1c194f0414626..ba6c64617786a9b7a99a80ee97c72c86a965f1c5 100644 (file)
@@ -12,32 +12,31 @@ find_3g_iface() {
 
        local proto
        config_get proto "$cfg" proto
+       [ "$proto" = 3g ] || return 0
 
-       [ "$proto" = 3g ] && {
-               local auto
-               config_get_bool auto "$cfg" auto 1
-               [ "$auto" = 1 ] || return 0
+       local auto
+       config_get_bool auto "$cfg" auto 1
+       [ "$auto" = 1 ] || [ "$ACTION" = remove ] || return 0
 
-               local dev
-               config_get dev "$cfg" device
+       local dev
+       config_get dev "$cfg" device
 
-               if [ "${dev##*/}" = "${tty##*/}" ]; then
-                       log "Starting interface $cfg for device ${tty##*/}"
+       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
 
-if [ "$ACTION" = add ]; then
-       case "$DEVICENAME" in
-               *-*:*.*) config_load network;;
-               *) exit 0;;
-       esac
-
-       local tty
-       for tty in /sys/$DEVPATH/ttyUSB* /sys/$DEVPATH/tty/ttyACM* /sys/$DEVPATH/tty/ttyHS*; do
-               [ -d "$tty" ] || continue
-               config_foreach find_3g_iface interface "$tty"
-       done
-fi