umbim: work out the ifname instead of relying on it being in uci
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42832 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
aacd95e1f5
commit
ea6820d0cc
|
@ -7,6 +7,8 @@ init_proto "$@"
|
||||||
#DBG=-v
|
#DBG=-v
|
||||||
|
|
||||||
proto_mbim_init_config() {
|
proto_mbim_init_config() {
|
||||||
|
available=1
|
||||||
|
no_device=1
|
||||||
proto_config_add_string "device:device"
|
proto_config_add_string "device:device"
|
||||||
proto_config_add_string apn
|
proto_config_add_string apn
|
||||||
proto_config_add_string pincode
|
proto_config_add_string pincode
|
||||||
|
@ -36,6 +38,18 @@ proto_mbim_setup() {
|
||||||
proto_block_restart "$interface"
|
proto_block_restart "$interface"
|
||||||
return 1
|
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" ] || {
|
[ -n "$apn" ] || {
|
||||||
logger -p daemon.err -t "mbim[$$]" "No APN specified"
|
logger -p daemon.err -t "mbim[$$]" "No APN specified"
|
||||||
proto_notify_error "$interface" NO_APN
|
proto_notify_error "$interface" NO_APN
|
||||||
|
@ -116,14 +130,14 @@ proto_mbim_setup() {
|
||||||
|
|
||||||
json_init
|
json_init
|
||||||
json_add_string name "${interface}_dhcp"
|
json_add_string name "${interface}_dhcp"
|
||||||
json_add_string ifname "@$interface"
|
json_add_string ifname "$ifname"
|
||||||
json_add_string proto "dhcp"
|
json_add_string proto "dhcp"
|
||||||
json_close_object
|
json_close_object
|
||||||
ubus call network add_dynamic "$(json_dump)"
|
ubus call network add_dynamic "$(json_dump)"
|
||||||
|
|
||||||
json_init
|
json_init
|
||||||
json_add_string name "${interface}_dhcpv6"
|
json_add_string name "${interface}_dhcpv6"
|
||||||
json_add_string ifname "@$interface"
|
json_add_string ifname "$ifname"
|
||||||
json_add_string proto "dhcpv6"
|
json_add_string proto "dhcpv6"
|
||||||
ubus call network add_dynamic "$(json_dump)"
|
ubus call network add_dynamic "$(json_dump)"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue