From: Til Kaiser Date: Tue, 25 Nov 2025 10:43:22 +0000 (+0100) Subject: uqmi: skip registration state check if not supported X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=7ff854a197c765bd6922a93c3eada627e2dff987;p=openwrt%2Fopenwrt.git 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 Link: https://github.com/openwrt/openwrt/pull/20933 Signed-off-by: Hauke Mehrtens --- 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 ebce281b80..8297e6b3f0 100755 --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh @@ -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