--nas-get-preferred-networks displays no networks, but there seems to be a lot of info (tested with 1.35.95-dev)?

Dan Williams dan at ioncontrol.co
Mon Mar 31 13:31:34 UTC 2025


On Tue, 2025-03-25 at 15:28 +0100, Reinhard Speyerer wrote:
> On Wed, Mar 19, 2025 at 03:00:47PM -0500, Dan Williams wrote:
> > On Wed, 2025-03-19 at 14:12 +0100, Martin Maurer wrote:
> > > Hello,
> > > 
> > > mentioned in the other thread, I tried the get instead of the
> > > set:
> > > 
> > > # qmicli -p -d /dev/cdc-wdm0 --nas-get-preferred-networks
> > > [/dev/cdc-wdm0] Successfully got preferred networks:
> > > 
> > > #
> > > 
> > > No preferred network is displayed.
> > > 
> > > 
> > > But switching on --verbose-full seems to list a lot info?
> > 
> > Looks like TLVs 0x11 and 0x13 are ones that libqmi doesn't yet
> > understand. They appear to be arrays like the existing preferred
> > network array (MCC/MNC/tech) but 0x13 has another byte.
> > 
> > Linaro's snaptel-sdk says they are "static" preferred networks and
> > alludes to OPLMN so that's probably what they are. eg, they are
> > defined
> > by the operator and I believe part of the SIM, so you can't change
> > them.
> 
> Hi Dan,
> 
> the NASGetPreferredNetworks TLVs returned differ with the SIM type
> and
> EF contents.
> 
> Old Quam SIM:
>   NASGetPreferredNetworks 3000
>   +OK NASGetPreferredNetworks
> 02040000000000101a00040006010300000006010e000000d60007000000f4005b000
> 00012150004060103000006010e0000d600070000f4005b0000
> This is decoded correctly by qmicli as expected
>   $ qmicli -d /dev/cdc-wdm1 --nas-get-preferred-networks
>   [/dev/cdc-wdm1] Successfully got preferred networks:
>   Preferred PLMN list:
>   [0]:
>   	MCC: '262'
>   	MNC: '3'
>   	Access Technology: 'unspecified'
>   [1]:
>   	MCC: '262'
>   	MNC: '14'
>   	Access Technology: 'unspecified'
>   [2]:
>   	MCC: '214'
>   	MNC: '7'
>   	Access Technology: 'unspecified'
>   [3]:
>   	MCC: '244'
>   	MNC: '91'
>   	Access Technology: 'unspecified'
>   PCS digit status:
>   [0]:
>   	MCC: '262'
>   	MNC: '3'
>   	MCC with PCS digit: 'no'
>   [1]:
>   	MCC: '262'
>   	MNC: '14'
>   	MCC with PCS digit: 'no'
>   [2]:
>   	MCC: '214'
>   	MNC: '7'
>   	MCC with PCS digit: 'no'
>   [3]:
>   	MCC: '244'
>   	MNC: '91'
>   	MCC with PCS digit: 'no'
> and also matches the EF.PLMNsel contents on the SIM.
> 
> USIM with both TS 31.102 EF.PLMNwAcT and EF.OPLMNwAcT present but all
> 0xff
> contents:
>   NASGetPreferredNetworks 3000
>   +OK NASGetPreferredNetworks
> 02040000000000100200000011020000001201000013010000
> 
> USIM with only EF.OPLMNwAcT present: same set of TLVs returned as for
> Martin's
> SIM, i.e. no 0x10/0x12 TLVs.
> 
> This might also explain the effect observed by Andreas in the other
> thread:
> If a USIM does not have EF.PLMNwAcT NASSetPreferredNetworks is
> rejected by
> the device.

That seems quite plausible. Is it possible for MM to create EF.PLMNwAcT
itself, or is that something pre-provisioned in the SIM that we can't
touch?

Thanks,
Dan


> 
> Regards,
> Reinhard
> 
> > 
> > I've got a local branch that handles printing these out with qmicli
> > but
> > can't push to an MR until FDO gitlab comes back in a few days...
> > 
> > By the way I did get UimUninitialized when trying to get the
> > preferred
> > networks from a modem that had no SIM. What device do you have?
> > Does it
> > perhaps have dual-sim support?
> > 
> > Dan
> > 
> > > 
> > > 
> > > # qmicli --verbose-full -p -d /dev/cdc-wdm0 --nas-get-preferred-
> > > networks
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] opening device
> > > with 
> > > flags 'proxy, auto'...
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] automatically
> > > selecting 
> > > QMI mode
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] created endpoint
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<<   length = 28
> > > <<<<<<   data   = 
> > > 01:1B:00:00:00:00:00:01:00:FF:10:00:01:0D:00:2F:64:65:76:2F:63:64
> > > :63:
> > > 2D:77:64:6D:30
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] sent generic
> > > request 
> > > (translated)...
> > > <<<<<< QMUX:
> > > <<<<<<   length  = 27
> > > <<<<<<   flags   = 0x00
> > > <<<<<<   service = "ctl"
> > > <<<<<<   client  = 0
> > > <<<<<< QMI:
> > > <<<<<<   flags       = "none"
> > > <<<<<<   transaction = 1
> > > <<<<<<   tlv_length  = 16
> > > <<<<<<   message     = "Internal Proxy Open" (0xFF00)
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Device Path" (0x01)
> > > <<<<<<   length     = 13
> > > <<<<<<   value      = 2F:64:65:76:2F:63:64:63:2D:77:64:6D:30
> > > <<<<<<   translated = /dev/cdc-wdm0
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] received
> > > message...
> > > <<<<<< RAW:
> > > <<<<<<   length = 19
> > > <<<<<<   data   =
> > > 01:12:00:80:00:00:01:01:00:FF:07:00:02:04:00:00:00:00:00
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] received generic 
> > > response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<<   length  = 18
> > > <<<<<<   flags   = 0x80
> > > <<<<<<   service = "ctl"
> > > <<<<<<   client  = 0
> > > <<<<<< QMI:
> > > <<<<<<   flags       = "response"
> > > <<<<<<   transaction = 1
> > > <<<<<<   tlv_length  = 7
> > > <<<<<<   message     = "Internal Proxy Open" (0xFF00)
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Result" (0x02)
> > > <<<<<<   length     = 4
> > > <<<<<<   value      = 00:00:00:00
> > > <<<<<<   translated = SUCCESS
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] QMI Device at '/dev/cdc-wdm0'
> > > ready
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] assuming service
> > > 'nas' 
> > > is supported...
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] allocating new
> > > client
> > > ID...
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<<   length = 16
> > > <<<<<<   data   = 01:0F:00:00:00:00:00:02:22:00:04:00:01:01:00:03
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] sent generic
> > > request 
> > > (translated)...
> > > <<<<<< QMUX:
> > > <<<<<<   length  = 15
> > > <<<<<<   flags   = 0x00
> > > <<<<<<   service = "ctl"
> > > <<<<<<   client  = 0
> > > <<<<<< QMI:
> > > <<<<<<   flags       = "none"
> > > <<<<<<   transaction = 2
> > > <<<<<<   tlv_length  = 4
> > > <<<<<<   message     = "Allocate CID" (0x0022)
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Service" (0x01)
> > > <<<<<<   length     = 1
> > > <<<<<<   value      = 03
> > > <<<<<<   translated = nas
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] received
> > > message...
> > > <<<<<< RAW:
> > > <<<<<<   length = 24
> > > <<<<<<   data   = 
> > > 01:17:00:80:00:00:01:02:22:00:0C:00:02:04:00:00:00:00:00:01:02:00
> > > :03:
> > > 04
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] received generic 
> > > response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<<   length  = 23
> > > <<<<<<   flags   = 0x80
> > > <<<<<<   service = "ctl"
> > > <<<<<<   client  = 0
> > > <<<<<< QMI:
> > > <<<<<<   flags       = "response"
> > > <<<<<<   transaction = 2
> > > <<<<<<   tlv_length  = 12
> > > <<<<<<   message     = "Allocate CID" (0x0022)
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Result" (0x02)
> > > <<<<<<   length     = 4
> > > <<<<<<   value      = 00:00:00:00
> > > <<<<<<   translated = SUCCESS
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Allocation Info" (0x01)
> > > <<<<<<   length     = 2
> > > <<<<<<   value      = 03:04
> > > <<<<<<   translated = [ service = 'nas' cid = '4' ]
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] registered 'nas' 
> > > (version unknown) client with ID '4'
> > > [19 Mar 2025, 13:05:27] [Debug] Asynchronously getting preferred
> > > networks...
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<<   length = 13
> > > <<<<<<   data   = 01:0C:00:00:03:04:00:01:00:26:00:00:00
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] sent generic
> > > request 
> > > (translated)...
> > > <<<<<< QMUX:
> > > <<<<<<   length  = 12
> > > <<<<<<   flags   = 0x00
> > > <<<<<<   service = "nas"
> > > <<<<<<   client  = 4
> > > <<<<<< QMI:
> > > <<<<<<   flags       = "none"
> > > <<<<<<   transaction = 1
> > > <<<<<<   tlv_length  = 0
> > > <<<<<<   message     = "Get Preferred Networks" (0x0026)
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] received
> > > message...
> > > <<<<<< RAW:
> > > <<<<<<   length = 469
> > > <<<<<<   data   = 
> > > 01:D4:01:80:03:04:02:01:00:26:00:C8:01:02:04:00:00:00:00:00:11:F2
> > > :00:
> > > 28:00:06:01:01:00:80:C0:E8:00:03:00:80:C0:CC:00:10:00:80:C0:CC:00
> > > :14:
> > > 00:80:C0:CC:00:08:00:80:C0:CC:00:0C:00:80:C0:E4:00:02:00:80:C0:E4
> > > :00:
> > > 03:00:80:C0:D0:00:01:00:80:C0:D0:00:14:00:80:C0:04:01:02:00:80:C0
> > > :EE:
> > > 00:14:00:80:C0:E6:00:01:00:80:C0:DE:00:01:00:80:C0:0E:01:01:00:80
> > > :C0:
> > > D6:00:05:00:80:C0:D6:00:07:00:80:C0:CE:00:0A:00:80:C0:EA:00:21:00
> > > :80:
> > > C0:EA:00:1E:00:80:C0:DB:00:01:00:80:C0:CA:00:01:00:80:C0:D8:00:1E
> > > :00:
> > > 80:C0:F0:00:01:00:80:C0:0C:01:06:00:80:C0:E7:00:02:00:80:C0:1C:01
> > > :03:
> > > 00:80:C0:F2:00:02:00:80:C0:F2:00:05:00:80:C0:E2:00:03:00:80:C0:25
> > > :01:
> > > 46:00:80:C0:36:01:04:01:80:C0:1E:01:01:00:80:C0:14:01:01:00:80:C0
> > > :26:
> > > 01:01:00:80:C0:10:01:03:00:80:C0:F4:00:5B:00:80:C0:18:01:0A:00:80
> > > :C0:
> > > F6:00:01:00:80:C0:16:01:15:00:80:C0:13:C9:00:28:06:01:01:00:00:E8
> > > :00:
> > > 03:00:00:CC:00:10:00:00:CC:00:14:00:00:CC:00:08:00:00:CC:00:0C:00
> > > :00:
> > > E4:00:02:00:00:E4:00:03:00:00:D0:00:01:00:00:D0:00:14:00:00:04:01
> > > :02:
> > > 00:00:EE:00:14:00:00:E6:00:01:00:00:DE:00:01:00:00:0E:01:01:00:00
> > > :D6:
> > > 00:05:00:00:D6:00:07:00:00:CE:00:0A:00:00:EA:00:21:00:00:EA:00:1E
> > > :00:
> > > 00:DB:00:01:00:00:CA:00:01:00:00:D8:00:1E:00:00:F0:00:01:00:00:0C
> > > :01:
> > > 06:00:00:E7:00:02:00:00:1C:01:03:00:00:F2:00:02:00:00:F2:00:05:00
> > > :00:
> > > E2:00:03:00:00:25:01:46:00:00:36:01:04:01:01:1E:01:01:00:00:14:01
> > > :01:
> > > 00:00:26:01:01:00:00:10:01:03:00:00:F4:00:5B:00:00:18:01:0A:00:00
> > > :F6:
> > > 00:01:00:00:16:01:15:00:00
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] received generic 
> > > response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<<   length  = 468
> > > <<<<<<   flags   = 0x80
> > > <<<<<<   service = "nas"
> > > <<<<<<   client  = 4
> > > <<<<<< QMI:
> > > <<<<<<   flags       = "response"
> > > <<<<<<   transaction = 1
> > > <<<<<<   tlv_length  = 456
> > > <<<<<<   message     = "Get Preferred Networks" (0x0026)
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Result" (0x02)
> > > <<<<<<   length     = 4
> > > <<<<<<   value      = 00:00:00:00
> > > <<<<<<   translated = SUCCESS
> > > <<<<<< TLV:
> > > <<<<<<   type   = 0x11
> > > <<<<<<   length = 242
> > > <<<<<<   value  = 
> > > 28:00:06:01:01:00:80:C0:E8:00:03:00:80:C0:CC:00:10:00:80:C0:CC:00
> > > :14:
> > > 00:80:C0:CC:00:08:00:80:C0:CC:00:0C:00:80:C0:E4:00:02:00:80:C0:E4
> > > :00:
> > > 03:00:80:C0:D0:00:01:00:80:C0:D0:00:14:00:80:C0:04:01:02:00:80:C0
> > > :EE:
> > > 00:14:00:80:C0:E6:00:01:00:80:C0:DE:00:01:00:80:C0:0E:01:01:00:80
> > > :C0:
> > > D6:00:05:00:80:C0:D6:00:07:00:80:C0:CE:00:0A:00:80:C0:EA:00:21:00
> > > :80:
> > > C0:EA:00:1E:00:80:C0:DB:00:01:00:80:C0:CA:00:01:00:80:C0:D8:00:1E
> > > :00:
> > > 80:C0:F0:00:01:00:80:C0:0C:01:06:00:80:C0:E7:00:02:00:80:C0:1C:01
> > > :03:
> > > 00:80:C0:F2:00:02:00:80:C0:F2:00:05:00:80:C0:E2:00:03:00:80:C0:25
> > > :01:
> > > 46:00:80:C0:36:01:04:01:80:C0:1E:01:01:00:80:C0:14:01:01:00:80:C0
> > > :26:
> > > 01:01:00:80:C0:10:01:03:00:80:C0:F4:00:5B:00:80:C0:18:01:0A:00:80
> > > :C0:
> > > F6:00:01:00:80:C0:16:01:15:00:80:C0
> > > <<<<<< TLV:
> > > <<<<<<   type   = 0x13
> > > <<<<<<   length = 201
> > > <<<<<<   value  = 
> > > 28:06:01:01:00:00:E8:00:03:00:00:CC:00:10:00:00:CC:00:14:00:00:CC
> > > :00:
> > > 08:00:00:CC:00:0C:00:00:E4:00:02:00:00:E4:00:03:00:00:D0:00:01:00
> > > :00:
> > > D0:00:14:00:00:04:01:02:00:00:EE:00:14:00:00:E6:00:01:00:00:DE:00
> > > :01:
> > > 00:00:0E:01:01:00:00:D6:00:05:00:00:D6:00:07:00:00:CE:00:0A:00:00
> > > :EA:
> > > 00:21:00:00:EA:00:1E:00:00:DB:00:01:00:00:CA:00:01:00:00:D8:00:1E
> > > :00:
> > > 00:F0:00:01:00:00:0C:01:06:00:00:E7:00:02:00:00:1C:01:03:00:00:F2
> > > :00:
> > > 02:00:00:F2:00:05:00:00:E2:00:03:00:00:25:01:46:00:00:36:01:04:01
> > > :01:
> > > 1E:01:01:00:00:14:01:01:00:00:26:01:01:00:00:10:01:03:00:00:F4:00
> > > :5B:
> > > 00:00:18:01:0A:00:00:F6:00:01:00:00:16:01:15:00:00
> > > 
> > > [/dev/cdc-wdm0] Successfully got preferred networks:
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] releasing 'nas'
> > > client 
> > > with flags 'release-cid'...
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] unregistered
> > > 'nas' 
> > > client with ID '4'
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<<   length = 17
> > > <<<<<<   data   =
> > > 01:10:00:00:00:00:00:03:23:00:05:00:01:02:00:03:04
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] sent generic
> > > request 
> > > (translated)...
> > > <<<<<< QMUX:
> > > <<<<<<   length  = 16
> > > <<<<<<   flags   = 0x00
> > > <<<<<<   service = "ctl"
> > > <<<<<<   client  = 0
> > > <<<<<< QMI:
> > > <<<<<<   flags       = "none"
> > > <<<<<<   transaction = 3
> > > <<<<<<   tlv_length  = 5
> > > <<<<<<   message     = "Release CID" (0x0023)
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Release Info" (0x01)
> > > <<<<<<   length     = 2
> > > <<<<<<   value      = 03:04
> > > <<<<<<   translated = [ service = 'nas' cid = '4' ]
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] received
> > > message...
> > > <<<<<< RAW:
> > > <<<<<<   length = 24
> > > <<<<<<   data   = 
> > > 01:17:00:80:00:00:01:03:23:00:0C:00:02:04:00:00:00:00:00:01:02:00
> > > :03:
> > > 04
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] [/dev/cdc-wdm0] received generic 
> > > response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<<   length  = 23
> > > <<<<<<   flags   = 0x80
> > > <<<<<<   service = "ctl"
> > > <<<<<<   client  = 0
> > > <<<<<< QMI:
> > > <<<<<<   flags       = "response"
> > > <<<<<<   transaction = 3
> > > <<<<<<   tlv_length  = 12
> > > <<<<<<   message     = "Release CID" (0x0023)
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Result" (0x02)
> > > <<<<<<   length     = 4
> > > <<<<<<   value      = 00:00:00:00
> > > <<<<<<   translated = SUCCESS
> > > <<<<<< TLV:
> > > <<<<<<   type       = "Release Info" (0x01)
> > > <<<<<<   length     = 2
> > > <<<<<<   value      = 03:04
> > > <<<<<<   translated = [ service = 'nas' cid = '4' ]
> > > 
> > > [19 Mar 2025, 13:05:27] [Debug] Client released
> > > [19 Mar 2025, 13:05:27] [Debug] Closed
> > > #
> > > 
> > > 
> > > I am using a RM520N-GL, with pre-release libqmi 1.35.95-dev.
> > > 
> > > ( RM520NGLAAR03A03M4G )
> > > 
> > > Best regards,
> > > 
> > > Martin
> > > 
> > > 
> > 
> 
> 



More information about the libqmi-devel mailing list