summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)AuthorFilesLines
2018-01-20docs: update copyright year to 2018Aleksander Morgado1-0/+1
2017-11-27libqmi-glib,client: new 'client-valid' propertyAleksander Morgado1-0/+2
It may happen that the lifecycle of a QmiDevice and its allocated QmiClients is managed in a different place of where the QmiClient commands are run, which may keep a QmiClient reference of its own. In this setup, it may happen that the QmiDevice is closed and all clients released while there are still full QmiClient references around that the client may try to use. When this happens, the client operation didn't fail with an error, instead it would just issue a 'QMI_IS_DEVICE (self)' failed warning and go on. ... [/dev/cdc-wdm0] Releasing 'dms' client with flags 'release-cid'... [/dev/cdc-wdm0] Unregistered 'dms' client with ID '10' [/dev/cdc-wdm0] sent message... <<<<<< RAW: <<<<<< length = 17 <<<<<< data = 01:10:00:00:00:00:00:0C:23:00:05:00:01:02:00:02:0A [/dev/cdc-wdm0] sent generic request (translated)... <<<<<< QMUX: <<<<<< length = 16 <<<<<< flags = 0x00 <<<<<< service = "ctl" <<<<<< client = 0 <<<<<< QMI: <<<<<< flags = "none" <<<<<< transaction = 12 <<<<<< tlv_length = 5 <<<<<< message = "Release CID" (0x0023) <<<<<< TLV: <<<<<< type = "Release Info" (0x01) <<<<<< length = 2 <<<<<< value = 02:0A <<<<<< translated = [ service = 'dms' cid = '10' ] qmi_device_command_full: assertion 'QMI_IS_DEVICE (self)' failed <warn> [062790.772245] checking if connected failed: Transaction timed out <debug> [062793.774332] Couldn't refresh CDMA registration status: 'QMI operation failed: Transaction timed out' <debug> [062793.774398] Couldn't refresh signal quality: 'Transaction timed out' <debug> [062793.774414] Periodic signal checks not rescheduled: disabled qmi_device_command_full: assertion 'QMI_IS_DEVICE (self)' failed <warn> [062795.773381] Reloading stats failed: QMI operation failed: Transaction timed out <warn> [062795.773425] checking if connected failed: Transaction timed out qmi_device_command_full: assertion 'QMI_IS_DEVICE (self)' failed qmi_device_command_full: assertion 'QMI_IS_DEVICE (self)' failed ... We avoid this situation by exposing a new 'client-valid' property that users may check before running any command. This same check is now also internally done by all commands so that we cleanly error out if we detect that the client isn't valid.
2017-10-30dms: new 'Swi Get/Set USB Composition' messagesAleksander Morgado2-0/+8
And corresponding '--dms-swi-get-usb-composition' and '--dms-swi-set-usb-composition=[x]' qmicli actions. Based on Bjørn Mork's swi_setusbcomp.pl tool: https://git.mork.no/?p=wwan.git;a=blob_plain;f=scripts/swi_setusbcomp.pl $ sudo qmicli -d /dev/cdc-wdm2 --dms-swi-get-usb-composition [/dev/cdc-wdm2] Successfully retrieved USB compositions: USB composition 6: DM, NMEA, AT, QMI [*] USB composition 8: DM, NMEA, AT, MBIM USB composition 9: MBIM $ sudo qmicli -d /dev/cdc-wdm2 --dms-swi-set-usb-composition=9 [/dev/cdc-wdm2] Successfully set USB composition You may want to power-cycle the modem now, or just set it offline and reset it: $> sudo qmicli ... --dms-set-operating-mode=offline $> sudo qmicli ... --dms-set-operating-mode=reset $ sudo qmicli -d /dev/cdc-wdm2 --dms-set-operating-mode=offline [/dev/cdc-wdm2] Operating mode set successfully $ sudo qmicli -d /dev/cdc-wdm2 --dms-set-operating-mode=reset [/dev/cdc-wdm2] Operating mode set successfully (module reboots) $ sudo qmicli -d /dev/cdc-wdm2 --dms-swi-get-usb-composition [/dev/cdc-wdm2] Successfully retrieved USB compositions: USB composition 6: DM, NMEA, AT, QMI USB composition 8: DM, NMEA, AT, MBIM [*] USB composition 9: MBIM
2017-10-06libqmi-glib: fix 'device-removed' signal documentationAleksander Morgado1-0/+1
2017-09-13doc: now new symbols were introduced in libqmi 1.2Aleksander Morgado1-4/+0
2017-09-13api: don't use intermediate variables for deprecation warningsAleksander Morgado2-1/+4
Using an intermediate constant variable breaks compilation with C compilers, as these variables cannot be used as initializers. Instead, define a deprecated type and cast all deprecated symbols to that type. We lose the information about what the new replacement symbol is, but we don't break compilation. Also, add QMI_DISABLE_DEPRECATED guards around deprecated symbols. So that when this symbol is defined, e.g. via CFLAGS, building a program that uses the libmbim API will fail if the program references deprecated symbols. For now we just use it to keep gtk-doc-scan happy and avoid unnecessary warnings. Equivalent to ModemManager commits eedd4ab4457 and f0bb6ef856.
2017-06-28doc: add missing 'WDS Get Channel Rates' documentationAleksander Morgado1-0/+1
2017-05-09nas: add Attach/Detach messageDan Williams2-0/+10
2017-04-17loc: add boilerplate and start/stop message skeletonsDan Williams3-1/+29
2017-03-22docs,man: generate man page for qmi-firmware-updateAleksander Morgado1-2/+17
2017-03-01docs: add missing 'WDS Bind MUX data port' documentationAleksander Morgado1-0/+1
2017-03-01libqmi-glib: fix enum nicknames with '3gpp' on itAleksander Morgado1-8/+8
2017-02-28docs: add missing documentation fo QmiWdsClientTypeAleksander Morgado1-0/+5
2017-02-28docs: add missing documentation for QmiDataEndpointTypeAleksander Morgado1-0/+5
2017-02-23docs: add missing references to Operator Name messagesAleksander Morgado2-0/+22
2017-02-13docs,uim: add missing links for 'UIM Power Off/On' requestsAleksander Morgado1-0/+2
2017-02-10build: update copyright yearsAleksander Morgado1-0/+1
2017-02-10libqmi-glib,wms: fix QmiWmsCdmaCauseCode enumeration valuesAleksander Morgado1-0/+28
They all had the WDS prefix instead of WMS, so fix that. We include the old names in -compat to avoid breaking API.
2017-02-10docs: add api index for all stable major releasesAleksander Morgado1-0/+24
2017-02-09libqmi-glib,client: qmi_client_process_indication() is privateAleksander Morgado1-0/+1
2017-02-09docs: add 1.18 API listAleksander Morgado1-0/+4
2017-02-09libqmi-glib,device: new qmi_device_close_async() operationAleksander Morgado1-0/+2
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.
2017-01-29dms: new 'SWI Get Current Firmware'Aleksander Morgado1-0/+1
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
2017-01-29libqmi-glib: support vendor-specific request/responsesAleksander Morgado2-0/+19
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.
2017-01-29dms: renamed DMS 0x5556 to 'HP Change Device Mode'Aleksander Morgado2-1/+6
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.
2017-01-20docs: add 1.16 API listAleksander Morgado1-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).
2017-01-16dms: add support for 'Set firmware id'Aleksander Morgado1-0/+1
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.
2017-01-16dms: implement 'Get/Set Boot Image Download Mode'Aleksander Morgado2-0/+7
2016-10-26pdc: new PDC service implementationAliaksandr Barouski3-0/+45
Added calls for configure hp4120 LTE modem
2016-10-24dms: new 'Change Device Download Mode' commandAleksander Morgado1-0/+1
Based on a patch from Aliaksandr Barouski <alex.borovsky@gmail.com> https://bugs.freedesktop.org/show_bug.cgi?id=96465
2016-10-06wds: add more TLVs and ModifyProfile/DeleteProfile requestsDan Williams2-0/+7
2016-10-06wds: add more Profile-related TLVsDan Williams1-0/+10
2016-10-06wds: add Go Dormant, Go Active, and Get Dormancy StatusDan Williams1-0/+3
2016-10-06wds: add Set Event Report and Event Report IndicationDan Williams2-0/+57
2016-10-04docs: add missing reference for 'WDS create profile'Dan Williams1-0/+1
2016-07-07docs: add missing reference for 'NAS force network search'Aleksander Morgado1-0/+1
2016-07-07libqmi-glib,version: new symbol to flag qmi-over-mbim supportAleksander Morgado1-1/+2
2016-04-03libqmi-glib: handle api break introduced in 7fe1238 (released in 1.14.0)Aleksander Morgado1-0/+3
We provide a compatibility symbol to try to provide a better backwards compatibility.
2016-04-03libqmi-glib: handle api break introduced in 7ca279e9a42 (released in 1.14.0)Aleksander Morgado2-0/+13
Commit 7ca279e9a42 introduced a couple of method renames that we now try to recover in order to provide a better backwards API compatibility.
2016-04-03docs: add missing entries for 'NAS Get LTE Cphy CA Info'Aleksander Morgado2-0/+11
2016-03-17docs: updated copyright yearsAleksander Morgado1-0/+4
2016-03-17docs: include 1.12 and 1.14 symbols listAleksander Morgado1-0/+8
2016-01-30uim: implement 'UIM Change PIN'Aleksander Morgado1-0/+1
2016-01-30uim: implement 'UIM Unblock PIN'Aleksander Morgado1-0/+1
2016-01-30uim: implement 'UIM Verify PIN'Aleksander Morgado1-0/+1
2016-01-30uim: implement 'UIM Set PIN protection'Aleksander Morgado2-0/+6
2016-01-24docs: add missing GetPdnThrottleInfo() documentationAleksander Morgado2-0/+6
2016-01-24libqmi-glib,device: new getter/setter for the expected data format in the kernelAleksander Morgado1-0/+7
Userspace is in charge of defining the data format to be used in the WWAN net interface, both in the device itself (e.g. through CTL or WDA requests) and also in the kernel (e.g. through /sys/class/net/<WWAN>/qmi/raw_ip sysfs files). These new API methods allow to query and modify the data format expected by the kernel.
2015-10-06wds: new 'WDS Set Autoconnect Setting' command supportAleksander Morgado1-0/+1
2015-10-06wds: new 'WDS Get Autoconnect Setting' command supportAleksander Morgado2-0/+11