From: David Bauer Date: Mon, 9 Oct 2023 21:08:01 +0000 (+0200) Subject: uqmi: fix non-working PLMN selection X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c4321462e45c2e78b2870bb5707784022bc47d20;p=openwrt%2Fopenwrt.git uqmi: fix non-working PLMN selection The PLMN selection was reset when calling network-register, thus rendering the sepcific selection of a carrier unapplied. Set the PLMN selection after executing network-register. This seems to cause the modem to re-select the carrier eventually. That being said, qmi does allow the parameterization of the network-register to include dpecific PLMN settings, however this is currently not implemented in uqmi. Signed-off-by: David Bauer --- 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 96555f537c..7b93a03ee5 100755 --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh @@ -216,15 +216,6 @@ proto_qmi_setup() { fi fi - if [ -n "$mcc" -a -n "$mnc" ]; then - uqmi -s -d "$device" --set-plmn --mcc "$mcc" --mnc "$mnc" > /dev/null 2>&1 || { - echo "Unable to set PLMN" - proto_notify_error "$interface" PLMN_FAILED - proto_block_restart "$interface" - return 1 - } - fi - # Cleanup current state if any uqmi -s -d "$device" --stop-network 0xffffffff --autoconnect > /dev/null 2>&1 uqmi -s -d "$device" --set-ip-family ipv6 --stop-network 0xffffffff --autoconnect > /dev/null 2>&1 @@ -252,6 +243,16 @@ proto_qmi_setup() { uqmi -s -d "$device" --network-register > /dev/null 2>&1 + # PLMN selection must happen after the call to network-register + if [ -n "$mcc" -a -n "$mnc" ]; then + uqmi -s -d "$device" --set-plmn --mcc "$mcc" --mnc "$mnc" > /dev/null 2>&1 || { + echo "Unable to set PLMN" + proto_notify_error "$interface" PLMN_FAILED + proto_block_restart "$interface" + return 1 + } + fi + [ -n "$modes" ] && { uqmi -s -d "$device" --set-network-modes "$modes" > /dev/null 2>&1 sleep 3