Commit Graph

243 Commits

Author SHA1 Message Date
Aleksander Morgado d4d7252086 pdc: no need to CamelCase parameter names 2016-10-26 14:59:43 +02:00
Aliaksandr Barouski 24cdbd32e9 pdc: new PDC service implementation
Added calls for configure hp4120 LTE modem
2016-10-26 14:59:43 +02:00
Aleksander Morgado fa39dc14a6 dms: new 'Change Device Download Mode' command
Based on a patch from Aliaksandr Barouski <alex.borovsky@gmail.com>

https://bugs.freedesktop.org/show_bug.cgi?id=96465
2016-10-24 12:31:52 +02:00
Dan Williams 4d9899b418 wds: make WDS Extended Error Code TLV a common-ref 2016-10-06 10:12:04 -05:00
Dan Williams d13c26c07d wds: add more TLVs and ModifyProfile/DeleteProfile requests 2016-10-06 10:12:04 -05:00
Dan Williams 7de80b7cf7 wds: add more Profile-related TLVs 2016-10-06 10:12:04 -05:00
Dan Williams ffa1cf2447 wds: move common Profile-related TLVs to common-refs 2016-10-06 10:12:04 -05:00
Dan Williams d90fae4dba wds: add Go Dormant, Go Active, and Get Dormancy Status 2016-10-06 10:12:04 -05:00
Dan Williams dda73618bd wds: add Set Event Report and Event Report Indication 2016-10-06 10:12:04 -05:00
Dan Williams b90b182a2a wds: add CreateProfile 2016-09-23 17:02:00 -05:00
Dan Williams 687fc4dae3 dms: Get Band Capabilities supported on DMS 1.1
But only seems supported on GSM/UMTS firmware.  Tested on Novatel USB1000:

[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1] QMI Device supports 6 services:
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    ctl (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wds (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    dms (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    nas (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wms (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    pds (1.0)
2016-09-07 11:11:07 -05:00
Dan Williams df98c06057 dms: Read ERI File supported on DMS 1.1
Need CDMA/EVDO firmware for it though.  Tested on Novatel USB1000:

[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1] QMI Device supports 6 services:
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    ctl (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wds (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    dms (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    nas (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wms (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    pds (1.0)
2016-09-07 10:59:53 -05:00
Dan Williams 927f794d59 dms: User Lock State messages supported on DMS 1.1
Tested on Novatel USB1000:

[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1] QMI Device supports 6 services:
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    ctl (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wds (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    dms (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    nas (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wms (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    pds (1.0)
2016-09-07 10:58:17 -05:00
Dan Williams ca2b6da59d dms: Activation-related messages supported on DMS 1.1
But you usually need a CDMA/EVDO capable device and firmware to
use it.  Tested on Novatel USB1000:

[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1] QMI Device supports 6 services:
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    ctl (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wds (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    dms (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    nas (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wms (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    pds (1.0)
2016-09-07 10:54:32 -05:00
Dan Williams ed186950dc dms: Get PRL Version supported on DMS 1.1
But of course you need a CDMA/EVDO capable device and firmware version
to read it.  Tested on Novatel USB1000:

[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1] QMI Device supports 6 services:
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    ctl (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wds (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    dms (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    nas (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wms (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    pds (1.0)
2016-09-07 10:52:37 -05:00
Dan Williams b375e02b63 dms: Get Time supported on DMS 1.1
Tested on Novatel USB1000:

[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1] QMI Device supports 6 services:
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    ctl (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wds (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    dms (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    nas (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wms (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    pds (1.0)
2016-09-07 10:47:39 -05:00
Dan Williams 3823e1b046 dms: Get Hardware Revision supported on DMS 1.1
Tested on Novatel USB1000:

[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1] QMI Device supports 6 services:
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    ctl (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wds (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    dms (1.1)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    nas (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    wms (1.0)
[07 Sep 2016, 10:43:19] [Debug] [/dev/cdc-wdm1]    pds (1.0)
2016-09-07 10:44:37 -05:00
Bjørn Mork a9aab00392 nas: fix RX/TX mixup
Don't know what I was thinking here, but the referenced channels
are of course *RX* channels. None of my modems can do TX CA. Yet :)

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2016-08-19 11:57:45 +02:00
Aleksander Morgado 86328ed1cc nas: support 'Force Network Search' 2016-06-10 23:06:42 -07:00
Aleksander Morgado f54c2cfb9b nas: no exact version for 'Get LTE Cphy CA Info'
We're not sure about it, so just don't specify it.
2016-04-03 13:16:55 +02:00
Aleksander Morgado 6fcc16d2ee nas: untabify 2016-04-03 13:11:36 +02:00
Bjørn Mork 7193de4087 nas: implement 'Get LTE Cphy CA Info'
Carrier aggregation is much more fun when you can watch it being
activated :)

$ qmicli -p -d /dev/cdc-wdm0   --nas-get-lte-cphy-ca-info
[/dev/cdc-wdm0] Successfully got carrier aggregation info
DL Bandwidth: '20'
Secondary Cell Info
        Physical Cell ID: '101'
        TX Channel: '3050'
        DL Bandwidth: '20'
        LTE Band: 'eutran-7'
        State: 'activated'
Primary Cell Info
        Physical Cell ID: '299'
        TX Channel: '1450'
        DL Bandwidth: '20'
        LTE Band: 'eutran-3'
Secondary Cell index: '1'

I have absolutely no clue about the required NAS version, so I just put
the current version I have there...

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2016-04-03 13:01:20 +02:00
Aleksander Morgado 2c0b445027 uim: implement 'UIM Change PIN' 2016-01-30 10:25:43 -08:00
Aleksander Morgado 517af334d1 uim: implement 'UIM Unblock PIN' 2016-01-30 10:25:41 -08:00
Aleksander Morgado 08ee7e9f1b uim: implement 'UIM Verify PIN' 2016-01-30 10:25:39 -08:00
Aleksander Morgado 83aa5613d7 uim: implement 'UIM Set PIN protection' 2016-01-30 10:25:37 -08:00
Dan Williams 4ff70bbd7e wds: add GetPDNThrottleInfo message 2016-01-11 12:12:18 -06:00
Aleksander Morgado ffc473efef nas: set TLV as mandatory in Get RF Band Information response 2015-12-29 17:17:02 +01:00
Albert Diserholt 2f70d96a02 nas: correct ID for Get RF Band Information result TLV 2015-12-04 14:21:58 -06:00
Aleksander Morgado 770e6a01ea nas: new optional TLV in 'Get Home Network' to know whether MNC is 2 or 3 digits
Also, version bump to 1.13.5 to flag the exact version in which the change was
introduced.
2015-10-25 15:30:45 +01:00
Aleksander Morgado 4a2a3bdfe9 wds: 'roaming' TLV is always optional in Get/Set Autoconnect settings
[21 Oct 2015, 15:15:41] [Debug] Asynchronously getting autoconnect settings...
    [21 Oct 2015, 15:15:41] [Debug] [/dev/cdc-wdm1] Sent message...
    <<<<<< RAW:
    <<<<<<   length = 13
    <<<<<<   data   = 01:0C:00:00:01:4D:00:01:00:34:00:00:00

    [21 Oct 2015, 15:15:41] [Debug] [/dev/cdc-wdm1] Sent message (translated)...
    <<<<<< QMUX:
    <<<<<<   length  = 12
    <<<<<<   flags   = 0x00
    <<<<<<   service = "wds"
    <<<<<<   client  = 77
    <<<<<< QMI:
    <<<<<<   flags       = "none"
    <<<<<<   transaction = 1
    <<<<<<   tlv_length  = 0
    <<<<<<   message     = "Get Autoconnect Settings" (0x0034)

    [21 Oct 2015, 15:15:41] [Debug] [/dev/cdc-wdm1] Received message...
    >>>>>> RAW:
    >>>>>>   length = 24
    >>>>>>   data   = 01:17:00:80:01:4D:02:01:00:34:00:0B:00:02:04:00:00:00:00:00:01:01:00:00

    [21 Oct 2015, 15:15:41] [Debug] [/dev/cdc-wdm1] Received message (translated)...
    >>>>>> QMUX:
    >>>>>>   length  = 23
    >>>>>>   flags   = 0x80
    >>>>>>   service = "wds"
    >>>>>>   client  = 77
    >>>>>> QMI:
    >>>>>>   flags       = "response"
    >>>>>>   transaction = 1
    >>>>>>   tlv_length  = 11
    >>>>>>   message     = "Get Autoconnect Settings" (0x0034)
    >>>>>> TLV:
    >>>>>>   type       = "Result" (0x02)
    >>>>>>   length     = 4
    >>>>>>   value      = 00:00:00:00
    >>>>>>   translated = SUCCESS
    >>>>>> TLV:
    >>>>>>   type       = "Status" (0x01)
    >>>>>>   length     = 1
    >>>>>>   value      = 00
    >>>>>>   translated = disabled

    error: operation failed: Couldn't get the mandatory Roaming TLV: TLV 0x10 not found
2015-10-21 17:16:20 +02:00
Aleksander Morgado 47d83f020a wds: new 'WDS Set Autoconnect Setting' command support 2015-10-06 19:24:51 +02:00
Aleksander Morgado 7adcbf1234 wds: new 'WDS Get Autoconnect Setting' command support 2015-10-06 19:24:51 +02:00
Dan Williams 97aaa6855d dms: avoid using 'new' as a variable name
Reported-by: Tom Schuring
2015-08-31 10:36:51 -05:00
Aleksander Morgado 12793ef603 wds: implement 'Packet Service Status' indications 2015-02-26 12:40:28 +01:00
Aleksander Morgado 18694ee79a wms: implement 'Get Supported Messages' 2015-02-25 15:47:15 +01:00
Aleksander Morgado f864133f8e wds: implement 'Get Supported Messages' 2015-02-25 15:47:15 +01:00
Aleksander Morgado 0625feef4d voice: implement 'Get Supported Messages' 2015-02-25 15:47:14 +01:00
Aleksander Morgado f1a6924fe3 uim: implement 'Get Supported Messages' 2015-02-25 15:47:14 +01:00
Aleksander Morgado 10f88c69ce nas: implement 'Get Supported Messages' 2015-02-25 15:47:14 +01:00
Aleksander Morgado ba1abb2cec wda: implement 'Get Supported Messages' 2015-02-25 15:47:14 +01:00
Aleksander Morgado 5dfa2198d0 dms: implement 'Get Supported Messages' 2015-02-25 15:47:14 +01:00
Aleksander Morgado f8ccc6b973 data: add missing voice json database 2015-02-23 20:52:57 +01:00
Aleksander Morgado 350cd9a06c voice: initial support for the Voice service 2015-02-07 20:42:44 +01:00
Aleksander Morgado 22628a69da dms: new 'DMS Set FCC Authentication' message
Dell-branded Sierra modems, like the Dell DW5570 (Sierra Wireless MC8805) need
this specific command before they can be put in 'online' mode:

$ sudo qmicli -d /dev/cdc-wdm1 --dms-get-operating-mode
[/dev/cdc-wdm1] Operating mode retrieved:
	Mode: 'low-power'
	HW restricted: 'no'

$ sudo qmicli -d /dev/cdc-wdm1 --dms-set-fcc-authentication
[/dev/cdc-wdm1] Successfully set FCC authentication

$ sudo qmicli -d /dev/cdc-wdm1 --dms-get-operating-mode
[/dev/cdc-wdm1] Operating mode retrieved:
	Mode: 'online'
	HW restricted: 'no'

https://bugzilla.kernel.org/show_bug.cgi?id=92101
2015-02-07 19:07:47 +01:00
Aleksander Morgado 45ab1a6d81 wds: last call TX/RX stats in 'Get Packet Statistics' don't have prerequisite
These values may be given along with a QMI error (e.g. out-of-call), so don't
assume that a success operation is a prerequisite to read them.

    [04 Feb 2015, 20:55:07] [Debug]   [/dev/cdc-wdm1] Received message...
    >>>>>> RAW:
    >>>>>>   length = 42
    >>>>>>   data   = 01:29:00:80:01:08:02:0D:00:24:00:1D:00:02:04:00:01:00:0F:00:1C:08:00:2B:17:00:00:00:00:00:00:1B:08:00:87:28:00:00:00:00:00:00

    [04 Feb 2015, 20:55:07] [Debug]   [/dev/cdc-wdm1] Received message (translated)...
    >>>>>> QMUX:
    >>>>>>   length  = 41
    >>>>>>   flags   = 0x80
    >>>>>>   service = "wds"
    >>>>>>   client  = 8
    >>>>>> QMI:
    >>>>>>   flags       = "response"
    >>>>>>   transaction = 13
    >>>>>>   tlv_length  = 29
    >>>>>>   message     = "Get Packet Statistics" (0x0024)
    >>>>>> TLV:
    >>>>>>   type       = "Result" (0x02)
    >>>>>>   length     = 4
    >>>>>>   value      = 01:00:0F:00
    >>>>>>   translated = FAILURE: OutOfCall
    >>>>>> TLV:
    >>>>>>   type       = "Last Call Rx Bytes Ok" (0x1c)
    >>>>>>   length     = 8
    >>>>>>   value      = 2B:17:00:00:00:00:00:00
    >>>>>>   translated = 5931
    >>>>>> TLV:
    >>>>>>   type       = "Last Call Tx Bytes Ok" (0x1b)
    >>>>>>   length     = 8
    >>>>>>   value      = 87:28:00:00:00:00:00:00
    >>>>>>   translated = 10375
2015-02-04 20:57:06 +01:00
Aleksander Morgado 83dd5e2974 nas: fix ECIO List TLV array element type (api break)
ECIO List TLV (0x12) in the NAS Get Signal Strength response message is given as an
unsigned byte, representing negative 0.5dB increments.

This is an API break; added to NEWS already not to forget about it.

Also, version bump to 0.13.2 to flag the exact version in which the change
was introduced.

https://bugs.freedesktop.org/show_bug.cgi?id=85052
2015-01-25 19:34:26 +01:00
Aleksander Morgado 9b5957ae4a nas: fix ECIO TLV field type (api break)
ECIO TLV (0x14) in the NAS Event Report Indication message is given as an
unsigned byte, representing negative 0.5dB increments.

This is an API break; added to NEWS already not to forget about it.

Also, version bump to 0.13.1 to flag the exact version in which the change
was introduced.

https://bugs.freedesktop.org/show_bug.cgi?id=85052
2015-01-25 19:19:25 +01:00
Aleksander Morgado 657ddf3330 wms: new 'SMSC Address' indication
E.g.:
    >>>>>> QMUX:
    >>>>>>   length  = 31
    >>>>>>   flags   = 0x80
    >>>>>>   service = "wms"
    >>>>>>   client  = 1
    >>>>>> QMI:
    >>>>>>   flags       = "indication"
    >>>>>>   transaction = 0
    >>>>>>   tlv_length  = 19
    >>>>>>   message     = "SMSC Address" (0x0046)
    >>>>>> TLV:
    >>>>>>   type       = "Address" (0x01)
    >>>>>>   length     = 16
    >>>>>>   value      = 31:34:35:0C:2B:33:34:36:34:34:31:30:39:30:33:30
    >>>>>>   translated = [ type = '145' digits = '+34644109030' ]

https://bugs.freedesktop.org/show_bug.cgi?id=88756
2015-01-24 18:24:52 +01:00
Aleksander Morgado 17e841d028 pds: new 'GPS Ready' indication 2015-01-24 17:31:59 +01:00