2010-07-04 21:11:34 +03:00
|
|
|
#!/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 ] && {
|
|
|
|
local auto
|
|
|
|
config_get_bool auto "$cfg" auto 1
|
|
|
|
[ "$auto" = 1 ] || return 0
|
|
|
|
|
|
|
|
local dev
|
|
|
|
config_get dev "$cfg" device
|
|
|
|
|
2011-05-03 22:45:55 +03:00
|
|
|
if [ "${dev##*/}" = "${tty##*/}" ] && [ -z "$(ls /var/lock | grep ${dev##*/})" ]; then
|
|
|
|
log "Starting interface $cfg for device ${dev##*/}"
|
|
|
|
( sleep 1; /sbin/ifup "$cfg" ) &
|
2010-07-04 21:11:34 +03:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$ACTION" = add ]; then
|
|
|
|
case "$DEVICENAME" in
|
2011-05-03 22:39:13 +03:00
|
|
|
tty*) config_load network;;
|
2010-07-04 21:11:34 +03:00
|
|
|
*) exit 0;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
local tty
|
2011-05-03 22:39:13 +03:00
|
|
|
for tty in /dev/ttyUSB* /dev/ttyACM* /dev/ttyHS*; do
|
|
|
|
[ -e "$tty" ] || continue
|
2010-07-04 21:11:34 +03:00
|
|
|
config_foreach find_3g_iface interface "$tty"
|
|
|
|
done
|
|
|
|
fi
|