You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

43 lines
760 B

#!/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
if [ "${dev##*/}" = "${tty##*/}" ] && [ -z "$(ls /var/lock | grep ${dev##*/})" ]; then
log "Starting interface $cfg for device ${dev##*/}"
( sleep 1; /sbin/ifup "$cfg" ) &
fi
}
}
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