aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* libqmi-glib,device: fix error reporting on MBIM device closeAleksander Morgado2017-02-011-1/+1
|
* utils,swi-update: fix building with musl-libcStuart Cardall2017-01-311-0/+1
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=99495
* dms: disable all HP device modes that we're not so sure aboutAleksander Morgado2017-01-292-12/+2
| | | | We just leave 'fastboot', which is the one required for firmware update.
* qmi-firmware-update: use 'SWI Get Current Firmware' before and afterAleksander Morgado2017-01-294-6/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* dms: new 'SWI Get Current Firmware'Aleksander Morgado2017-01-293-2/+156
| | | | | | | | | | | | | | | | | | | | | | | | 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
* qmicli: allow skipping CID release after successful operationAleksander Morgado2017-01-2911-18/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* dms: make "HP Change Device Mode" vendor-specificAleksander Morgado2017-01-291-0/+1
| | | | We are going to include a different version of DMS 0x5556 for Sierra devices.
* libqmi-glib: support vendor-specific request/responsesAleksander Morgado2017-01-2914-142/+627
| | | | | | | | | | | | | | 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.
* dms: renamed DMS 0x5556 to 'HP Change Device Mode'Aleksander Morgado2017-01-297-40/+92
| | | | | | | | 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.
* qmicli: enable MBIM logs and traces if MBIM_QMUX enabledAleksander Morgado2017-01-292-0/+13
|
* libqmi-glib: flag internal method as suchAleksander Morgado2017-01-231-0/+1
|
* qmicli,dms: define VALIDATE_UNKNOWN just onceAleksander Morgado2017-01-231-30/+3
|
* qmi-codegen: minor indentation fix in generated codeAleksander Morgado2017-01-231-2/+2
|
* qmicli: add missing EOL when printing error message releasing CIDAleksander Morgado2017-01-231-1/+1
|
* utils,swi-update: untabifyAleksander Morgado2017-01-201-603/+603
|
* utils,swi-update: don't ignore write() returnAleksander Morgado2017-01-201-3/+8
| | | | | | | | | | | | 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
* build: bump version to 1.17.900Aleksander Morgado2017-01-201-1/+1
|
* docs: add 1.16 API listAleksander Morgado2017-01-201-0/+4
| | | | | | | | | | | | 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).
* qmi-firware-update: image size 0 is invalidAleksander Morgado2017-01-201-0/+6
|
* qmi-firmware-update: avoid logging when we don't detect sub-imagesAleksander Morgado2017-01-201-6/+2
|
* qmi-firmware-update: new generic monitor to debug all udev eventsAleksander Morgado2017-01-203-3/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* qmicli,dms: fix typos and poorly formated text messagesAleksander Morgado2017-01-191-2/+2
|
* qmi-firmware-update: fix CRC checkingChristophe Ronco2017-01-171-1/+1
| | | | CRC is not well checked if there is an escape char in input buffer.
* qmi-firmware-update: fix seg fault in case of error in hdlc_unframeChristophe Ronco2017-01-171-1/+1
|
* qmi-firmware-update: new --modem-storage-index optionAleksander Morgado2017-01-168-1/+62
|
* qmi-firmware-update: new --override-download optionAleksander Morgado2017-01-165-1/+20
| | | | | | | | | | | | | | 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.
* qmi-firmware-update: rename --force to --ignore-version-errorsAleksander Morgado2017-01-165-24/+24
| | | | The --force name is too generic, and we may want to have other similar flags.
* qmi-firmware-update: QmiDevice open flags are genericAleksander Morgado2017-01-161-8/+8
| | | | | These are no longer update-action specific, as they also apply e.g. when doing a reset.
* qmi-firmware-update: waiting for power cycle up to 120sAleksander Morgado2017-01-161-1/+1
| | | | | The MC7455 may need around 70s for a complete reboot when selecting a firmware preference for already stored images.
* qmi-firmware-update: print firmware preference before/after updateAleksander Morgado2017-01-164-58/+114
|
* qmi-firmware-update: if no download needed, still run resetAleksander Morgado2017-01-161-4/+10
| | | | | | | 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.
* qmi-firmware-update: allow skipping new firmware validationAleksander Morgado2017-01-168-10/+44
| | | | And increase amount of retries.
* qmi-firmware-update: use SYNC flag when opening deviceAleksander Morgado2017-01-161-1/+1
| | | | So that we reset any existing client ids.
* qmi-firmware-update: try to use DMS 0x0050 for boot and hold as wellAleksander Morgado2017-01-161-5/+88
| | | | | This is what more generic Qualcomm software (E.g. Novatel E396) does to get into QDL download mode.
* qmi-firmware-update: offline+reset based power cycle as helperAleksander Morgado2017-01-163-63/+151
|
* qmi-firmware-update: small fix in udev event managementChristophe Ronco2017-01-161-0/+2
|
* qmi-firmware-update: fix compilation inside yoctoChristophe Ronco2017-01-161-3/+3
| | | | | In Yocto, build is done outside source directory. Without this patch, generated enum files are empty.
* qmi-firmware-update: by default no warning messages, only errorsAleksander Morgado2017-01-162-2/+1
|
* qmi-firmware-update: retry reloading device info several timesAleksander Morgado2017-01-161-4/+20
| | | | | 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.
* qmi-firmware-update: improve stdout progress reportingAleksander Morgado2017-01-161-15/+47
|
* qmi-firmware-update: new option to enable verbose logging file outputAleksander Morgado2017-01-164-36/+79
| | | | | | 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.
* qmi-firmware-update: load and print device capabilities after updateAleksander Morgado2017-01-161-5/+88
|
* qmi-firmware-update: load capabilities of the modem earlyAleksander Morgado2017-01-164-61/+201
| | | | Only for the update operation, though.
* qmi-firmware-update: warn about last chunk ack step taking longAleksander Morgado2017-01-161-1/+4
|
* qmi-firmware-update: don't release CID if reset operation successfulAleksander Morgado2017-01-162-34/+21
|
* qmi-firmware-update: prefer DMS 0x003e for boot & hold resetAleksander Morgado2017-01-166-49/+188
|
* qmi-firmware-update: make QMI client allocation a common utilAleksander Morgado2017-01-165-130/+222
|
* qmi-firmware-update: new 'device selection' objectAleksander Morgado2017-01-1613-347/+587
| | | | | This new object contains the logic to select which device needs to be used as target of the firmware upgrade.
* dms: add support for 'Set firmware id'Aleksander Morgado2017-01-163-0/+57
| | | | | | 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.
* qmicli,dms: new '--dms-get-software-version' operationAleksander Morgado2017-01-161-0/+52
|