Aleksander Morgado
72c14ee8b0
nas: implement "Get Tx Rx Info" request/response
2013-06-18 15:26:58 +02:00
Dan Williams
70ef65c843
nas: add Network Time indication
2013-05-31 13:44:52 -05:00
Dan Williams
243fddb23b
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.
2013-04-19 17:27:02 -05:00
Aleksander Morgado
8045711f3c
dms: activation code string needs explicit 1-byte length prefix
...
Reported by Arman Uguray <armansito@google.com>
2013-03-07 09:09:54 +01:00
Dan Williams
a95ec833dc
nas: add Get CDMA Position Info
...
Not sure what NAS version supports it, but at least NAS 1.3 is required.
2012-10-31 14:12:59 -05:00
Dan Williams
38171469d3
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.
2012-10-23 17:25:05 +02:00
Aleksander Morgado
1fd2385c52
wds: "Start Network" may be aborted
2012-10-10 21:14:48 +02:00
Aleksander Morgado
fbd231e4ad
nas: "Network Scan" may be aborted
2012-10-10 21:14:48 +02:00
Aleksander Morgado
13b53c6a1d
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.
2012-10-10 21:14:48 +02:00
Aleksander Morgado
6b6c4906b6
dms: activation state related commands already in DMS 1.3
2012-10-10 15:02:55 +02:00
Aleksander Morgado
50ea36c699
nas: Ec/Io given always as a signed integer
2012-09-27 14:28:32 +02:00
Aleksander Morgado
4adcc1aa77
dms: implement "Set Firmware Preference" request/response
2012-09-26 09:46:13 +02:00
Aleksander Morgado
6b776b3d63
dms: implement "Delete Stored Image" request/response
2012-09-26 09:46:13 +02:00
Aleksander Morgado
fb70a5f785
dms: implement "Get Stored Image Info" request/response
2012-09-26 09:45:43 +02:00
Aleksander Morgado
9ba71b7472
dms: implement "List Stored Images" request/response
2012-09-26 09:45:42 +02:00
Aleksander Morgado
45b3dfc67f
dms: implement "Get Firmware Preference" request/response
2012-09-26 09:45:42 +02:00
Aleksander Morgado
201e0cea5f
qmi-codegen: for strings, use 'size-prefix-format' instead of 'length-prefix-size'
...
Use the new 'size-prefix-format' property to specify whether the length prefix
variable is a 'guint8' or a 'guint16'.
We therefore consolidate the way how this length prefix variable is specified in
both arrays and strings.
So, instead of:
"length-prefix-size" : "16"
We now just do:
"size-prefix-format" : "guint16"
2012-09-19 12:06:28 +02:00
Aleksander Morgado
7345ca6aaf
qmi-codegen: for arrays, use a new 'size-prefix-format' instead of 'array-size'
...
The 'array-size' property was used to define an implicit variable to be found at
the beginning of every array. This property expected a dictionary with one
single 'format' key.
Instead of this setup, create a new 'size-prefix-format' property which directly
expects the format string of the variable to be used as array-length indicator.
So, instead of:
"array-size" : { "format" : "guint16" }
We can now just use:
"size-prefix-format" : "guint16"
Also, remove the explicit size definitions when the format is "guint8", as that
is the default already when none specified and the array is not of fixed size.
2012-09-19 12:06:28 +02:00
Aleksander Morgado
243686a044
pds: NMEA string length is given as a 16 bit uint in the extended version
...
This seems quite useless, as we know that the maximum NMEA trace length is 200
characters, but anyway.
2012-09-18 13:14:38 +02:00
Aleksander Morgado
f4321400c1
pds: implement "Get/Set Auto Tracking State" requests/responses
2012-09-18 13:14:38 +02:00
Aleksander Morgado
202acdbdd2
pds: implement "Get/Set GPS Service State" requests/responses
2012-09-18 13:14:38 +02:00
Aleksander Morgado
c8137b6d0f
pds: new TODO to include parsing all TLVs in the "Event Report" indication
...
The GPS module can give us already processed information in addition to the raw
NMEA traces, including GPS/UTC date, latitude/longitude, DOPs...
Add a TODO task to process these additional TLVs, which will require changes in
the codegen in order to handle single-precision and double-precision float
number reading.
2012-09-18 13:14:38 +02:00
Aleksander Morgado
33132db8e4
pds: start implementing "Event Report" indication
...
Currently just some of the TLVs with the raw NMEA traces.
2012-09-18 13:14:38 +02:00
Aleksander Morgado
9347e8df7f
pds: implement "Set Event Report" request/response
2012-09-18 13:14:38 +02:00
Aleksander Morgado
3d26f41300
pds: setup generation of the PDS service support
...
Including "PDS Reset".
2012-09-18 13:14:38 +02:00
Aleksander Morgado
ab43bccdf4
wds: remove `QmiWdsAuthenticationPreference'
...
Use the more generic `QmiWdsAuthentication' flags instead, which match properly.
2012-09-08 10:39:33 +02:00
Dan Williams
b165e39a9e
wds: implement "Get Current Settings" request/response
2012-09-08 10:34:13 +02:00
Dan Williams
fe5d329e42
wds: Extended Technology Preference is a guint16
...
Not a guint8; flattened Gobi API says:
enum eQMIWDSExtendedTechPrefs:UINT16
{
...
}
Plus the values are wrong, so fix that.
2012-09-08 10:34:13 +02:00
Dan Williams
af5966923f
ctl: implement Set Data Format command
2012-09-08 10:34:13 +02:00
Aleksander Morgado
33cf86b703
wms: "Send From Memory Storage" only introduced in 1.2 it seems
2012-09-07 11:28:00 +02:00
Aleksander Morgado
9b65c877ca
wms: 'Message ID' TLV is supposed to be mandatory, but it really may not be
...
See the following ModemManager logs:
ModemManager[7942]: [/dev/cdc-wdm0] Sending message...
<<<<<< QMUX:
<<<<<< length = 47
<<<<<< flags = 0x00
<<<<<< service = "wms"
<<<<<< client = 16
<<<<<< QMI:
<<<<<< flags = "none"
<<<<<< transaction = 16
<<<<<< tlv_length = 35
<<<<<< message = "Raw Send" (0x0020)
<<<<<< TLV:
<<<<<< type = "Raw Message Data" (0x01)
<<<<<< length = 32
<<<<<< value = 06:1D:00:00:01:00:09:81:36:39:53:39:F6:00:00:12:C8:37:3B:0C:42:BE:D9:61:D0:30:2C:0F:8F:DF:EC:30
<<<<<< translated = [ format = '6' raw_data = '{ [0] = '0 ' [1] = '1 ' [2] = '0 ' [3] = '9 ' [4] = '129 ' [5] = '54 ' [6] = '57 ' [7] = '83 ' [8] = '57 ' [9] = '246 ' [10] = '0 ' [11] = '0 ' [12] = '18 ' [13]
= '200 ' [14] = '55 ' [15] = '59 ' [16] = '12 ' [17] = '66 ' [18] = '190 ' [19] = '217 ' [20] = '97 ' [21] = '208 ' [22] = '48 ' [23] = '44 ' [24] = '15 ' [25] = '143 ' [26] = '223 ' [27] = '236 ' [28] = '48 '}'
]
ModemManager[7942]: [/dev/cdc-wdm0] Received message...
>>>>>> QMUX:
>>>>>> length = 19
>>>>>> flags = 0x80
>>>>>> service = "wms"
>>>>>> client = 16
>>>>>> QMI:
>>>>>> flags = "response"
>>>>>> transaction = 16
>>>>>> tlv_length = 7
>>>>>> message = "Raw Send" (0x0020)
>>>>>> TLV:
>>>>>> type = "Result" (0x02)
>>>>>> length = 4
>>>>>> value = 00:00:00:00
>>>>>> translated = SUCCESS
2012-09-06 19:53:03 +02:00
Aleksander Morgado
94c5f373a8
wms: implement "Send From Memory Storage" request/response
2012-09-06 19:53:03 +02:00
Aleksander Morgado
e47dc3b633
wms: all basic WMS commands were available already in WMS 1.0
2012-09-06 19:53:02 +02:00
Aleksander Morgado
550067b381
wms: implement "Get Routes" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
279dcc8f09
wms: implement "Set Routes" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
2e0b20b4be
wms: implement "List Messages" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
a31e7d7892
wms: implement "Get Message Protocol" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
d3debea3d5
wms: implement "Delete" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
39c44acbd6
wms: implement "Modify Tag" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
38602a1192
wms: implement "Raw Read" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
74cd71c101
wms: implement "Raw Write" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
fab0a21ac2
wms: implement "Raw Send" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
77fd9daac7
wms: implement "Event Report" indication
2012-09-06 19:53:02 +02:00
Aleksander Morgado
fc634a1f86
wms: implement "Set Event Report" request/response
2012-09-06 19:53:02 +02:00
Aleksander Morgado
787b02287f
wms: setup generation of the WMS service support
...
Including "WMS Reset".
2012-09-06 10:28:54 +02:00
Aleksander Morgado
5906ac7b98
dms: set 'max-size' of 15 bytes for the IMEI retrieved in "Get IDs"
...
Some devices will report incorrect IMEI values when retrieving IDs. We can
detect a wrong IMEI because the size of the string returned must not exceed
15 characters.
Example trace of incorrect IMEI value reported:
QMUX:
length = 47
flags = 0x80
service = "dms"
client = 3
QMI:
flags = "response"
transaction = 6
tlv_length = 35
message = "Get IDs" (0x0025)
TLV:
type = "Result" (0x02)
length = 4
value = 00:00:00:00
translated = SUCCESS
TLV:
type = "Imei" (0x11)
length = 25
value = 33:35:33:36:31:33:30:34:38:38:30:35:31:39:39:02:B0:1C:0E:02:84:E3:A6:01:3D
translated = 353613048805199���=
2012-09-04 14:28:00 +02:00
Aleksander Morgado
f72cbc9c5f
build: include NAS json database in dist
2012-09-03 20:55:51 +02:00
Dan Williams
d15264faa8
nas: Get/Set Technology Preference part of NAS 1.0, not 1.7
...
The TP stuff has been around since the beginning, actually.
2012-08-31 10:45:13 -05:00
Aleksander Morgado
5a3fdc736c
nas: implement "Get RF Band Information" request/response
2012-08-30 17:35:22 +02:00
Aleksander Morgado
f741da1041
nas: fix RF Band info array size indicator type
2012-08-30 17:33:33 +02:00