[openwrt/openwrt] uqmi: use built-in command for data-link verification
LEDE Commits
lede-commits at lists.infradead.org
Tue Feb 13 01:02:47 PST 2018
blogic pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/da8990e717e1e8704e08c1f75484352397c22231
commit da8990e717e1e8704e08c1f75484352397c22231
Author: Koen Vandeputte <koen.vandeputte at ncentric.com>
AuthorDate: Wed Feb 7 13:23:28 2018 +0100
uqmi: use built-in command for data-link verification
uqmi contains a command for directly querying the modem if there
is a valid data connection, so let's use it.
This avoids the cases were all previous tests are succesful, but the
actual data link is not up for some reasons, leading to states were we
thought the link was up when it actually wasn't ..
Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
---
.../network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
index bdab5ee..c3da5ed 100755
--- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
+++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
@@ -27,7 +27,7 @@ proto_qmi_init_config() {
proto_qmi_setup() {
local interface="$1"
- local dataformat
+ local dataformat connstat
local device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn $PROTO_DEFAULT_OPTIONS
local cid_4 pdh_4 cid_6 pdh_6
local ip_6 ip_prefix_length gateway_6 dns1_6 dns2_6
@@ -164,6 +164,15 @@ proto_qmi_setup() {
proto_notify_error "$interface" CALL_FAILED
return 1
fi
+
+ # Check data connection state
+ connstat=$(uqmi -s -d "$device" --get-data-status)
+ [ "$connstat" == '"connected"' ] || {
+ echo "No data link!"
+ uqmi -s -d "$device" --set-client-id wds,"$cid_4" --release-client-id wds
+ proto_notify_error "$interface" CALL_FAILED
+ return 1
+ }
}
[ "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && {
@@ -192,6 +201,15 @@ proto_qmi_setup() {
proto_notify_error "$interface" CALL_FAILED
return 1
fi
+
+ # Check data connection state
+ connstat=$(uqmi -s -d "$device" --get-data-status)
+ [ "$connstat" == '"connected"' ] || {
+ echo "No data link!"
+ uqmi -s -d "$device" --set-client-id wds,"$cid_6" --release-client-id wds
+ proto_notify_error "$interface" CALL_FAILED
+ return 1
+ }
}
echo "Setting up $ifname"
More information about the lede-commits
mailing list