diff options
author | John Crispin <john@openwrt.org> | 2014-10-08 08:00:07 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2014-10-08 08:00:07 +0000 |
commit | 2fa06954a315df50cd4125b6d49a04e9aec707ee (patch) | |
tree | 723cd4cf5db41c6d50d93979a8c878b365713e86 /package/network | |
parent | e28c5f86f389392a6e986cf24c41d6dd4d790c5f (diff) | |
download | upstream-2fa06954a315df50cd4125b6d49a04e9aec707ee.tar.gz upstream-2fa06954a315df50cd4125b6d49a04e9aec707ee.tar.bz2 upstream-2fa06954a315df50cd4125b6d49a04e9aec707ee.zip |
umbim: work out the ifname instead of relying on it being in uci
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 42832
Diffstat (limited to 'package/network')
-rwxr-xr-x | package/network/utils/umbim/files/lib/netifd/proto/mbim.sh | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh index a777c9bd60..46802f2d3c 100755 --- a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh +++ b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh @@ -7,6 +7,8 @@ init_proto "$@" #DBG=-v proto_mbim_init_config() { + available=1 + no_device=1 proto_config_add_string "device:device" proto_config_add_string apn proto_config_add_string pincode @@ -36,6 +38,18 @@ proto_mbim_setup() { proto_block_restart "$interface" return 1 } + + devname="$(basename "$device")" + devpath="$(readlink -f /sys/class/usbmisc/$devname/device/)" + ifname="$( ls "$devpath"/net )" + + [ -n "$ifname" ] || { + logger -p daemon.err -t "mbim[$$]" "Failed to find matching interface" + proto_notify_error "$interface" NO_IFNAME + proto_set_available "$interface" 0 + return 1 + } + [ -n "$apn" ] || { logger -p daemon.err -t "mbim[$$]" "No APN specified" proto_notify_error "$interface" NO_APN @@ -116,14 +130,14 @@ proto_mbim_setup() { json_init json_add_string name "${interface}_dhcp" - json_add_string ifname "@$interface" + json_add_string ifname "$ifname" json_add_string proto "dhcp" json_close_object ubus call network add_dynamic "$(json_dump)" json_init json_add_string name "${interface}_dhcpv6" - json_add_string ifname "@$interface" + json_add_string ifname "$ifname" json_add_string proto "dhcpv6" ubus call network add_dynamic "$(json_dump)" } |