mirror of https://github.com/hak5/openwrt.git
comgt: add tty hotplug remove handling, only iterate each tty once (#9211)
SVN-Revision: 26816lede-17.01
parent
bba138c671
commit
9736cfef66
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=comgt
|
PKG_NAME:=comgt
|
||||||
PKG_VERSION:=0.32
|
PKG_VERSION:=0.32
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=9
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
|
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
|
||||||
PKG_SOURCE_URL:=@SF/comgt
|
PKG_SOURCE_URL:=@SF/comgt
|
||||||
|
|
|
@ -12,32 +12,31 @@ find_3g_iface() {
|
||||||
|
|
||||||
local proto
|
local proto
|
||||||
config_get proto "$cfg" proto
|
config_get proto "$cfg" proto
|
||||||
|
[ "$proto" = 3g ] || return 0
|
||||||
|
|
||||||
[ "$proto" = 3g ] && {
|
local auto
|
||||||
local auto
|
config_get_bool auto "$cfg" auto 1
|
||||||
config_get_bool auto "$cfg" auto 1
|
[ "$auto" = 1 ] || [ "$ACTION" = remove ] || return 0
|
||||||
[ "$auto" = 1 ] || return 0
|
|
||||||
|
|
||||||
local dev
|
local dev
|
||||||
config_get dev "$cfg" device
|
config_get dev "$cfg" device
|
||||||
|
|
||||||
if [ "${dev##*/}" = "${tty##*/}" ] && [ -z "$(ls /var/lock | grep ${dev##*/})" ]; then
|
if [ "${dev##*/}" = "${tty##*/}" ]; then
|
||||||
|
if [ "$ACTION" = add ]; then
|
||||||
log "Starting interface $cfg for device ${dev##*/}"
|
log "Starting interface $cfg for device ${dev##*/}"
|
||||||
( sleep 1; /sbin/ifup "$cfg" ) &
|
( sleep 1; /sbin/ifup "$cfg" ) &
|
||||||
|
else
|
||||||
|
log "Stopping interface $cfg for device ${dev##*/}"
|
||||||
|
/sbin/ifdown "$cfg" &
|
||||||
fi
|
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
|
|
||||||
tty*) config_load network;;
|
|
||||||
*) exit 0;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
local tty
|
|
||||||
for tty in /dev/ttyUSB* /dev/ttyACM* /dev/ttyHS*; do
|
|
||||||
[ -e "$tty" ] || continue
|
|
||||||
config_foreach find_3g_iface interface "$tty"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
Loading…
Reference in New Issue