diff options
Diffstat (limited to 'package/network/utils/umbim')
-rwxr-xr-x | package/network/utils/umbim/files/lib/netifd/proto/mbim.sh | 54 |
1 files changed, 25 insertions, 29 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 e7866340ae..9af5b69ac1 100755 --- a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh +++ b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh @@ -171,15 +171,15 @@ _proto_mbim_setup() { local zone="$(fw3 -q network "$interface" 2>/dev/null)" - if [ -z "$dhcp" -o "$dhcp" = 0 ]; then - echo "mbim[$$]" "Setting up $ifname" - eval $(umbim $DBG -n -t $tid -d $device config | sed 's/: /=/g') - tid=$((tid + 1)) + echo "mbim[$$]" "Setting up $ifname" + eval $(umbim $DBG -n -t $tid -d $device config | sed 's/: /=/g') + tid=$((tid + 1)) - proto_init_update "$ifname" 1 - proto_send_update "$interface" + proto_init_update "$ifname" 1 + proto_send_update "$interface" - [ "$iptype" != "ipv6" ] && { + [ "$iptype" != "ipv6" ] && { + if [ -z "$dhcp" -o "$dhcp" = 0 ]; then json_init json_add_string name "${interface}_4" json_add_string ifname "@$interface" @@ -195,9 +195,21 @@ _proto_mbim_setup() { [ -n "$zone" ] && json_add_string zone "$zone" json_close_object ubus call network add_dynamic "$(json_dump)" - } + else + echo "mbim[$$]" "Starting DHCP on $ifname" + json_init + json_add_string name "${interface}_4" + json_add_string ifname "@$interface" + json_add_string proto "dhcp" + proto_add_dynamic_defaults + [ -n "$zone" ] && json_add_string zone "$zone" + json_close_object + ubus call network add_dynamic "$(json_dump)" + fi + } - [ "$iptype" != "ipv4" ] && { + [ "$iptype" != "ipv4" ] && { + if [ -z "$dhcp" -o "$dhcp" = 0 ]; then json_init json_add_string name "${interface}_6" json_add_string ifname "@$interface" @@ -213,24 +225,8 @@ _proto_mbim_setup() { [ -n "$zone" ] && json_add_string zone "$zone" json_close_object ubus call network add_dynamic "$(json_dump)" - } - else - echo "mbim[$$]" "Starting DHCP on $ifname" - proto_init_update "$ifname" 1 - proto_send_update "$interface" - - [ "$pdptype" = "ipv4" -o "$pdptype" = "ipv4v6" ] && { - json_init - json_add_string name "${interface}_4" - json_add_string ifname "@$interface" - json_add_string proto "dhcp" - proto_add_dynamic_defaults - [ -n "$zone" ] && json_add_string zone "$zone" - json_close_object - ubus call network add_dynamic "$(json_dump)" - } - - [ "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && { + else + echo "mbim[$$]" "Starting DHCPv6 on $ifname" json_init json_add_string name "${interface}_6" json_add_string ifname "@$interface" @@ -240,8 +236,8 @@ _proto_mbim_setup() { [ -n "$zone" ] && json_add_string zone "$zone" json_close_object ubus call network add_dynamic "$(json_dump)" - } - fi + fi + } uci_set_state network $interface tid "$tid" } |