mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
4821ff064b
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
|
|
|