#!/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