uqmi: skip registration state check if not supported

The Quectel RG255C modem used in the Teltonika RUT976 does not support
the 'Get Serving System' QMI command, returning "Invalid QMI command".
Without this change, the script would fail even though the connection
could be established successfully.

This patch skips the registration state check if the command is not
supported and relies on subsequent checks instead.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/20933
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Til Kaiser 2025-11-25 11:43:22 +01:00 committed by Hauke Mehrtens
parent 902b25abf3
commit 7ff854a197

View File

@ -270,10 +270,13 @@ proto_qmi_setup() {
echo "Waiting for network registration"
sleep 5
local registration_timeout=0
local serving_system=""
local registration_state=""
while true; do
registration_state=$(uqmi -s -d "$device" -t 1000 --get-serving-system 2>/dev/null | jsonfilter -e "@.registration" 2>/dev/null)
serving_system="$(uqmi -s -d "$device" -t 1000 --get-serving-system 2>/dev/null)"
registration_state=$(echo "$serving_system" | jsonfilter -e "@.registration" 2>/dev/null)
[ "$serving_system" = "\"Invalid QMI command\"" ] && break
[ "$registration_state" = "registered" ] && break
if [ "$registration_state" = "searching" ] || [ "$registration_state" = "not_registered" ]; then