From: Florian Eckert Date: Tue, 10 Apr 2018 13:56:24 +0000 (+0200) Subject: uqmi: do not block proto handler if SIM is uninitialized X-Git-Tag: v19.07.0-rc1~2344 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f171a86d064ac3fcfff05d286becae87c2e26b5f;p=oweals%2Fopenwrt.git uqmi: do not block proto handler if SIM is uninitialized QMI proto setup-handler will wait forever if SIM does not get initialized. To fix this stop polling pin status and notify netifd. Netifd will generate then a "ifup-failed" ACTION. Signed-off-by: Florian Eckert --- 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 f3c5487574..f6e964fb20 100755 --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh @@ -70,7 +70,15 @@ proto_qmi_setup() { while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do [ -e "$device" ] || return 1 - sleep 1; + if [ "$uninitialized_timeout" -lt "$timeout" ]; then + let uninitialized_timeout++ + sleep 1; + else + echo "SIM not initialized" + proto_notify_error "$interface" SIM_NOT_INITIALIZED + proto_block_restart "$interface" + return 1 + fi done [ -n "$pincode" ] && {