summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-23fixup! libqmi-glib,qmi-codegen: add endian-ness annotation capabilityendianAleksander Morgado
2012-10-22wds: annotate GetCurrentSettings with correct byte ordersDan Williams
IPv6 addresses are always sent in network byte order. Oddly, IPv4 addresses appear to be sent as LE uint32s rather than BE/network byte order.
2012-10-19libqmi-glib,qmi-codegen: add endian-ness annotation capabilityDan Williams
Some values are sent by the firmware in big endian byte order, specifically IP addresses, which are sent in network byte order (ie, big endian). Add the ability to specify the byte order the firmware handles the value as, and convert that to host byte order when reading/writing QMI buffers.
2012-10-10libqmi-glib,qmi-codegen: cancelled operations will issue an ABORT messageAleksander Morgado
We allow passing a GCancellable to every async operation with the clients. Now, if the cancellable gets cancelled and the operation can be ABORT-ed, then we do it.
2012-10-10libqmi-glib,device: avoid invalid reads in the sync indication callbackAleksander Morgado
If we don't disconnect the signal handler when we clear the private QmiClientCtl, we may end up in the situation where we try to use the already disposed QmiDevice object.
2012-10-10wds: "Start Network" may be abortedAleksander Morgado
2012-10-10nas: "Network Scan" may be abortedAleksander Morgado
2012-10-10libqmi-glib,qmi-codegen: timed out operations will issue an ABORT messageAleksander Morgado
Messages can now be tagged with a special 'abort' keyword, so that whenever the message times out we issue a new ABORT command to cancel the specific timed out request. This support is currently only available for the NAS and WDS services, which are the ones supporting ABORT for their long-running operations.
2012-10-10libqmi-glib,device: include missing `qmi_device_command()' documentationAleksander Morgado
2012-10-10docs: hide class structures of `QmiDevice' and `QmiClient'Aleksander Morgado
2012-10-10dms: activation state related commands already in DMS 1.3Aleksander Morgado
2012-10-09build: fix documentation buildAleksander Morgado
2012-10-09cli: traces enabled if running in verbose modeAleksander Morgado
2012-10-09libqmi-glib: message traces compiled alwaysAleksander Morgado
Message traces have been very useful when debugging issues in the protocol, and we should avoid requiring a full recompilation in order to get them enabled. Instead, we provide two new API methods, `qmi_utils_(get|set)_traces_enabled()', which allow specifying whether traces should be dumped with g_debug() or not.
2012-10-09libqmi-glib,utils: improve documentationAleksander Morgado
2012-10-09libqmi-glib,utils: make qmi_utils_str_hex() private to the libraryAleksander Morgado
2012-10-09device: remove transaction ID related traces, not useful any moreAleksander Morgado
2012-10-09qmi-codegen: make internal get_printable() and get_version_introduced()Aleksander Morgado
These methods are (should only be) used only by the library.
2012-10-09docs: improve documentation of enums, flags and errorsAleksander Morgado
2012-10-09qmi-codegen: request creator and response/indication parsers are privateAleksander Morgado
2012-10-09libqmi-glib: completely hide the implicit CTL Client in the APIAleksander Morgado
2012-10-09build,libqmi-glib: only allow including `libqmi-glib.h' directlyAleksander Morgado
2012-10-09build,libqmi-glib: include missing headers in SOURCESAleksander Morgado
2012-10-09libqmi-glib: new header file for private enum/flag typesAleksander Morgado
2012-10-09build: include missing files in distAleksander Morgado
2012-10-09docs: improve generated `libqmi-glib' documentationAleksander Morgado
Among the tons of fixes done here, we now generate some per-service .sections file which we then concatenate to build the final libqmi-glib-sections.txt file.
2012-10-09build: compile all generated code into a non-installable libraryAleksander Morgado
Also simplify the build by using BUILT_SOURCES to avoid needing to specify custom dependency rules.
2012-10-09libmm-glib: fix multiple documentation issuesAleksander Morgado
2012-09-27cli: format fixDan Williams
2012-09-27nas: Ec/Io given always as a signed integerAleksander Morgado
2012-09-27cli: skip printing network info for SINR and IOAleksander Morgado
Seems that SINR and IO, even if they are supposedly only meaningful in EV-DO, may still be given for other networks. [27 Sep 2012, 11:17:36] [Debug] [/dev/cdc-wdm0] Received message... >>>>>> QMUX: >>>>>> length = 49 >>>>>> flags = 0x80 >>>>>> service = "nas" >>>>>> client = 6 >>>>>> QMI: >>>>>> flags = "response" >>>>>> transaction = 1 >>>>>> tlv_length = 37 >>>>>> message = "Get Signal Strength" (0x0020) >>>>>> TLV: >>>>>> type = "Result" (0x02) >>>>>> length = 4 >>>>>> value = 00:00:00:00 >>>>>> translated = SUCCESS >>>>>> TLV: >>>>>> type = "Signal Strength" (0x01) >>>>>> length = 2 >>>>>> value = A8:05 >>>>>> translated = [ strength = '-88' radio_interface = '5' ] >>>>>> TLV: >>>>>> type = "RSSI List" (0x11) >>>>>> length = 4 >>>>>> value = 01:00:58:05 >>>>>> translated = { [0] = '[ rssi = '88' radio_interface = '5' ] '} >>>>>> TLV: >>>>>> type = "ECIO List" (0x12) >>>>>> length = 4 >>>>>> value = 01:00:FC:05 >>>>>> translated = { [0] = '[ ecio = '252' radio_interface = '5' ] '} >>>>>> TLV: >>>>>> type = "IO" (0x13) >>>>>> length = 4 >>>>>> value = 96:FF:FF:FF >>>>>> translated = -106 >>>>>> TLV: >>>>>> type = "SINR" (0x14) >>>>>> length = 1 >>>>>> value = 08 >>>>>> translated = 8
2012-09-26cli: avoid shadowing the global `index' variableAleksander Morgado
2012-09-26libqmi-glib,utils: handle alignment issues when reading integers from the bufferAleksander Morgado
Some architectures require that the value of a pointer is aligned in memory. Given that we're reading from a raw buffer, the integers in it may not end up aligned so we cannot safely cast any address to a valid 16/32/64 bit integer value. Handle this by copying the integer from the raw buffer directly into the output variable, which is of course properly aligned. Also added new test cases to check this. Thanks to: Shawn J. Goff <shawnjgoff@gmail.com> for reporting the issue and his endless tests.
2012-09-26cli: new `--dms-select-stored-image' actionAleksander Morgado
Can be run e.g. like: $> sudo qmicli -d /dev/cdc-wdm0 --dms-select-stored-image="modem1,pri2"
2012-09-26cli: new `--dms-delete-stored-image' actionAleksander Morgado
Can be run e.g. like: $> sudo qmicli -d /dev/cdc-wdm0 --dms-delete-stored-image="pri2" The passed index is the one given by a previous `--dms-list-stored-images' action. Please note that if you delete a given image, the listed indexes will change, so if you want to delete multiple images you'll need to first list stored images and grab the index and then use that bew index to delete the new image. Also, don't try this command many times or you'll run out of images to delete!
2012-09-26cli: new `--dms-list-stored-images' actionAleksander Morgado
2012-09-26dms: implement "Set Firmware Preference" request/responseAleksander Morgado
2012-09-26dms: implement "Delete Stored Image" request/responseAleksander Morgado
2012-09-26dms: implement "Get Stored Image Info" request/responseAleksander Morgado
2012-09-26dms: implement "List Stored Images" request/responseAleksander Morgado
2012-09-26dms: implement "Get Firmware Preference" request/responseAleksander Morgado
2012-09-26qmi-codegen: don't issue the array element clear function on 'Input' arraysAleksander Morgado
When an array is required to be passed in an input TLV, the user who created it is responsible for freeing it. Therefore, we should not dump the static array element clear function in these cases, or these unused methods will end up breaking the compilation.
2012-09-26libqmi-glib,tests: new tests to check parsing valid/invalid QMI messagesAleksander Morgado
2012-09-26message: document the sectionAleksander Morgado
2012-09-26message: `QmiMessage' objects are always validAleksander Morgado
We make sure that every `QmiMessage' object out there is valid according to our now internal message_check(). Therefore, it's pointless to run the validity checks in getters, so remove those.
2012-09-26message: the `QmiMessage' is now a `GByteArray'Aleksander Morgado
Why have our own ref-counted byte array when we can use the default glib one?
2012-09-26message: use a modifiable `GByteArray' in `qmi_message_new_from_raw ()'Aleksander Morgado
Passing a modifiable `GByteArray' allows us to run the validity check as soon as we create the `QmiMessage', given that we can remove the read chunk of data from the input buffer directly. This removal takes place both when the QMI message is valid and invalid.
2012-09-26message: improve header readabilityAleksander Morgado
2012-09-26message: cleanup `QmiMessage' content gettersAleksander Morgado
2012-09-26message: cleanup `QmiMessage' life cycle helpersAleksander Morgado