From acedce1d79e238be7ad8fcd8f82ef5a7db0bc929 Mon Sep 17 00:00:00 2001 From: Thomas Equeter Date: Thu, 16 Aug 2018 21:39:05 +0200 Subject: [PATCH] uqmi: wait for the control device too The control device /dev/cdc-wdm0 is not available immediately on the D-Link DWR-921 Rev.C3, therefore the wwan interface fails to start at boot with a "The specified control device does not exist" error. This patch alters /lib/netifd/proto/qmi.sh to wait for network.wwan.delay earlier, before checking for the control device, instead of just before interacting with the modem. One still has to use network.wwan.proto='qmi', as the "wwan" proto performs that sort of check before any delay is possible, failing with a "No valid device was found" error. Signed-off-by: Thomas Equeter --- package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 38d83ace5f..05055b1484 100755 --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh @@ -44,6 +44,8 @@ proto_qmi_setup() { return 1 } + [ -n "$delay" ] && sleep "$delay" + device="$(readlink -f $device)" [ -c "$device" ] || { echo "The specified control device does not exist" @@ -62,8 +64,6 @@ proto_qmi_setup() { return 1 } - [ -n "$delay" ] && sleep "$delay" - while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do [ -e "$device" ] || return 1 sleep 1;