Ben Chan [Fri, 10 May 2013 07:56:02 +0000 (00:56 -0700)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: I400f299c4fef607c39b24ebd33f27c22cde8127f
Aleksander Morgado [Fri, 10 May 2013 07:50:49 +0000 (09:50 +0200)]
build: use AM_CPPFLAGS instead of INCLUDES
Fixes recent automake warnings.
Ben Chan [Fri, 10 May 2013 07:33:41 +0000 (00:33 -0700)]
cli,nas: use '%u' for printing cell IDs
This patch fixes the following type mismatches in the format string for
printing cell IDs:
qmicli-nas.c:1271:71: error: format specifies type 'unsigned short' but the argument has type 'guint32' (aka 'unsigned int') [-Werror,-Wformat]
g_print ("\t\tCell ID: '%" G_GUINT16_FORMAT"'\n", cid);
~~~ ^~~
qmicli-nas.c:1391:71: error: format specifies type 'unsigned short' but the argument has type 'guint32' (aka 'unsigned int') [-Werror,-Wformat]
g_print ("\t\tCell ID: '%" G_GUINT16_FORMAT"'\n", cid);
~~~ ^~~
qmicli-nas.c:1505:71: error: format specifies type 'unsigned short' but the argument has type 'guint32' (aka 'unsigned int') [-Werror,-Wformat]
g_print ("\t\tCell ID: '%" G_GUINT16_FORMAT"'\n", cid);
~~~ ^~~
qmicli-nas.c:1626:71: error: format specifies type 'unsigned short' but the argument has type 'guint32' (aka 'unsigned int') [-Werror,-Wformat]
g_print ("\t\tCell ID: '%" G_GUINT16_FORMAT"'\n", cid);
~~~ ^~~
Bug reported on https://code.google.com/p/chromium/issues/detail?id=239736
Yanko Kaneti [Mon, 6 May 2013 22:06:53 +0000 (17:06 -0500)]
docs: always generate docs at dist time
The pregenerated docs will be in the dist tarball, and will even
be installed with 'make install' when building the dist tarball.
Aleksander Morgado [Tue, 30 Apr 2013 13:45:44 +0000 (15:45 +0200)]
cli,nas: fix persistence technology preference reporting
Dan Williams [Fri, 19 Apr 2013 22:27:02 +0000 (17:27 -0500)]
dms: DMS v1.1 supports GetOperatingMode/SetOperatingMode
My Gobi 1K with 2008-era firmware and DMS v1.1 supports these, so
whatever docs said they required DMS 1.2 are wrong.
Dan Williams [Wed, 17 Apr 2013 15:44:23 +0000 (10:44 -0500)]
cli: implement Set System Selection Preference
Ben Chan [Thu, 21 Mar 2013 18:33:43 +0000 (11:33 -0700)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Arman Uguray [Wed, 20 Mar 2013 19:28:31 +0000 (12:28 -0700)]
cli: Add --dms-activate-manual
Added the --dms-activate-manual option to the client, which triggers
manual activation.
Dan Williams [Wed, 20 Mar 2013 13:52:47 +0000 (08:52 -0500)]
release: bump version to 1.3.0 (development)
Dan Williams [Tue, 19 Mar 2013 21:14:50 +0000 (16:14 -0500)]
release: bump version to 1.2.0
Dan Williams [Tue, 19 Mar 2013 21:14:39 +0000 (16:14 -0500)]
release: update NEWS
Evan Nemerson [Tue, 19 Feb 2013 11:13:05 +0000 (03:13 -0800)]
build: fix passing arguments to configure from autogen.sh
Aleksander Morgado [Wed, 6 Mar 2013 19:42:35 +0000 (20:42 +0100)]
dms: activation code string needs explicit 1-byte length prefix
Reported by Arman Uguray <armansito@google.com>
Ben Chan [Thu, 7 Mar 2013 01:03:50 +0000 (17:03 -0800)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: I668282a08373c80bec37e354a40167139945c267
Arman Uguray [Wed, 6 Mar 2013 21:36:41 +0000 (13:36 -0800)]
cli: fix call to --dms-activate-automatic
--dms-activate-automatic incorrectly calls
qmi_client_dms_get_activation_state. This patch corrects it
so that it calls qmi_client_dms_activate_automatic.
Ben Chan [Fri, 22 Feb 2013 06:02:30 +0000 (22:02 -0800)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: Ifdc9baacffc2ab37edebb0e55b3488ad75313ec6
Shawn J. Goff [Fri, 15 Feb 2013 20:18:31 +0000 (15:18 -0500)]
qmi-network: Fix grabbing output from lines with spaces
The qmi-network script used awk with a field separator of ":". The
output looked like key: 'value'. The second field in this case includes
a space at the beginning. This was making the 'status' command fail.
Now, we account for the space. It is now also not dependent on awk
(this can matter on embedded systems).
Shawn J. Goff [Fri, 15 Feb 2013 20:18:30 +0000 (15:18 -0500)]
cli,wds: make packet data handle formatting consistent
Other values are surrounded by single quotes. The debug test in
utils/qmi-network also shows the output in quotes.
Ben Chan [Wed, 13 Feb 2013 19:27:56 +0000 (11:27 -0800)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: I56daebd047fa4a58329103b80b30f7d697899aea
Aleksander Morgado [Tue, 22 Jan 2013 16:17:31 +0000 (17:17 +0100)]
cli,nas: fix 2 or 3 digit MNC printing in several actions
https://bugs.freedesktop.org/show_bug.cgi?id=59664
Aleksander Morgado [Mon, 14 Jan 2013 12:56:37 +0000 (13:56 +0100)]
cli: all sources are GPLv2+
André Valentin [Wed, 9 Jan 2013 11:14:23 +0000 (12:14 +0100)]
cli: allow specifying auth info in the start network command
André Valentin [Wed, 9 Jan 2013 11:09:52 +0000 (12:09 +0100)]
qmicli: update timeout for the start network command
Ben Chan [Thu, 27 Dec 2012 22:33:18 +0000 (14:33 -0800)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: Icd83ba97c5dcbf0aa09d9a364e6f3e582b3dc237
Marius Kotsbak [Mon, 24 Dec 2012 10:45:40 +0000 (11:45 +0100)]
qmi-codegen: clean up compiled python files
These caused problems for deb packaging, as their content depends on the Python
version used.
Shawn J. Goff [Mon, 17 Dec 2012 21:29:17 +0000 (16:29 -0500)]
qmi-codegen python3: change string.lower(str) to str.lower()
The string.lower(str) class method is no longer available.
sed regex:
s/string\.lower(\(.*\))/\1.lower()/
Shawn J. Goff [Mon, 17 Dec 2012 21:29:16 +0000 (16:29 -0500)]
qmi-codegen python3: fix dict.has_key('key') to 'key' in dict
Python 3 no longer supports the has_key() method.
sed regex:
s/\([^ ]\+\)\.has_key(\([^)]*\))/\2 in \1/g
Shawn J. Goff [Mon, 17 Dec 2012 21:29:15 +0000 (16:29 -0500)]
qmi-codegen python3: change string.replace() class method use to str.replace() instance method
Python 3 doesn't support the replace class method; it's now an instance method only.
string.replace(object, old, new) changes to object.replace(old, new)
sed:
s/string\.replace(\([^,]*\), /\1.replace(/
Dan Williams [Mon, 17 Dec 2012 17:37:31 +0000 (11:37 -0600)]
qmi-codegen: fix some python3 compatibility issues
Simple methods are no longer in the string module.
Ben Chan [Tue, 20 Nov 2012 04:12:14 +0000 (20:12 -0800)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: Iba10654ab918e7c2e2a07ca400fbfe006c09e5af
Dan Williams [Mon, 12 Nov 2012 20:13:15 +0000 (14:13 -0600)]
gobi-api: add GobiAPI_2012-09-12-0719
Dan Williams [Mon, 12 Nov 2012 18:23:05 +0000 (12:23 -0600)]
release: bump version to 1.0.0
Dan Williams [Mon, 12 Nov 2012 18:17:03 +0000 (12:17 -0600)]
release: update NEWS
Aleksander Morgado [Thu, 8 Nov 2012 19:44:31 +0000 (20:44 +0100)]
libqmi-glib,test: enable tests expecting warnings only if glib >= 2.34
Ben Chan [Sun, 4 Nov 2012 21:56:46 +0000 (13:56 -0800)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: I1228f9e659c278f64de5d25a160d604cce923804
Aleksander Morgado [Fri, 2 Nov 2012 13:11:36 +0000 (14:11 +0100)]
nas: new 'QMI_NAS_DATA_CAPABILITY_NONE' enum value
Aleksander Morgado [Fri, 2 Nov 2012 12:13:47 +0000 (13:13 +0100)]
qmi-codegen: translate the values of enums/flags in traces
Aleksander Morgado [Fri, 2 Nov 2012 12:13:04 +0000 (13:13 +0100)]
libqmi-glib: make 'QmiCtlDataLinkProtocol' a enum instead of flags
If the values are like flags, but mutually exclusive, just set it as an enum.
Aleksander Morgado [Fri, 2 Nov 2012 11:19:41 +0000 (12:19 +0100)]
cli: log messages from the 'Qmi' domain
Aleksander Morgado [Fri, 2 Nov 2012 08:28:14 +0000 (09:28 +0100)]
docs: add missing documentation for "NAS Get CDMA Position Info"
Aleksander Morgado [Fri, 2 Nov 2012 07:56:35 +0000 (08:56 +0100)]
qmi-codegen: fix computation of expected TLV length when using strings
Dan Williams [Wed, 31 Oct 2012 19:12:14 +0000 (14:12 -0500)]
nas: add Get CDMA Position Info
Not sure what NAS version supports it, but at least NAS 1.3 is required.
Aleksander Morgado [Mon, 29 Oct 2012 09:54:48 +0000 (10:54 +0100)]
libqmi-glib,test: new test for messages with invalid TLVs
Aleksander Morgado [Tue, 30 Oct 2012 14:08:02 +0000 (15:08 +0100)]
qmi-codegen: validate TLV before really reading it
Try to handle buggy firmware, or just make the library more robust, by
validating the read TLV before really reading it. If a TLV is not considered
valid, we just skip it for now.
E.g.: the "Detailed Service Status" TLV (0x21) in the "NAS Get Serving System"
message is supposed to be a sequence of 5 bytes, but some models (e.g. ZTE MF683)
end up sending only the first 4 bytes.
Aleksander Morgado [Tue, 30 Oct 2012 15:24:16 +0000 (16:24 +0100)]
Revert "libqmi-glib,message: include raw data buffer when building printable string"
This reverts commit
d89b9064afa991d5cc7737fa9b0b1b55c0e31158.
We already print the raw buffer when sending/receiving the message in QmiDevice,
which is actually better as we end up priting it *before* parsing it, so it's
much better for debugging purposes.
Aleksander Morgado [Tue, 30 Oct 2012 14:08:35 +0000 (15:08 +0100)]
libqmi-glib,test: include printable string in message tests
Aleksander Morgado [Tue, 30 Oct 2012 14:02:24 +0000 (15:02 +0100)]
libqmi-glib: define library G_LOG_DOMAIN
Aleksander Morgado [Tue, 30 Oct 2012 11:56:13 +0000 (12:56 +0100)]
libqmi-glib,utils: minor documentation fix
Aleksander Morgado [Mon, 29 Oct 2012 10:08:05 +0000 (11:08 +0100)]
libqmi-glib,message: include raw data buffer when building printable string
Aleksander Morgado [Mon, 29 Oct 2012 11:00:27 +0000 (12:00 +0100)]
libqmi-glib,device: print raw sent/received message before translating it
This will help us debug issues in the message translation.
Aleksander Morgado [Mon, 29 Oct 2012 10:44:24 +0000 (11:44 +0100)]
libqmi-glib,utils: no need to pass endianness when reading/writing single bytes
Ben Chan [Fri, 26 Oct 2012 15:13:18 +0000 (08:13 -0700)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: I35274a07e48ea4d14608faaf67244eb4174463ec
Aleksander Morgado [Thu, 25 Oct 2012 10:31:03 +0000 (12:31 +0200)]
cli,wds: print connection status string instead of integer
Dan Williams [Sat, 20 Oct 2012 00:28:23 +0000 (19:28 -0500)]
wds: annotate GetCurrentSettings with correct byte orders
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.
Dan Williams [Sat, 20 Oct 2012 00:26:15 +0000 (19:26 -0500)]
libqmi-glib,qmi-codegen: add endian-ness annotation capability
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.
Ben Chan [Tue, 16 Oct 2012 19:38:55 +0000 (12:38 -0700)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: I8e317fda3afe7cbdc8224414bf66f6963c2b64d5
Aleksander Morgado [Wed, 10 Oct 2012 19:07:53 +0000 (21:07 +0200)]
libqmi-glib,qmi-codegen: cancelled operations will issue an ABORT message
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.
Aleksander Morgado [Wed, 10 Oct 2012 19:06:42 +0000 (21:06 +0200)]
libqmi-glib,device: avoid invalid reads in the sync indication callback
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.
Aleksander Morgado [Wed, 10 Oct 2012 17:50:07 +0000 (19:50 +0200)]
wds: "Start Network" may be aborted
Aleksander Morgado [Wed, 10 Oct 2012 17:49:54 +0000 (19:49 +0200)]
nas: "Network Scan" may be aborted
Aleksander Morgado [Wed, 10 Oct 2012 17:49:21 +0000 (19:49 +0200)]
libqmi-glib,qmi-codegen: timed out operations will issue an ABORT message
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.
Aleksander Morgado [Wed, 10 Oct 2012 16:24:11 +0000 (18:24 +0200)]
libqmi-glib,device: include missing `qmi_device_command()' documentation
Aleksander Morgado [Wed, 10 Oct 2012 16:23:39 +0000 (18:23 +0200)]
docs: hide class structures of `QmiDevice' and `QmiClient'
Aleksander Morgado [Wed, 10 Oct 2012 13:02:55 +0000 (15:02 +0200)]
dms: activation state related commands already in DMS 1.3
Ben Chan [Tue, 9 Oct 2012 22:41:18 +0000 (15:41 -0700)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: Iba3f9a2ca7a39a09e9e1c847d7909f7b4302df82
Aleksander Morgado [Tue, 9 Oct 2012 18:03:57 +0000 (20:03 +0200)]
build: fix documentation build
Aleksander Morgado [Tue, 9 Oct 2012 11:44:33 +0000 (13:44 +0200)]
cli: traces enabled if running in verbose mode
Aleksander Morgado [Tue, 9 Oct 2012 11:44:16 +0000 (13:44 +0200)]
libqmi-glib: message traces compiled always
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.
Aleksander Morgado [Tue, 9 Oct 2012 11:25:10 +0000 (13:25 +0200)]
libqmi-glib,utils: improve documentation
Aleksander Morgado [Tue, 9 Oct 2012 10:58:14 +0000 (12:58 +0200)]
libqmi-glib,utils: make qmi_utils_str_hex() private to the library
Aleksander Morgado [Tue, 9 Oct 2012 10:56:51 +0000 (12:56 +0200)]
device: remove transaction ID related traces, not useful any more
Aleksander Morgado [Tue, 9 Oct 2012 10:09:44 +0000 (12:09 +0200)]
qmi-codegen: make internal get_printable() and get_version_introduced()
These methods are (should only be) used only by the library.
Aleksander Morgado [Tue, 9 Oct 2012 09:57:41 +0000 (11:57 +0200)]
docs: improve documentation of enums, flags and errors
Aleksander Morgado [Tue, 9 Oct 2012 09:24:15 +0000 (11:24 +0200)]
qmi-codegen: request creator and response/indication parsers are private
Aleksander Morgado [Tue, 9 Oct 2012 09:11:44 +0000 (11:11 +0200)]
libqmi-glib: completely hide the implicit CTL Client in the API
Aleksander Morgado [Tue, 9 Oct 2012 08:45:25 +0000 (10:45 +0200)]
build,libqmi-glib: only allow including `libqmi-glib.h' directly
Aleksander Morgado [Tue, 9 Oct 2012 08:44:15 +0000 (10:44 +0200)]
build,libqmi-glib: include missing headers in SOURCES
Aleksander Morgado [Tue, 9 Oct 2012 08:33:51 +0000 (10:33 +0200)]
libqmi-glib: new header file for private enum/flag types
Aleksander Morgado [Mon, 8 Oct 2012 18:13:39 +0000 (20:13 +0200)]
build: include missing files in dist
Aleksander Morgado [Mon, 8 Oct 2012 11:28:28 +0000 (13:28 +0200)]
docs: improve generated `libqmi-glib' documentation
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.
Aleksander Morgado [Mon, 8 Oct 2012 12:14:12 +0000 (14:14 +0200)]
build: compile all generated code into a non-installable library
Also simplify the build by using BUILT_SOURCES to avoid needing to specify
custom dependency rules.
Aleksander Morgado [Mon, 8 Oct 2012 11:17:01 +0000 (13:17 +0200)]
libmm-glib: fix multiple documentation issues
Ben Chan [Fri, 5 Oct 2012 21:10:01 +0000 (14:10 -0700)]
Merge remote-tracking branch 'cros/upstream' into 'cros/master'
Change-Id: Ib60b16de8638a40c9c694c014a707e5d6f333ba3
Dan Williams [Thu, 27 Sep 2012 16:03:39 +0000 (11:03 -0500)]
cli: format fix
Aleksander Morgado [Thu, 27 Sep 2012 10:20:14 +0000 (12:20 +0200)]
nas: Ec/Io given always as a signed integer
Aleksander Morgado [Thu, 27 Sep 2012 10:25:26 +0000 (12:25 +0200)]
cli: skip printing network info for SINR and IO
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
Aleksander Morgado [Wed, 26 Sep 2012 16:44:38 +0000 (18:44 +0200)]
cli: avoid shadowing the global `index' variable
Aleksander Morgado [Tue, 25 Sep 2012 19:31:57 +0000 (21:31 +0200)]
libqmi-glib,utils: handle alignment issues when reading integers from the buffer
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.
Aleksander Morgado [Tue, 25 Sep 2012 13:54:44 +0000 (15:54 +0200)]
cli: new `--dms-select-stored-image' action
Can be run e.g. like:
$> sudo qmicli -d /dev/cdc-wdm0 --dms-select-stored-image="modem1,pri2"
Aleksander Morgado [Tue, 25 Sep 2012 11:37:52 +0000 (13:37 +0200)]
cli: new `--dms-delete-stored-image' action
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!
Aleksander Morgado [Mon, 24 Sep 2012 04:55:21 +0000 (06:55 +0200)]
cli: new `--dms-list-stored-images' action
Aleksander Morgado [Tue, 25 Sep 2012 12:01:10 +0000 (14:01 +0200)]
dms: implement "Set Firmware Preference" request/response
Aleksander Morgado [Tue, 25 Sep 2012 09:35:41 +0000 (11:35 +0200)]
dms: implement "Delete Stored Image" request/response
Aleksander Morgado [Mon, 24 Sep 2012 05:31:54 +0000 (07:31 +0200)]
dms: implement "Get Stored Image Info" request/response
Aleksander Morgado [Mon, 24 Sep 2012 04:31:43 +0000 (06:31 +0200)]
dms: implement "List Stored Images" request/response
Aleksander Morgado [Tue, 18 Sep 2012 07:28:29 +0000 (09:28 +0200)]
dms: implement "Get Firmware Preference" request/response
Aleksander Morgado [Tue, 25 Sep 2012 12:41:37 +0000 (14:41 +0200)]
qmi-codegen: don't issue the array element clear function on 'Input' arrays
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.
Aleksander Morgado [Fri, 21 Sep 2012 07:47:07 +0000 (09:47 +0200)]
libqmi-glib,tests: new tests to check parsing valid/invalid QMI messages
Aleksander Morgado [Mon, 24 Sep 2012 16:30:54 +0000 (18:30 +0200)]
message: document the section