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 <fe@dev.tdt.de>
(backported from f171a86d06)
openwrt-18.06
Florian Eckert 2018-04-10 15:56:24 +02:00 committed by Jo-Philipp Wich
parent 1e012fd697
commit 5a3810b386
1 changed files with 9 additions and 1 deletions

View File

@ -72,7 +72,15 @@ proto_qmi_setup() {
local uninitialized_timeout=0
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" ] && {