mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	Hotplug manager send: "remove" -> "add" -> "bind" events, script interpret bind as "not add" = "remove" and mark device as unavailable. Signed-off-by: Rozhuk Ivan <rozhuk.im@gmail.com> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
		
			
				
	
	
		
			34 lines
		
	
	
		
			696 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			696 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| . /lib/functions.sh
 | |
| . /lib/netifd/netifd-proto.sh
 | |
| 
 | |
| find_3g_iface() {
 | |
| 	local cfg="$1"
 | |
| 	local tty="$2"
 | |
| 
 | |
| 	local proto
 | |
| 	config_get proto "$cfg" proto
 | |
| 	[ "$proto" = 3g ] || [ "$proto" = ncm ] || return 0
 | |
| 
 | |
| 	# bypass state vars here because 00-netstate could clobber .device
 | |
| 	local dev=$(uci_get network "$cfg" device)
 | |
| 
 | |
| 	if [ "${dev##*/}" = "${tty##*/}" ]; then
 | |
| 		if [ "$ACTION" = add ]; then
 | |
| 			proto_set_available "$cfg" 1
 | |
| 		fi
 | |
| 		if [ "$ACTION" = remove ]; then
 | |
| 			proto_set_available "$cfg" 0
 | |
| 		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
 | |
| 
 |