From: Thomas Equeter Date: Thu, 16 Aug 2018 19:39:05 +0000 (+0200) Subject: uqmi: wait for the control device too X-Git-Tag: v18.06.2~395 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cd49f57ff7f66588c9ad0b5ec66b9ef668a5d69d;p=oweals%2Fopenwrt.git 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 --- 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;