[package] comgt: move ifup invocation back into background subshell to prevent hotplu...
[openwrt.git] / package / comgt / files / 3g.usb
index d5a38b8..590cad4 100644 (file)
@@ -21,8 +21,8 @@ find_3g_iface() {
                local dev
                config_get dev "$cfg" device
 
-               if [ "${dev##*/}" = "${tty##*/}" ]; then
-                       log "Starting interface $cfg for device ${tty##*/}"
+               if [ "${dev##*/}" = "${tty##*/}" ] && [ -z "$(ls /var/lock | grep ${dev##*/})" ]; then
+                       log "Starting interface $cfg for device ${dev##*/}"
                        ( sleep 1; /sbin/ifup "$cfg" ) &
                fi
        }
@@ -31,13 +31,13 @@ find_3g_iface() {
 
 if [ "$ACTION" = add ]; then
        case "$DEVICENAME" in
-               *-*:*.*) config_load network;;
+               tty*) 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
+       for tty in /dev/ttyUSB* /dev/ttyACM* /dev/ttyHS*; do
+               [ -e "$tty" ] || continue
                config_foreach find_3g_iface interface "$tty"
        done
 fi