[PATCH v2] uqmi: fix network registration loop
Florian Eckert
fe at dev.tdt.de
Wed Apr 21 10:12:25 BST 2021
On 2021-04-20 16:49, thomas.richard at kontron.com wrote:
> From: Thomas Richard <thomas.richard at kontron.com>
>
> With some debug in qmi.sh using following patch, some errors are
> visible
> in the registration step
> @@ -29,6 +29,7 @@ proto_qmi_init_config() {
> }
>
> proto_qmi_setup() {
> + set -x
> local interface="$1"
> local dataformat connstat plmn_mode mcc mnc
> local device apn auth username password pincode delay modes
> pdptype
> @@ -224,6 +225,8 @@ proto_qmi_setup() {
> fi
> done
>
> + registration=$(uqmi -s -d "$device" --get-serving-system)
> +
> [ -n "$modes" ] && uqmi -s -d "$device" --set-network-modes
> "$modes" > /dev/null 2>&1
>
> echo "Starting network $interface"
>
> During the boot of the system, modem could not start automatically its
> network registration.
> netifd: wan (9235): + echo 'Waiting for network registration'
> netifd: wan (9235): Waiting for network registration
> netifd: wan (9235): + local 'registration_timeout=0'
> netifd: wan (9235): + uqmi -s -d /dev/cdc-wdm1 --get-serving-system
> netifd: wan (9235): + grep '"searching"'
> netifd: wan (9235): + uqmi -s -d /dev/cdc-wdm1 --get-serving-system
> netifd: wan (9235): +
> registration='{"registration":"not_registered","plmn_mcc":208,"plmn_mnc":20,"plmn_description":"","roaming":true}'
> netifd: wan (9235): + '[' -n ]
> netifd: wan (9235): + echo 'Starting network wan'
>
> As the while loop checks only "searching" pattern, uqmi.sh script quits
> searching loop and continues whereas the modem is not registered
>
> Other issue, after X seconds modem stops searching.
> netifd: wan (9213): + uqmi -s -d /dev/cdc-wdm0 --get-serving-system
> netifd: wan (9213): + grep '"searching"'
> netifd: wan (9213): + '[' -e /dev/cdc-wdm0 ]
> netifd: wan (9213): + '[' 3 -lt 0 -o 0 '=' 0 ]
> netifd: wan (9213): + let registration_timeout++
> netifd: wan (9213): + sleep 1
> netifd: wan (9213): + uqmi -s -d /dev/cdc-wdm0 --get-serving-system
> netifd: wan (9213): + grep '"searching"'
> netifd: wan (9213): + uqmi -s -d /dev/cdc-wdm0 --get-serving-system
> netifd: wan (9213): + registration='{"registration":"not_registered"}'
> netifd: wan (9213): + '[' -n ]
> netifd: wan (9213): + echo 'Starting network wan'
> netifd: wan (9213): Starting network wan
>
> If registration_timeout is not expired, registration can be restarted
>
> Signed-off-by: Thomas Richard <thomas.richard at kontron.com>
Tested-by: Florian Eckert <fe at dev.tdt.de>
Works as expected.
Thanks!
More information about the openwrt-devel
mailing list