qmi: increase SIM power-cycle timeouts

Some modems and SIM cards take a bit longer to initialize after UIM has been
powered off. Waiting too little time can cause the qmi protocol to end up
in a loop repeatedly power-cycling the SIM card.

Avoid that by
 a) increasing the time we unconditionally sleep after --uim-power-on
 b) increasing the time we allow uqmi to wait for response for --uim-get-sim-state

Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18772
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Antti Seppälä 2025-05-10 13:54:56 +03:00 committed by Hauke Mehrtens
parent 32ed3db1a0
commit d63663601d

View file

@ -107,7 +107,7 @@ proto_qmi_setup() {
# Check if UIM application is stuck in illegal state
local uim_state_timeout=0
while true; do
json_load "$(uqmi -s -d "$device" -t 1000 --uim-get-sim-state)"
json_load "$(uqmi -s -d "$device" -t 2000 --uim-get-sim-state)"
json_get_var card_application_state card_application_state
# SIM card is either completely absent or state is labeled as illegal
@ -122,7 +122,7 @@ proto_qmi_setup() {
if [ "$uim_state_timeout" -lt "$timeout" ] || [ "$timeout" = "0" ]; then
let uim_state_timeout++
sleep 1
sleep 5
continue
fi