| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/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##*/}" ]; then
- log "Starting interface $cfg for device ${tty##*/}"
- ( sleep 1; /sbin/ifup "$cfg" ) &
- fi
- }
- }
- if [ "$ACTION" = add ]; then
- case "$DEVICENAME" in
- *-*:*.*) config_load network;;
- *) exit 0;;
- esac
- local tty
- for tty in /sys/$DEVPATH/ttyUSB* /sys/$DEVPATH/tty/ttyACM*;; do
- [ -d "$tty" ] || continue
- config_foreach find_3g_iface interface "$tty"
- done
- fi
|