From: Lech Perczak Date: Sat, 12 Mar 2022 00:50:53 +0000 (+0100) Subject: uqmi: set CID during 'query-data-status' operation X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c8a88118af4602e9eb1b57434d9e2e2c57667e53;p=openwrt%2Fstaging%2Fnbd.git uqmi: set CID during 'query-data-status' operation Modems used in ZTE mobile broadband routers require to query the data session status using the same CID as one used to establish the session, otherwise they will report the session as "disconnected" despite reporting correct PDH in previous step. Without this change, IPv6 connection on these modems doesn't establish properly. In IPv4 this bug is present as well, but for some reason querying of IPv4 status works using temporary CID, this however seems noncompliant with QMI specifications, so fix it as well. Signed-off-by: Lech Perczak --- 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 156e57b135..ad577ea317 100755 --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh @@ -285,7 +285,7 @@ proto_qmi_setup() { fi # Check data connection state - connstat=$(uqmi -s -d "$device" --get-data-status) + connstat=$(uqmi -s -d "$device" --set-client-id wds,"$cid_4" --get-data-status) [ "$connstat" == '"connected"' ] || { echo "No data link!" uqmi -s -d "$device" --set-client-id wds,"$cid_4" --release-client-id wds > /dev/null 2>&1 @@ -322,7 +322,7 @@ proto_qmi_setup() { fi # Check data connection state - connstat=$(uqmi -s -d "$device" --get-data-status) + connstat=$(uqmi -s -d "$device" --set-client-id wds,"$cid_6" --get-data-status) [ "$connstat" == '"connected"' ] || { echo "No data link!" uqmi -s -d "$device" --set-client-id wds,"$cid_6" --release-client-id wds > /dev/null 2>&1