1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-05 15:59:42 +02:00
openwrt-xburst/package/comgt/files/3g.usb
jow 8359c4e323 [package] comgt: add tty hotplug remove handling, only iterate each tty once (#9211)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26816 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-04 08:19:07 +00:00

43 lines
791 B
Bash

#!/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 ] || return 0
local auto
config_get_bool auto "$cfg" auto 1
[ "$auto" = 1 ] || [ "$ACTION" = remove ] || return 0
local dev
config_get dev "$cfg" device
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