summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)AuthorFilesLines
2019-01-08build: bump copyrights to 2019Aleksander Morgado1-0/+1
2018-12-18libqmi-glib,device: move deprecated API to compatAleksander Morgado1-1/+2
2018-12-18libqmi-glib,message: move deprecated API to compatAleksander Morgado1-2/+2
2018-12-18libqmi-glib,utils: move deprecated API to compatAleksander Morgado1-7/+6
2018-12-16uim: implement 'Card Status' indicationBen Chan1-0/+4
2018-11-08qos: new serviceAleksander Morgado3-1/+38
For now including some basic operations and a sierra-wireless specific command that helps to query the per-flow statistics in dedicated LTE bearers.
2018-10-26uim: 'Application Identifier' is not a stringAleksander Morgado1-0/+14
The 'Application Identifier' value given in the 'Session Information' TLVs is not a string, it's a generic byte array, as seen in the "UIM Get Card Status" output, e.g.: Card [0]: Card state: 'present' UPIN state: 'not-initialized' UPIN retries: '0' UPUK retries: '0' Application [0]: Application type: 'usim (2)' Application state: 'ready' Application ID: A0:00:00:00:87:10:02:FF:34:FF:07:89:31:2E:30:FF Personalization state: 'ready' UPIN replaces PIN1: 'no' PIN1 state: 'disabled' PIN1 retries: '3' PUK1 retries: '10' PIN2 state: 'enabled-not-verified' PIN2 retries: '3' PUK2 retries: '10' We update the libqmi API to allow setting/getting the TLV with the correct format, and for that we rename the TLV to just 'Session', and we flag as deprecated the old TLV format, for which we provide compat replacements.
2018-08-05doc: add missing reference to WDS SWI Create Profile IndexedAleksander Morgado1-0/+1
2018-07-28loc: support 'Inject Xtra Data'Aleksander Morgado1-0/+2
The 'Inject Predicted Orbits Data' operation seems unsupported in newer modems, in favour of this more specific 'Inject Xtra Data'.
2018-07-26docs: add missing WDS get/set default profile num documentationAleksander Morgado2-0/+7
2018-07-10loc: support 'Delete Assistance Data' request/response/indicationAleksander Morgado2-0/+19
2018-07-10loc: support for injecting predicted orbits dataAleksander Morgado2-0/+9
2018-07-10loc: implement 'Set Operation Mode' indicationAleksander Morgado1-0/+1
2018-07-10loc: implement 'Set Server' request/response/indicationAleksander Morgado1-0/+2
2018-07-10loc: implement 'Get Server' request/response/indicationAleksander Morgado2-0/+12
2018-07-10libqmi-glib,loc: string helper methods doc next to corresponding enumAleksander Morgado1-4/+4
2018-07-10libqmi-glib,loc: remove QmiLocAltitudeAssumed, it's just a booleanAleksander Morgado1-5/+0
2018-07-10libqmi-glib/qmicli,loc: rename 'gnss satellite info' to 'gnss sv info'Aleksander Morgado1-1/+1
2018-07-10libqmi-glib,message: new qmi_message_tlv_read_gfloat_endian()Aleksander Morgado1-1/+2
Instead of breaking the qmi_message_tlv_read_gfloat() API, we leave the method in compat, flagged as deprecated, and we introduce a new method that allows specifying the endianness. See: https://gitlab.freedesktop.org/mobile-broadband/libqmi/issues/1
2018-06-24docs: add missing reference to QMI_PROTOCOL_ERROR_QOS_UNAVAILABLEAleksander Morgado1-0/+1
2018-03-15docs: add section for new symbols in 1.22Dan Williams1-0/+4
2018-03-15loc: add definitions for more messagesThomas Weißschuh2-0/+82
2018-03-15qmi-codegen: add support for gdoubleThomas Weißschuh1-0/+1
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.