Unexpected Mode Preference when using --nas-set-system-selection-preference

Aleksander Morgado aleksander at aleksander.es
Sun Apr 12 03:09:00 PDT 2015


Hey Garret,


> I am using qmicli with a Novatel USB551L modem. When I try to use the
> --nas-set-system-selection-preference command to set my preference to ‘lte’,
> I get a ‘DeviceUnsupported’ error. I noticed that if I run the command with
> the verbose tag, the Mode Preference sent to the modem is ‘gsm, lte,
> td-scdma’. I think this causes problems since my modem doesn’t support
> td-scdma (--dms-get-capabilities shows only cdma20001x, evdo, gsm, umts,
> lte). I also noticed that whatever input I give to
> --nas-set-system-selection-preference, it seems to OR it with gsm, lte, and
> td-scdma. Is there a way to get --nas-set-system-selection-preference to
> only send ‘lte’ for the Mode Preference? I’ve copy/pasted results from my
> machine below.
>
> Thanks,
> Garrett
>
> -----
>
> sh-4.2# qmicli -d /dev/cdc-wdm0 --dms-get-capabilities
> [/dev/cdc-wdm0] Device capabilities retrieved:
>         Max TX channel rate: '5742000'
>         Max RX channel rate: '7200000'
>                Data Service: 'simultaneous-cs-ps'
>                         SIM: 'supported'
>                    Networks: 'cdma20001x, evdo, gsm, umts, lte'
> sh-4.2# qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference=lte
> error: couldn't set operating mode: QMI protocol error (25):
> 'DeviceUnsupported'
> sh-4.2# qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference=lte -v
> [13 Sep 2000, 03:43:25] [Debug] QMI Device at '/dev/cdc-wdm0' ready
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Assuming service 'nas' is
> supported...
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Allocating new client ID...
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Sent message...
> <<<<<< RAW:
> <<<<<<   length = 16
> <<<<<<   data   = 01:0F:00:00:00:00:00:01:22:00:04:00:01:01:00:03
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 15
> <<<<<<   flags   = 0x00
> <<<<<<   service = "ctl"
> <<<<<<   client  = 0
> <<<<<< QMI:
> <<<<<<   flags       = "none"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 4
> <<<<<<   message     = "Allocate CID" (0x0022)
> <<<<<< TLV:
> <<<<<<   type       = "Service" (0x01)
> <<<<<<   length     = 1
> <<<<<<   value      = 03
> <<<<<<   translated = nas
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>>> RAW:
>>>>>>>   length = 24
>>>>>>>   data   =
>>>>>>> 01:17:00:80:00:00:01:01:22:00:0C:00:02:04:00:00:00:00:00:01:02:00:03:0A
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Received message
> (translated)...
>>>>>>> QMUX:
>>>>>>>   length  = 23
>>>>>>>   flags   = 0x80
>>>>>>>   service = "ctl"
>>>>>>>   client  = 0
>>>>>>> QMI:
>>>>>>>   flags       = "response"
>>>>>>>   transaction = 1
>>>>>>>   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:0A
>>>>>>>   translated = [ service = 'nas' cid = '10' ]
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Registered 'nas' (version
> unknown) client with ID '10'
> [13 Sep 2000, 03:43:25] [Debug] Asynchronously setting system selection
> preference...
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Sent message...
> <<<<<< RAW:
> <<<<<<   length = 29
> <<<<<<   data   =
> 01:1C:00:00:03:0A:00:01:00:33:00:10:00:19:04:00:00:00:00:00:17:01:00:01:11:02:00:B4:5B
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 28
> <<<<<<   flags   = 0x00
> <<<<<<   service = "nas"
> <<<<<<   client  = 10
> <<<<<< QMI:
> <<<<<<   flags       = "none"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 16
> <<<<<<   message     = "Set System Selection Preference" (0x0033)
> <<<<<< TLV:
> <<<<<<   type       = "GSM WCDMA Acquisition Order Preference" (0x19)
> <<<<<<   length     = 4
> <<<<<<   value      = 00:00:00:00
> <<<<<<   translated = automatic
> <<<<<< TLV:
> <<<<<<   type       = "Change Duration" (0x17)
> <<<<<<   length     = 1
> <<<<<<   value      = 01
> <<<<<<   translated = permanent
> <<<<<< TLV:
> <<<<<<   type       = "Mode Preference" (0x11)
> <<<<<<   length     = 2
> <<<<<<   value      = B4:5B
> <<<<<<   translated = gsm, lte, td-scdma
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>>> RAW:
>>>>>>>   length = 20
>>>>>>>   data   =
>>>>>>> 01:13:00:80:03:0A:02:01:00:33:00:07:00:02:04:00:01:00:19:00
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Received message
> (translated)...
>>>>>>> QMUX:
>>>>>>>   length  = 19
>>>>>>>   flags   = 0x80
>>>>>>>   service = "nas"
>>>>>>>   client  = 10
>>>>>>> QMI:
>>>>>>>   flags       = "response"
>>>>>>>   transaction = 1
>>>>>>>   tlv_length  = 7
>>>>>>>   message     = "Set System Selection Preference" (0x0033)
>>>>>>> TLV:
>>>>>>>   type       = "Result" (0x02)
>>>>>>>   length     = 4
>>>>>>>   value      = 01:00:19:00
>>>>>>>   translated = FAILURE: DeviceUnsupported
>
> error: couldn't set operating mode: QMI protocol error (25):
> 'DeviceUnsupported'
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Unregistered 'nas' client
> with ID '10'
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Sent message...
> <<<<<< RAW:
> <<<<<<   length = 17
> <<<<<<   data   = 01:10:00:00:00:00:00:02:23:00:05:00:01:02:00:03:0A
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 16
> <<<<<<   flags   = 0x00
> <<<<<<   service = "ctl"
> <<<<<<   client  = 0
> <<<<<< QMI:
> <<<<<<   flags       = "none"
> <<<<<<   transaction = 2
> <<<<<<   tlv_length  = 5
> <<<<<<   message     = "Release CID" (0x0023)
> <<<<<< TLV:
> <<<<<<   type       = "Release Info" (0x01)
> <<<<<<   length     = 2
> <<<<<<   value      = 03:0A
> <<<<<<   translated = [ service = 'nas' cid = '10' ]
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>>> RAW:
>>>>>>>   length = 24
>>>>>>>   data   =
>>>>>>> 01:17:00:80:00:00:01:02:23:00:0C:00:02:04:00:00:00:00:00:01:02:00:03:0A
>
> [13 Sep 2000, 03:43:25] [Debug] [/dev/cdc-wdm0] Received message
> (translated)...
>>>>>>> QMUX:
>>>>>>>   length  = 23
>>>>>>>   flags   = 0x80
>>>>>>>   service = "ctl"
>>>>>>>   client  = 0
>>>>>>> QMI:
>>>>>>>   flags       = "response"
>>>>>>>   transaction = 2
>>>>>>>   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:0A
>>>>>>>   translated = [ service = 'nas' cid = '10' ]
>
> [13 Sep 2000, 03:43:25] [Debug] Client released
> sh-4.2#
>


That is strange; which libqmi version are you using?

In my case, when I run that same command, I get the proper Mode
Preference values requested, see:

$ sudo qmicli -d /dev/cdc-wdm0
--nas-set-system-selection-preference=lte --verbose
....
[12 abr 2015, 12:02:47] [Debug] Asynchronously setting system
selection preference...
[12 abr 2015, 12:02:47] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 29
<<<<<<   data   =
01:1C:00:00:03:07:00:01:00:33:00:10:00:19:04:00:00:00:00:00:17:01:00:01:11:02:00:10:00

[12 abr 2015, 12:02:47] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 28
<<<<<<   flags   = 0x00
<<<<<<   service = "nas"
<<<<<<   client  = 7
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 16
<<<<<<   message     = "Set System Selection Preference" (0x0033)
<<<<<< TLV:
<<<<<<   type       = "GSM WCDMA Acquisition Order Preference" (0x19)
<<<<<<   length     = 4
<<<<<<   value      = 00:00:00:00
<<<<<<   translated = automatic
<<<<<< TLV:
<<<<<<   type       = "Change Duration" (0x17)
<<<<<<   length     = 1
<<<<<<   value      = 01
<<<<<<   translated = permanent
<<<<<< TLV:
<<<<<<   type       = "Mode Preference" (0x11)
<<<<<<   length     = 2
<<<<<<   value      = 10:00
<<<<<<   translated = lte


-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list