diff options
author | Thomas Equeter <tequeter@users.noreply.github.com> | 2018-08-16 21:39:05 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-08-29 13:10:12 +0200 |
commit | acedce1d79e238be7ad8fcd8f82ef5a7db0bc929 (patch) | |
tree | aebff573ac0d811760da925b068fddecdf1341b7 /package/network/utils/uqmi/files | |
parent | 7aa5dc46ee79c095e53f2b8e19c640cee8a58e0f (diff) | |
download | upstream-acedce1d79e238be7ad8fcd8f82ef5a7db0bc929.tar.gz upstream-acedce1d79e238be7ad8fcd8f82ef5a7db0bc929.tar.bz2 upstream-acedce1d79e238be7ad8fcd8f82ef5a7db0bc929.zip |
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 <tequeter@users.noreply.github.com>
Diffstat (limited to 'package/network/utils/uqmi/files')
-rwxr-xr-x | package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 4 |
1 files 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; |