aleksander/qmi-firmware-update v2: dms-list-stored-images on MC7430

Aleksander Morgado aleksander at aleksander.es
Wed Jan 18 11:37:11 UTC 2017


Hey,

Thanks for testing, see comments below.

>
> I see a small problem in dms-list-stored-images after that:
>
> root at klk-lpbs_040070:~ # qmicli -d /dev/cdc-wdm0 --dms-list-stored-images
> [/dev/cdc-wdm0] Device list of stored images retrieved:
>
>     [0] Type:    'modem'
>         Maximum: '4'
>
>         [modem0]
>         Unique ID:     '?_?'
>         Build ID:      '02.14.03.00_?'
>         Storage index: '1'
>         Failure count: '0'
>
>         [modem1]
>         Unique ID:     '?_?'
>         Build ID:      '02.20.03.00_?'
>         Storage index: '2'
>         Failure count: '0'
>
>     [1] Type:    'pri'
>         Maximum: '50'
>
>         >>>>>>>>>> [CURRENT] <<<<<<<<<<
>         [pri0]
>         Unique ID:     '001.001_000'
>         Build ID:      '02.20.03.00_DOCOMO'
>
>         [pri1]
>         Unique ID:     '002.012_000'
>         Build ID:      '02.14.03.00_GENERIC'
>
>
> There is no CURRENT for modem images.
>

See below.

> I executed command with debug and saw three problems:
>
> 1) All Get Stored Image Info failed. Is it something you've seen?
>

Yes, that is normal. The Get Stored Image Info commands just provide
some optional additional info, no worries if it fails.

> 2) In List Stored Images response, index of running image is given but it is
> "2" with only image 0 and 1 after. Maybe it is a storage index and not an
> index in the table of answers. Do you know that?
>

Your QMI response for List Stored Images says:
  index_of_running_image = '2'
But the list of images only contains 2 items (indices 0 and 1).

I rechecked what that value is supposed to mean, and it is the index
of the image in the list returned, not the storage index. If it were
the storage index, you wouldn't have seen CURRENT before the firmware
upgrade (as the CURRENT was index_of_running_image = '0' and your
storage index was 1). Also, another indication that the
index_of_running_image value is related to the index within the
response list is that for PRI images, the storage index is always
reported as 255 (N/A).

I have no idea why this happened. I hope the logic in the firmware
didn't change between those 2 versions!

Can you try to select the firmware now by list index and retry the
list, to see what happens?

$ qmicli -d /dev/cdc-wdm0 --dms-select-stored-image="modem1,pri0"
$ qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=offline
$ qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=reset
(wait for reboot)
$ qmicli -d /dev/cdc-wdm0 --dms-list-stored-images

> 3) In List Stored Images response,the two modem images have the same
> unique_id. I am not sure this is a problem because in
> --dms-select-stored-image command, both unique-id and build_id are used to
> identify an image.
>

When using --dms-select-stored-image you're supposed to give the
"modemX,priY" string, X being the index of the modem image in the
list, and Y being the index of the pri image in the list. The
unique-id and build-id strings aren't really used in the qmicli API.

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list