uqmi: do not block proto handler if modem is unable to registrate
QMI proto setup-handler will wait forever if it is unable to registrate to the mobile network. To fix this stop polling network registration status and notify netifd. Netifd will generate then a "ifup-failed" ACTION. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
parent
dee93def39
commit
dec1bfa0f4
1 changed files with 10 additions and 1 deletions
|
@ -123,9 +123,18 @@ proto_qmi_setup() {
|
||||||
uqmi -s -d "$device" --sync > /dev/null 2>&1
|
uqmi -s -d "$device" --sync > /dev/null 2>&1
|
||||||
|
|
||||||
echo "Waiting for network registration"
|
echo "Waiting for network registration"
|
||||||
|
local registration_timeout=0
|
||||||
while uqmi -s -d "$device" --get-serving-system | grep '"searching"' > /dev/null; do
|
while uqmi -s -d "$device" --get-serving-system | grep '"searching"' > /dev/null; do
|
||||||
[ -e "$device" ] || return 1
|
[ -e "$device" ] || return 1
|
||||||
sleep 5;
|
if [ "$registration_timeout" -lt "$timeout" ]; then
|
||||||
|
let registration_timeout++
|
||||||
|
sleep 1;
|
||||||
|
else
|
||||||
|
echo "Network registration failed"
|
||||||
|
proto_notify_error "$interface" NETWORK_REGISTRATION_FAILED
|
||||||
|
proto_block_restart "$interface"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
[ -n "$modes" ] && uqmi -s -d "$device" --set-network-modes "$modes" > /dev/null 2>&1
|
[ -n "$modes" ] && uqmi -s -d "$device" --set-network-modes "$modes" > /dev/null 2>&1
|
||||||
|
|
Loading…
Reference in a new issue