Firmware/Image switching guides from Sierra

Aleksander Morgado aleksander at aleksander.es
Thu Jan 19 11:36:02 UTC 2017


On Thu, Jan 19, 2017 at 11:06 AM, Bjørn Mork <bjorn at mork.no> wrote:
>> In particular, I'm interested in adding support for the Sierra
>> specific SLQSSwiGetAllCarrierImages() and SLQSSwiGetFirmwareCurr()
>> messages; would like to see whether these have the same issue with the
>> slot index.
>
> I suspect that these are simple wrappers around the same QMI requests,
> just taking the images on the host into account as well.
>
> If you can run the GobiNet driver and the SDK, then you should be able
> to see all QMI requests if you load the driver with 'debug=1' (which is
> a very nice feature - thanks for that!).  That's a simple way to figure
> out what the SDK is doing behind the scene.

I didn't run the SDK, but I suspect the SLQSSwiGetFirmwareCurr() could
be the DMS 0x5556 command that we have mapped as "Change device
download mode" used for the HP lt4120....

Quoted from https://lists.freedesktop.org/archives/libqmi-devel/2015-December/001445.html:

> Please select one of the following options or press <Enter> to exit:
> 1. Display the information for the executing device image
> 2. Download a boot loader image to the device
> 3. Download a firmware image to the device
> 4. Download an NV item to the device
> 5. Display the information for a particular spk/cwe image located on the host
> 6. Display the information for a particular nvu image located on the host
> Option: 1
>
> CWE Image Fields
> ----------------
> BOOT Version: SWI9X15C_05.05.58.00 r27038 carmd-fwbuild1 2015/03/04 18:38:46
> AMSS Version: SWI9X15C_05.05.58.00 r27038 carmd-fwbuild1 2015/03/04 21:30:23
> PRI Version: 9903554 05.02
>
> SPKG CWE Image Fields
> ---------------------
> Model ID: MC7304
> BOOT Version: SWI9X15C_05.05.58.00 r27038 carmd-fwbuild1 2015/03/04 18:38:46
> AMSS Version: SWI9X15C_05.05.58.00 r27038 carmd-fwbuild1 2015/03/04 21:30:23
> SKU ID: 1102241
> Package ID: 1102241_9903554_SWI9X15C_05.05.16.02_00_Generic_005.002_000
> Carrier: 1
> PRI version: 05.02


The list of fields reported as "SPKG CWE Image Fields" seems to be
very much in line with the TLVs I see in the DMS 0x5556 response:

[19 ene 2017, 12:13:03] [Debug] [/dev/cdc-wdm2] Received message...
>>>>>> RAW:
>>>>>>   length = 131
>>>>>>   data   = 01:82:00:80:02:03:02:01:00:56:55:76:00:02:04:00:00:00:00:00:18:0C:00:30:30:32:2E:30:32:36:5F:30:30:30:00:17:08:00:56:45:52:49:5A:4F:4E:00:16:08:00:30:30:30:2E:30:30:35:00:15:02:00:35:00:13:08:00:31:31:30:32:34:37:36:00:12:15:00:53:57:49:39:58:33:30:43:5F:30:32:2E:32:30:2E:30:33:2E:32:32:00:11:15:00:53:57:49:39:58:33:30:43:5F:30:32:2E:32:30:2E:30:33:2E:32:32:00:10:07:00:4D:43:37:34:35:35:00

[19 ene 2017, 12:13:03] [Debug] [/dev/cdc-wdm2] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 130
>>>>>>   flags   = 0x80
>>>>>>   service = "dms"
>>>>>>   client  = 3
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 1
>>>>>>   tlv_length  = 118
>>>>>>   message     = "Change Device Download Mode" (0x5556)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
>>>>>> TLV:
>>>>>>   type       = "Field 0x18" (0x18)
>>>>>>   length     = 12
>>>>>>   value      = 30:30:32:2E:30:32:36:5F:30:30:30:00
>>>>>>   translated = 002.026_000
>>>>>> TLV:
>>>>>>   type       = "Field 0x17" (0x17)
>>>>>>   length     = 8
>>>>>>   value      = 56:45:52:49:5A:4F:4E:00
>>>>>>   translated = VERIZON
>>>>>> TLV:
>>>>>>   type       = "Field 0x16" (0x16)
>>>>>>   length     = 8
>>>>>>   value      = 30:30:30:2E:30:30:35:00
>>>>>>   translated = 000.005
>>>>>> TLV:
>>>>>>   type       = "Field 0x15" (0x15)
>>>>>>   length     = 2
>>>>>>   value      = 35:00
>>>>>>   translated = 5
>>>>>> TLV:
>>>>>>   type       = "Field 0x13" (0x13)
>>>>>>   length     = 8
>>>>>>   value      = 31:31:30:32:34:37:36:00
>>>>>>   translated = 1102476
>>>>>> TLV:
>>>>>>   type       = "Field 0x12" (0x12)
>>>>>>   length     = 21
>>>>>>   value      = 53:57:49:39:58:33:30:43:5F:30:32:2E:32:30:2E:30:33:2E:32:32:00
>>>>>>   translated = SWI9X30C_02.20.03.22
>>>>>> TLV:
>>>>>>   type       = "Field 0x11" (0x11)
>>>>>>   length     = 21
>>>>>>   value      = 53:57:49:39:58:33:30:43:5F:30:32:2E:32:30:2E:30:33:2E:32:32:00
>>>>>>   translated = SWI9X30C_02.20.03.22
>>>>>> TLV:
>>>>>>   type       = "Field 0x10" (0x10)
>>>>>>   length     = 7
>>>>>>   value      = 4D:43:37:34:35:35:00
>>>>>>   translated = MC7455

i.e.

TLV 0x10 --> Model (MC7455)
TLV 0x11 --> BOOT version (SWI9X30C_02.20.03.22)
TLV 0x12 --> AMSS version (SWI9X30C_02.20.03.22)
TLV 0x13 --> SKU ID (1102476)
TLV 0x14 -->
Package ID (not given)
TLV 0x15 --> Carrier id (5)
TLV 0x16 --> PRI version (000.005)
TLV 0x17 --> Carrier string (VERIZON)
TLV 0x18 --> Config version/Unique ID (002.026_000)

What do you think?

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list