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