aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* libqmi-glib,device: only define next_step if MBIM_QMUX enabledAleksander Morgado2017-02-101-0/+2
| | | | | | | | | src/libqmi-glib/qmi-device.c: In function 'device_open_context_step': src/libqmi-glib/qmi-device.c:2204:5: error: label 'next_step' defined but not used [-Werror=unused-label] next_step: ^ cc1: all warnings being treated as errors Makefile:614: recipe for target 'libqmi_glib_la-qmi-device.lo' failed
* libqmi-glib,device: don't warn on mismatched driver if no_file_checkAleksander Morgado2017-02-101-1/+1
|
* build: update copyright yearsAleksander Morgado2017-02-1082-60/+85
|
* libqmi-glib,wms: fix QmiWmsCdmaCauseCode enumeration valuesAleksander Morgado2017-02-103-59/+394
| | | | | | They all had the WDS prefix instead of WMS, so fix that. We include the old names in -compat to avoid breaking API.
* docs: update enums, flags and errors documentationAleksander Morgado2017-02-1020-125/+1496
|
* docs: update compat symbols documentationAleksander Morgado2017-02-102-48/+62
|
* docs: update QmiProxy documentationAleksander Morgado2017-02-102-35/+65
|
* docs: update utils documentationAleksander Morgado2017-02-102-402/+478
|
* data: specify 'since' tags for all messages and TLVsAleksander Morgado2017-02-1018-212/+1289
|
* libqmi,codegen: allow specifying 'since' tags for each message and TLVAleksander Morgado2017-02-105-82/+133
| | | | | The 'since' tag specifies in which major stable version the given message or TLV was introduced.
* docs: add api index for all stable major releasesAleksander Morgado2017-02-101-0/+24
|
* docs: update QmiMessageContext documentationAleksander Morgado2017-02-102-32/+70
|
* docs: update QmiMessage documentationAleksander Morgado2017-02-102-841/+948
|
* docs: update versioning documentationAleksander Morgado2017-02-101-0/+8
|
* docs: update QmiClient documentationAleksander Morgado2017-02-102-93/+193
|
* docs: update QmiDevice documentationAleksander Morgado2017-02-102-470/+610
|
* libqmi-glib,client: qmi_client_process_indication() is privateAleksander Morgado2017-02-094-5/+10
|
* libqmi-glib,device: add version introduced to qmi_device_command_full()Aleksander Morgado2017-02-091-0/+4
|
* docs: add 1.18 API listAleksander Morgado2017-02-091-0/+4
|
* qmi-firmware-update: avoid using deprecated qmi_device_close()Aleksander Morgado2017-02-092-3/+3
|
* qmicli: by default close before exitingAleksander Morgado2017-02-091-1/+16
| | | | | Otherwise the MBIM channel will be kept open and the next MBIM commands won't succeed.
* libqmi-glib,device: new qmi_device_close_async() operationAleksander Morgado2017-02-093-53/+99
| | | | | | | | | | | | | | | The sync close operation that was implemented was partially useless because the source responsible for I/O was scheduled in the main context, so we were really relying on that main context to be still running to properly finish the operation. i.e. a qmi_device_close() after the default main loop was stopped would always end up with a timeout error, as the response was never read. So, we now modify the sync operation so that it doesn't do any explicit wait for the response, we just issue the MBIM close command. And we provide a new async operation that may be used to wait for the MBIM close response.
* libqmi-glib,device: ignore driver checking when no-file-check is setAleksander Morgado2017-02-081-3/+6
| | | | | E.g. during the test fixtures in the unit tests, where we create QmiDevices for non-existent devices.
* libqmi-glib,device: consolidate iostream removal in a single methodAleksander Morgado2017-02-081-49/+8
|
* qmi-firmware-update: support automatic mode (QMI/MBIM) detection by defaultAleksander Morgado2017-02-0810-60/+58
| | | | | | | | The default, if nothing specified, is the 'auto mode', which can also be explicitly selected with --device-open-auto. The user may also select an explicit mode with --device-open-mbim or --device-open-qmi.
* qmicli: support automatic mode (QMI/MBIM) detection by defaultAleksander Morgado2017-02-081-1/+18
| | | | | | | | The default, if nothing specified, is the 'auto mode', which can also be explicitly selected with --device-open-auto. The user may also select an explicit mode with --device-open-mbim or --device-open-qmi.
* libqmi-glib: new 'auto' flag to select automatically QMI or MBIM modeAleksander Morgado2017-02-084-4/+98
|
* utils,swi-update: fix image length check in download_image()Ben Chan2017-02-061-2/+2
| | | | | | This patch fixes the image length check in download_image(). The check 'if (filelen < 0)' in download_image() is always false as 'filelen' is a size_t and thus unsigned value. The check is effectively bypassed.
* build,all: enable -Wtype-limits and fix some comparisonsDan Williams2017-02-062-2/+2
| | | | | -Wtype-limits warns when comparing unsigned variables <= 0, which we shouldn't be doing.
* glib: remove invocations of g_type_init()Ben Chan2017-02-037-10/+0
| | | | | | | g_type_init() has been deprecated (and also marked with the attribute 'deprecated') since glib 2.36 as the type system is automatically initialized. Since the minimum version of glib required by libqmi is 2.36, calling g_type_init() isn't necessarily in the libqmi code.
* qmicli,dms: fix enum cast in qmicli_read_hp_device_mode_from_stringBen Chan2017-02-031-1/+1
|
* libqmi-glib,test: use pid in virtual port namesAleksander Morgado2017-02-021-1/+6
| | | | | So that running the same test at the same time in the same machine (e.g. during the jenkins jobs...) doesn't crash.
* qmi-firmware-update: start wait sequence before QmiDevice closeAleksander Morgado2017-02-011-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [01 feb 2017, 23:14:53] [Debug] [qfu-updater] reset requested successfully... [01 feb 2017, 23:14:53] [Debug] [qfu-updater] cleaning up QMI device... [01 feb 2017, 23:14:53] [Debug] [/dev/cdc-wdm2] Releasing 'dms' client with flags 'none'... [01 feb 2017, 23:14:53] [Debug] [/dev/cdc-wdm2] Unregistered 'dms' client with ID '2' [01 feb 2017, 23:14:53] [Debug] [/dev/cdc-wdm2] Sent message... <<<<<< RAW: <<<<<< length = 12 <<<<<< data = 02:00:00:00:0C:00:00:00:0B:00:00:00 [01 feb 2017, 23:14:53] [Debug] [/dev/cdc-wdm2] Sent message (translated)... <<<<<< Header: <<<<<< length = 12 <<<<<< type = close (0x00000002) <<<<<< transaction = 11 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove ttyUSB0 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove ttyUSB1 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove wwan0 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove 2-1.4:1.0 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove 2-1.4:1.3 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove cdc-wdm2 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove 2-1.4:1.13 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove 2-1.4:1.12 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: remove 2-1.4 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add 2-1.4 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add 2-1.4:1.0 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add 2-1.4:1.3 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add 2-1.4:1.12 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add 2-1.4:1.13 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add cdc-wdm2 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add ttyUSB0 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add wwan0 [01 feb 2017, 23:15:13] [Debug] [qfu-udev] event: add ttyUSB1 [01 feb 2017, 23:15:13] [Debug] [qfu-updater] now waiting for cdc-wdm device... error: error waiting for cdc-wdm: waiting for device at '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4' timed out
* qmi-firmware-update: GUdevDevice shouldn't outlive the GUdevClientAleksander Morgado2017-02-011-53/+43
| | | | | | | | | | | Make sure all GUdevDevice objects created during the helper methods aren't unref-ed after the GUdevClient that created them. This is because the udev context is owned by the GUdevClient but also used (without any full reference) by all udev_devices (i.e. GUdevDevices) created from that same context. Quite easy to reproduce when using libudev < 218.
* qmi-firmware-update: no gudev header needed in helpers headerAleksander Morgado2017-02-011-1/+0
|
* qmi-firmware-update: plug several memleaksAleksander Morgado2017-02-013-0/+4
|
* 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
|