aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/utils
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/utils')
-rwxr-xr-xpackage/network/utils/umbim/files/lib/netifd/proto/mbim.sh14
1 files changed, 10 insertions, 4 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 c6fa6665ef..c5f3663271 100755
--- a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh
+++ b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh
@@ -149,10 +149,13 @@ _proto_mbim_setup() {
tid=$((tid + 1))
pdptype=$(echo "$pdptype" | awk '{print tolower($0)}')
- [ "$pdptype" = "ipv4" -o "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] || pdptype="ipv4v6"
+ local req_pdptype="" # Pass "default" PDP type to umbim if unconfigured
+ [ "$pdptype" = "ipv4" -o "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && req_pdptype="$pdptype:"
+
+ local connect_state
echo "mbim[$$]" "Connect to network"
- umbim $DBG -n -t $tid -d $device connect "$pdptype:$apn" "$auth" "$username" "$password" || {
+ connect_state=$(umbim $DBG -n -t $tid -d $device connect "$req_pdptype$apn" "$auth" "$username" "$password") || {
echo "mbim[$$]" "Failed to connect bearer"
tid=$((tid + 1))
umbim $DBG -t $tid -d "$device" disconnect
@@ -161,6 +164,9 @@ _proto_mbim_setup() {
}
tid=$((tid + 1))
+ echo "$connect_state"
+ local iptype="$(echo "$connect_state" | grep iptype: | awk '{print $4}')"
+
echo "mbim[$$]" "Connected"
if [ "$dhcp" = 0 ]; then
@@ -171,7 +177,7 @@ _proto_mbim_setup() {
proto_init_update "$ifname" 1
proto_send_update "$interface"
- [ "$pdptype" = "ipv4" -o "$pdptype" = "ipv4v6" ] && {
+ [ "$iptype" != "ipv6" ] && {
json_init
json_add_string name "${interface}_4"
json_add_string ifname "@$interface"
@@ -188,7 +194,7 @@ _proto_mbim_setup() {
ubus call network add_dynamic "$(json_dump)"
}
- [ "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && {
+ [ "$iptype" != "ipv4" ] && {
json_init
json_add_string name "${interface}_6"
json_add_string ifname "@$interface"