| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=99495
|
|
|
|
| |
We just leave 'fastboot', which is the one required for firmware update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So that we get the current running firmware details, e.g.:
original firmware revision was:
SWI9X15C_05.05.58.01 r27044 carmd-fwbuild1 2015/03/05 00:02:40
original running firmware details:
Model: MC7354
Boot version: SWI9X15C_05.05.58.01 r27044 carmd-fwbuild1 2015/03/05 00:02:40
AMSS version: SWI9X15C_05.05.58.01 r27044 carmd-fwbuild1 2015/03/05 00:02:40
SKU ID: 1102016
Package ID: 1102016_9903211_SWI9X15C_05.05.16.02_00_Generic_005.004_000
Carrier ID: 5
original firmware preference details:
image 'modem': unique id '005.029_001', build id '05.05.58.01_VZW'
image 'pri': unique id '005.029_001', build id '05.05.58.01_VZW'
new firmware revision is:
SWI9X15C_05.05.63.01 r28860 CARMD-EV-FRMWR1 2015/07/02 11:04:50
new running firmware details:
Model: MC7354
Boot version: SWI9X15C_05.05.63.01 r28860 CARMD-EV-FRMWR1 2015/07/02 11:04:50
AMSS version: SWI9X15C_05.05.63.01 r28860 CARMD-EV-FRMWR1 2015/07/02 11:04:50
SKU ID: 1102016
Package ID: 1102016_9903211_SWI9X15C_05.05.16.02_00_Generic_005.004_000
Carrier ID: 11
new firmware preference details:
image 'modem': unique id '005.037_000', build id '05.05.63.01_SPRINT'
image 'pri': unique id '005.037_000', build id '05.05.63.01_SPRINT'
NOTE: this device supports firmware preference management
with qmicli operations:
--dms-get-firmware-preference
--dms-set-firmware-preference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a vendor-specific message with id 0x5556.
E.g. for a Dell DW5570:
[/dev/cdc-wdm1] Successfully retrieved current firmware:
Model: MC8805
Boot version: SWI9X15C_01.08.16.02 r15159 carmd-fwbuild1 2013/05/16 17:41:33
AMSS version: SWI9X15C_01.08.16.02 r15159 carmd-fwbuild1 2013/05/16 17:41:33
SKU ID: 1101798
Package ID: 1101798_9902617_SWI9X15C_01.08.16.02_00_Dell_001.005_000
Carrier ID: 12
Config version: unknown
And for a MC7455:
[/dev/cdc-wdm1] Successfully retrieved current firmware:
Model: MC7455
Boot version: SWI9X30C_02.14.03.00
AMSS version: SWI9X30C_02.14.03.00
SKU ID: 1102476
Package ID: unknown
Carrier ID: 202
Config version: 000.008_000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
E.g. if the command requested will end up power cycling the device and
therefore not even supporting the cid release operation, as in the
"HP Change Device Mode" command.
[22 ene 2017, 18:42:23] [Debug] [/dev/cdc-wdm1] sent generic request (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 = 02:02
<<<<<< translated = [ service = 'dms' cid = '2' ]
[22 ene 2017, 18:42:23] [Debug] [/dev/cdc-wdm1] sending message as MBIM...
error: couldn't release client: MBIM error: Transaction timed out
|
|
|
|
| |
We are going to include a different version of DMS 0x5556 for Sierra devices.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to support non-standard messages that may be encoded with
different TLVs depending on how the vendor implemented them.
Anyway, right now this is really just to support the correct translation
of TLVs and message contents in the get_printable() methods.
The support is only included for QMI request/responses, and not for QMI
indications. This is because the library knows in which moment the
requests are created (and can apply the same rules to the matched
response when it is received). For the indications, though, there is no
such context configurable yet.
|
|
|
|
|
|
|
|
| |
Also, define a new QmiDmsHpDeviceMode enumeration with the modes found
out of the HPlt4120.
Note this command is flagged as 'HP' because it only applies to HP
devices, at least only to the HPlt4120.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
swi-update.c: In function ‘download_image’:
swi-update.c:846:8: error: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Werror=unused-result]
write(serfd, buf, rlen);
^
swi-update.c: In function ‘write_hdlc’:
swi-update.c:704:8: error: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Werror=unused-result]
write(fd, wbuf, wlen);
^
cc1: all warnings being treated as errors
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that this list isn't really complete as we don't have e.g. the new
QMI commands supported in the 1.16 release. We should fix that soon.
Anyway, we at least avoid the following warning:
make[5]: Entering directory 'docs/reference/libqmi-glib'
DOC Building HTML
DOC Fixing cross-references
html/libqmi-glib-Version-and-feature-checks.html:168: warning: no link for: 'api-index-1.16' -> (1.16).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As soon as we know the sysfs path of the device to use, we'll setup a
generic udev monitor for all tty, net and usb devices so that we get
notified of all their additions or removals. E.g. when going from normal
mode to QDL download mode:
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB1
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove wwan0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.3
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove cdc-wdm2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.8
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove wwan1
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove cdc-wdm3
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.10
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add 4-1.4
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add 4-1.4:1.0
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add ttyUSB0
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] waiting device (tty) matched: ttyUSB0
[20 ene 2017, 12:49:27] [Debug] [qfu-updater] TTY device found: /dev/ttyUSB0
|
| |
|
|
|
|
| |
CRC is not well checked if there is an escape char in input buffer.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Set Firmware Preference command may return an empty list of images
to be downloaded. If that happens and we just power cycle, we won't get
into QDL download mode, the module will just apply the new firmware
selection preference.
With the new --override-download option, we tell the module that even if
we already have the images, we want to perform the download.
This option doesn't apply to older SWI9200 devices as these don't have
any firmware preference setting. The option is implicit for these
devices, though, the download always happens.
|
|
|
|
| |
The --force name is too generic, and we may want to have other similar flags.
|
|
|
|
|
| |
These are no longer update-action specific, as they also apply e.g. when
doing a reset.
|
|
|
|
|
| |
The MC7455 may need around 70s for a complete reboot when selecting a
firmware preference for already stored images.
|
| |
|
|
|
|
|
|
|
| |
When selecting firmware preference we may be told that no firmware image
needs to be downloaded, because it is already there. BUT, we still need
to run the module power cycle so that on the next boot the new firmware
preference is applied.
|
|
|
|
| |
And increase amount of retries.
|
|
|
|
| |
So that we reset any existing client ids.
|
|
|
|
|
| |
This is what more generic Qualcomm software (E.g. Novatel E396) does to
get into QDL download mode.
|
| |
|
| |
|
|
|
|
|
| |
In Yocto, build is done outside source directory.
Without this patch, generated enum files are empty.
|
| |
|
|
|
|
|
| |
The device may need some extra time to properly boot after the cdc-wdm
device is exposed by the kernel, so setup several retries to do so.
|
| |
|
|
|
|
|
|
| |
So that we can run the operation in stdout with standard logging level
but storing in an external file the verbose logs in case they have to be
analyzed later on, e.g. if the update failed.
|
| |
|
|
|
|
| |
Only for the update operation, though.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This new object contains the logic to select which device needs to be
used as target of the firmware upgrade.
|
|
|
|
|
|
| |
This command is the one used by Sierra modems to get into Boot & Hold
mode, and very likely has a set of TLVs that we don't know about. For
now, just an empty message.
|
| |
|