aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* qmicli: add support for --nas-get-operator-nameDan Williams2017-02-144-1/+418
|
* nas: add Get Operator Name and Operator Name indicationDan Williams2017-02-143-1/+219
|
* qmi-firmware-update: fix multiline command backslashes in --help-examplesAleksander Morgado2017-02-141-3/+3
|
* qmi-firmware-update: fix 9x20 typo in --help-examples outputAleksander Morgado2017-02-141-2/+2
|
* qmi-firmware-update: fix build when udev support includedAleksander Morgado2017-02-131-0/+2
|
* libqmi-glib,wds: add missing 'Returns' in method docAleksander Morgado2017-02-131-0/+2
|
* qmi-firmware-update: allow building without udevAleksander Morgado2017-02-1311-119/+297
| | | | | | We allow running FW updates even when udev isn't available in the system. In this case, though, only the manual operations will be supported (i.e. --reset and --update-qdl).
* qmi-firmware-update: improve examplesAleksander Morgado2017-02-131-66/+103
| | | | Added example of how to manually update 9x15 and 9x30 devices.
* qmicli,uim: split SIM power on/off operations in two separate actionsAleksander Morgado2017-02-131-54/+61
| | | | | The actions map to different QMI messages, and we try to keep one action per QMI message.
* docs,uim: add missing links for 'UIM Power Off/On' requestsAleksander Morgado2017-02-131-0/+2
|
* uim: added SIM power on/off functionalityKasper Holtze2017-02-132-1/+191
|
* qmi-firmware-update: plug memleakAleksander Morgado2017-02-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ==14200== 308 (208 direct, 100 indirect) bytes in 1 blocks are definitely lost in loss record 1,163 of 1,191 ==14200== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==14200== by 0x5D34B98: g_malloc (in /usr/lib/libglib-2.0.so.0.5000.2) ==14200== by 0x5D4D0D2: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5000.2) ==14200== by 0x5D4D6FD: g_slice_alloc0 (in /usr/lib/libglib-2.0.so.0.5000.2) ==14200== by 0x5AC62B3: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.5000.2) ==14200== by 0x5AA81FA: ??? (in /usr/lib/libgobject-2.0.so.0.5000.2) ==14200== by 0x5AA9C0C: g_object_newv (in /usr/lib/libgobject-2.0.so.0.5000.2) ==14200== by 0x5AAA3C3: g_object_new (in /usr/lib/libgobject-2.0.so.0.5000.2) ==14200== by 0x5789694: g_task_new (in /usr/lib/libgio-2.0.so.0.5000.2) ==14200== by 0x40D2E1: qfu_udev_helper_wait_for_device (qfu-udev-helpers.c:580) ==14200== by 0x40753D: qfu_device_selection_wait_for_tty (qfu-device-selection.c:211) ==14200== by 0x40A380: run_context_step_wait_for_tty (qfu-updater.c:798) ==14200== ==14200== 308 (208 direct, 100 indirect) bytes in 1 blocks are definitely lost in loss record 1,164 of 1,191 ==14200== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==14200== by 0x5D34B98: g_malloc (in /usr/lib/libglib-2.0.so.0.5000.2) ==14200== by 0x5D4D0D2: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5000.2) ==14200== by 0x5D4D6FD: g_slice_alloc0 (in /usr/lib/libglib-2.0.so.0.5000.2) ==14200== by 0x5AC62B3: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.5000.2) ==14200== by 0x5AA81FA: ??? (in /usr/lib/libgobject-2.0.so.0.5000.2) ==14200== by 0x5AA9C0C: g_object_newv (in /usr/lib/libgobject-2.0.so.0.5000.2) ==14200== by 0x5AAA3C3: g_object_new (in /usr/lib/libgobject-2.0.so.0.5000.2) ==14200== by 0x5789694: g_task_new (in /usr/lib/libgio-2.0.so.0.5000.2) ==14200== by 0x40D2E1: qfu_udev_helper_wait_for_device (qfu-udev-helpers.c:580) ==14200== by 0x4074DD: qfu_device_selection_wait_for_cdc_wdm (qfu-device-selection.c:195) ==14200== by 0x409977: run_context_step_wait_for_cdc_wdm (qfu-updater.c:579)
* qmi-firmware-update: plug memleakAleksander Morgado2017-02-101-1/+1
| | | | | | | | | | | | ==14200== 52 bytes in 1 blocks are definitely lost in loss record 792 of 1,191 ==14200== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==14200== by 0x5D34B98: g_malloc (in /usr/lib/libglib-2.0.so.0.5000.2) ==14200== by 0x5D4EC3E: g_strdup (in /usr/lib/libglib-2.0.so.0.5000.2) ==14200== by 0x40C16D: udev_helper_get_udev_device_details (qfu-udev-helpers.c:94) ==14200== by 0x40C72C: udev_helper_find_by_device_info_in_subsystem (qfu-udev-helpers.c:263) ==14200== by 0x40C978: qfu_udev_helper_find_by_device_info (qfu-udev-helpers.c:314) ==14200== by 0x4076A9: qfu_device_selection_new (qfu-device-selection.c:264) ==14200== by 0x406A99: main (qfu-main.c:559)
* qmi-firmware-update: explicitly async-close QmiDevice before exitingAleksander Morgado2017-02-101-2/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After an update operation, before exiting, we MUST close the QmiDevice using the asynchronous method, so that we wait for the inner 'MBIM close' message (when QMI over MBIM is being used). We don't want to leave the 'MBIM close done' message unread, as that seems to interfere with the next 'MBIM open' sequence. This sequence is incorrect: qmi-firmware-update ... --> mbim close (exit without reading response) qmi-firmware-update --> mbim open (seq 1) <-- mbim close done --> mbim open (seq 2) --> mbim open (seq 3) --> mbim open (seq 4) ... (times out) This sequence is correct: qmi-firmware-update ... --> mbim close <-- mbim close done (exit) qmi-firmware-update --> mbim open (seq 1) <-- mbim open done ...
* 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
|