44 lines
		
	
	
		
			698 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			698 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 ] && {
 | 
						|
		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*; do
 | 
						|
		[ -d "$tty" ] || break
 | 
						|
		config_foreach find_3g_iface interface "$tty"
 | 
						|
	done
 | 
						|
fi
 |