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

Aleksander Morgado aleksander at aleksander.es
Thu Jan 19 12:10:27 UTC 2017


Hey,

>
> I used on EM7455 with the original firmware 02.08.02.00, and used the
> qmi-firmware-update to upgrade to 02.20.03.00. It seems to work well (I
> liked the progress graphics, big bonus).
>

Thanks for testing!

> Only thing I noted that I had to give it a reboot before I was able to get
> the QMI communication up and working, please see the complete log below.
>

This is the second time we've seen this, Christophe also saw it if I'm
not mistaken. But this is very very strange, because the
qmi-firmware-update tool actually does use QMI properly just before it
exits (it queries the current firmware preference and so on). I
usually play with the MC7455 in MBIM mode, I'll try to switch to QMI
and see if I can reproduce that issue.

> I could give another MC7455 a run with verbose printouts, if interested?
>

Please, please, please always use something like "-L
/tmp/qmi-firmware-update.log" when playing with qmi-firmware-update.
Maybe I should enable that by default? When that option is enabled,
you will still see normal messages in the output, but *all*
QMI/MBIM/QDL messages will be written in debug mode to the specified
log file. Very very useful for troubleshooting!


> -Sebastian
>
> root at mserver116:/opt/test# lsusb
> Bus 002 Device 004: ID 1199:9071 Sierra Wireless, Inc.
> Bus 002 Device 002: ID 04b4:6570 Cypress Semiconductor Corp.
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> root at mserver116:/opt/test# echo raw,'ati' | nc localhost 8080
> ati
> Manufacturer: Sierra Wireless, Incorporated
> Model: EM7455
> Revision: SWI9X30C_02.08.02.00 r5428 CARMD-EV-FRMWR2 2016/01/06 20:38:53
> MEID: 35432407003043
> IMEI: 354324070030438
> IMEI SV:  4
> FSN: LF533510920410
> +GCAP: +CGSM
> OK
> root at mserver116:/opt/test# echo raw,'at!impref?' | nc localhost 8080
> at!impref?
> !IMPREF:
> preferred fw version:    02.08.02.00
> preferred carrier name:  GENERIC
> preferred config name:   GENERIC_002.007_000
> current fw version:      02.08.02.00
> current carrier name:    GENERIC
> current config name:     GENERIC_002.007_000
> OK
> root at mserver116:/opt/test# qmicli -d /dev/cdc-wdm0 --dms-list-stored-images
> [/dev/cdc-wdm0] Device list of stored images retrieved:
>
> [0] Type:    'modem'
>    Maximum: '4'
>
>>>>>>>>>>> [CURRENT] <<<<<<<<<<
> [modem0]
> Unique ID:     '?_?'
> Build ID:      '02.08.02.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:     '002.007_000'
> Build ID:      '02.08.02.00_GENERIC'
>

Good, --dms-list-stored-images did show the correct "running image
index" in version 02.08.02.00.

> root at mserver116:/opt/test# qmi-firmware-update --update -d 1199:9071
> SWI9X30C_02.20.03.00.cwe SWI9X30C_02.20.03.00_GENERIC_002.017_000.nvu
> loading device information before the update...
> setting firmware preference:
>   firmware version: '02.20.03.00'
>   config version:   '002.017_000'
>   carrier:          'GENERIC'
> rebooting in download mode...
> download mode detected
> downloading cwe image: SWI9X30C_02.20.03.00.cwe (64.4 MB)...
> finalizing download... (may take more than one minute, be patient)
> successfully downloaded in 57.23s (1.1 MB/s)
> downloading cwe image: SWI9X30C_02.20.03.00_GENERIC_002.017_000.nvu (3.1
> kB)...
> finalizing download... (may take more than one minute, be patient)
> successfully downloaded in 0.06s (54.9 kB/s)
> rebooting in normal mode...
> normal mode detected
>
> ------------------------------------------------------------------------
>     NOTE: in order to validate which is the firmware running in the
>     module, the program will wait for a complete boot; this process
>     may take some time and several retries.
> ------------------------------------------------------------------------
>
> waiting some time for the device to boot...
> loading device information after the update (1/12)...
> waiting some time for the device to boot...
> loading device information after the update (2/12)...
>
> ------------------------------------------------------------------------
>
>    original firmware revision was:
>    SWI9X30C_02.08.02.00 r5428 CARMD-EV-FRMWR2 2016/01/06 20:38:53
>       image 'modem': unique id '002.007_000', build id '02.08.02.00_GENERIC'
>       image 'pri': unique id '002.007_000', build id '02.08.02.00_GENERIC'
>
>    new firmware revision is:
>    SWI9X30C_02.20.03.00 r6691 CARMD-EV-FRMWR2 2016/06/30 10:54:05
>       image 'modem': unique id '002.017_000', build id '02.20.03.00_GENERIC'
>       image 'pri': unique id '002.017_000', build id '02.20.03.00_GENERIC'
>
>    NOTE: this device supports stored image management
>    with qmicli operations:
>       --dms-list-stored-images
>       --dms-select-stored-image
>       --dms-delete-stored-image
>
>    NOTE: this device supports firmware preference management
>    with qmicli operations:
>       --dms-get-firmware-preference
>       --dms-set-firmware-preference
>
> ------------------------------------------------------------------------
>
> firmware update operation finished successfully
> root at mserver116:/opt/test# echo raw,'at!impref?' | nc localhost 8080
> at!impref?
> !IMPREF:
> preferred fw version:    02.20.03.00
> preferred carrier name:  GENERIC
> preferred config name:   GENERIC_002.017_000
> current fw version:      02.20.03.00
> current carrier name:    GENERIC
> current config name:     GENERIC_002.017_000
> OK
> root at mserver116:/opt/test# qmicli -d /dev/cdc-wdm0 --dms-list-stored-images
> error: couldn't create client for the 'dms' service: CID allocation failed
> in the CTL client: Transaction timed out
> root at mserver116:/opt/test# echo raw,'at!reset' | nc localhost 8080
> at!reset
> OK
> root at mserver116:/opt/test# 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.08.02.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:     '002.017_000'
> Build ID:      '02.20.03.00_GENERIC'
>

Heh, and you 02.20.03.00 has the same error with the running image
index. You're probably getting a "2" reported (slot 2) while you
should be getting a "1" instead (list index 1).

> root at mserver116:/opt/test# echo raw,'ati' | nc localhost 8080
> ati
> Manufacturer: Sierra Wireless, Incorporated
> Model: EM7455
> Revision: SWI9X30C_02.20.03.00 r6691 CARMD-EV-FRMWR2 2016/06/30 10:54:05
> MEID: 35432407003043
> IMEI: 354324070030438
> IMEI SV:  6
> FSN: LF533510920410
> +GCAP: +CGSM
> OK
> root at mserver116:/opt/test#
>
>

Again, thanks for testing!

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list