X-Git-Url: http://git.ozo.com/?p=openwrt-10.03%2F.git;a=blobdiff_plain;f=package%2Fcomgt%2Ffiles%2F3g.usb;h=ba6c64617786a9b7a99a80ee97c72c86a965f1c5;hp=c52646b3dde3a21d31185a78f89e7cb9b4652b99;hb=33e62bd5c5da1c9bcb6e462ed3e89e372c5df6fe;hpb=24b656f1a38e6cc3ba150d6f21cde2329008970a diff --git a/package/comgt/files/3g.usb b/package/comgt/files/3g.usb index c52646b3d..ba6c64617 100644 --- a/package/comgt/files/3g.usb +++ b/package/comgt/files/3g.usb @@ -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*; do - [ -d "$tty" ] || break - config_foreach find_3g_iface interface "$tty" - done -fi