瀏覽代碼

uqmi: added timeout to fix hanging qmi.sh

Modems which are using qmi do not reply on the 1st sync but they do
on subsequent. So qmi.sh is hanging on the first call. Since 2020 uqmi
supports a timeout parameter. Unfortunately qmi.sh didn't make use of
this parameter. So qmi.sh is now invoking an early dummy access to
unlock the modem

Signed-off-by: Uwe Niethammer <[email protected]>
Uwe Niethammer 2 年之前
父節點
當前提交
32a696f9e4
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh

+ 2 - 0
package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh

@@ -83,6 +83,8 @@ proto_qmi_setup() {
 
 	echo "Waiting for SIM initialization"
 	local uninitialized_timeout=0
+	# timeout 3s for first call to avoid hanging uqmi
+	uqmi -d "$device" --get-pin-status -t 3000 > /dev/null 2>&1
 	while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do
 		[ -e "$device" ] || return 1
 		if [ "$uninitialized_timeout" -lt "$timeout" -o "$timeout" = "0" ]; then