Commit Graph

5733 Commits

Author SHA1 Message Date
Aleksander Morgado
656102633c xmm: new 'MMBroadbandModemXmm' modem object 2018-08-21 17:02:39 +00:00
Aleksander Morgado
917b23bbc7 xmm: new 'MMSharedXmm' modem interface
With support for managing bands and modes.
2018-08-21 17:02:39 +00:00
Aleksander Morgado
2e0471fe6a libmm-glib: new common helpers to check band types 2018-08-21 17:02:39 +00:00
Aleksander Morgado
6262e844f5 xmm: new helper to get 'any' allowed mode combination 2018-08-21 17:02:39 +00:00
Aleksander Morgado
d6b1c321ef xmm: new common XACT=X builder for Intel XMM based devices 2018-08-21 17:02:39 +00:00
Aleksander Morgado
023ba97d9c xmm: new common XACT? parser for Intel XMM based devices 2018-08-21 17:02:39 +00:00
Aleksander Morgado
142f1d0360 xmm: new common XACT=? parser for Intel XMM based devices 2018-08-21 17:02:39 +00:00
Aleksander Morgado
69ca442dd4 api: define E-UTRAN bands 49 to 64 2018-08-21 17:02:39 +00:00
Aleksander Morgado
1b002a3584 fibocom: ignore intel trace port in the L850-GL 2018-08-21 17:02:39 +00:00
Aleksander Morgado
af8adcc756 fibocom: new plugin with support for MBIM devices 2018-08-21 17:02:39 +00:00
Aleksander Morgado
532ff24101 broadband-modem-mbim: implement 3GPP USSD support 2018-08-21 16:50:15 +00:00
Aleksander Morgado
eda46d05cf charsets: new helper to convert binary input data to UTF-8
Most of all the other APIs we have are expecting binary data (e.g.
UCS-2 encoded strings) in ASCII hex format, because they were going
to be used in text AT commands. For binary protocols allowing binary
data, we need use a more generic API that provides an explicit data
size.
2018-08-21 16:50:15 +00:00
Aleksander Morgado
e90ced5e0f iface-modem-3gpp-ussd: new helper to get current state 2018-08-21 16:50:15 +00:00
Aleksander Morgado
d16a1711fd iface-modem-3gpp-ussd: prefer 'events' naming to 'result codes'
The 'result codes' naming is much more AT-protocol specific, 'events'
is more generic.
2018-08-21 16:50:15 +00:00
Aleksander Morgado
3bc9a2dbe2 broadband-modem,ussd: explain encoding/decoding logic 2018-08-21 16:50:15 +00:00
Aleksander Morgado
6838a3f715 broadband-modem,ussd: port to GTask 2018-08-21 16:50:15 +00:00
Aleksander Morgado
fc41c167ce iface-modem-3gpp,ussd: let send_finish() return a newly allocated string
GTask integration will benefit from this change.
2018-08-21 16:50:15 +00:00
Aleksander Morgado
4ef3623e63 shared-qmi: refactor parse_as_utf16_url()
Let it return a GArray directly. We don't expect this method to ever
fail, as it's converting from UTF-8 to UTF-16.
2018-08-21 17:00:21 +02:00
Aleksander Morgado
6342088458 shared-qmi: fix context type in GPS operation mode timeout handler 2018-08-21 16:57:33 +02:00
Aleksander Morgado
c9d1d0572a shared-qmi: inject "xtra data" if "predicted orbits data" unsupported 2018-08-21 13:26:08 +00:00
Aleksander Morgado
efa14947b4 shared-qmi,loc: setup reports every 5s may be broken
Configuring reports every 5s may lead to GPGGA traces reported like this:

    $GPGGA,211645.00,,,,,0,,,,,,,,*4D
    $GPGGA,211646.00,4030.003988,N,00330.761876,W,1,07,1.0,691.6,M,53.0,M,,*74
    $GPGGA,211650.00,,,,,0,,,,,,,,*49
    $GPGGA,211651.00,4030.005405,N,00330.763540,W,1,07,1.0,688.9,M,53.0,M,,*71
    $GPGGA,211655.00,,,,,0,,,,,,,,*4C
    $GPGGA,211656.00,4030.008074,N,00330.765338,W,1,07,0.9,679.9,M,53.0,M,,*70
    $GPGGA,211700.00,,,,,0,,,,,,,,*4D
    $GPGGA,211701.00,4030.009258,N,00330.765510,W,1,07,1.0,678.3,M,53.0,M,,*71
    $GPGGA,211705.00,,,,,0,,,,,,,,*48

Which is totally undesirable, as the GPS location would be flapping
between set and unset.

Use the default of 1s explicitly, which behaves properly.
2018-08-21 13:26:08 +00:00
Aleksander Morgado
666622b4d4 broadband-modem-mbim: report Unsupported if QMI over MBIM not available
For non-Qualcomm MBIM devices, report a generic "Unsupported" error if
we try to do an operation that would otherwise be only available with
QMI-over-MBIM.
2018-08-21 13:26:08 +00:00
Aleksander Morgado
d3b43bd0a6 shared-qmi: support for Qualcomm gpsOneXTRA assistance data
The gpsOneXTRA assistance data provides a convenient way to inject
predicted orbit information into the module, without requiring to have
an Internet connection in the module itself.
2018-08-21 13:26:08 +00:00
Aleksander Morgado
091bf4dbd8 api: support location assistance data
Sometimes SUPL-server based A-GPS is not possible, e.g. if the module
doesn't have Internet connectivity. In such cases, the modem may
support injecting additional "assistance data" that may be downloaded
from the Internet using external means (e.g. WiFi), in order to keep
having a quick time to first fix.

We now support using this location assistance data, with the following
new API elements:

 * A new mask of supported assistance data types is provided in the
   SupportedAssistanceData property.

 * A new list of URLs from where the aassistance data may be
   downloaded is also provided in a new AssistanceDataServers
   property.

 * A new InjectAssistanceData() method is provided, to perform the
   data injection in the module once it's been downloaded to the host
   system.
2018-08-21 13:26:08 +00:00
Aleksander Morgado
0798f32362 shared-qmi: implement LOC-based GPS/A-GPS support 2018-08-21 13:26:08 +00:00
Aleksander Morgado
8bc51d3ed1 shared-qmi: decouple low-level GPS operations from source management logic
Just to make room for the LOC based integration.
2018-08-21 13:26:08 +00:00
Aleksander Morgado
fc520eb073 modem-helpers-qmi: new helper to transform QmiLocIndicationStatus into a GError 2018-08-21 13:26:08 +00:00
Aleksander Morgado
9e42a19742 broadband-modem-mbim: support for QMI PDS based GPS location 2018-08-21 13:26:08 +00:00
Aleksander Morgado
e93b698c7b port-mbim: when opening QMI over MBIM support, request indications
We do want to receive QMI indications, as they will be needed for
different features (e.g. LOC based GNSS support).
2018-08-21 13:26:08 +00:00
Aleksander Morgado
098897778b shared-qmi: import PDS-based GPS location support 2018-08-21 13:26:08 +00:00
Aleksander Morgado
811a80e5ea shared-qmi: new interface to handle common QMI implementations
This new interface will include implementations that are shared
between the MMBroadbandModemQmi and the MMBroadbandModemMbim.

For now, it just provides a way to implement the common client
allocation methods.
2018-08-21 13:26:08 +00:00
Aleksander Morgado
f9cbe045e5 broadband-modem-mbim: use the preallocated DMS client for FCC Auth 2018-08-21 13:26:08 +00:00
Aleksander Morgado
5e6980c7fc broadband-modem-mbim: preallocate QMI clients if QMI over MBIM supported 2018-08-21 13:26:08 +00:00
Aleksander Morgado
8a364c4dfd port-mbim: implement QMI client allocation logic 2018-08-21 13:26:08 +00:00
Aleksander Morgado
c0cc694c67 port-mbim: automatically try to open a QMI over MBIM device
Most Qualcomm-based MBIM devices also support QMI over MBIM. We will
try to check in runtime whether the MBIM device supports QMI over
MBIM, and if so, setup a QmiDevice within the MMPortMbim.
2018-08-21 13:26:08 +00:00
Aleksander Morgado
f6a2d01c7e build: require libqmi 1.21.3 with QMI LOC support 2018-08-21 13:26:08 +00:00
Aleksander Morgado
fc3ca42734 build: ignore test-pco built file 2018-08-20 16:53:56 +02:00
Claude Paroz
cc0c76d875 Add French translation 2018-08-20 14:15:36 +00:00
Ben Chan
b8ab473662 cli: print 'Pco' property in Modem3gpp interface 2018-08-18 13:34:06 -07:00
Ben Chan
930a5879d4 broadband-modem-mbim: update 'Pco' property in Modem3gpp interface
This patch changes MMBroadbandModemMbim to update the 'Pco' property in
the Modem3gpp interface upon receiving a MBIM_CID_PCO notification.
2018-08-18 13:34:06 -07:00
Ben Chan
d46aa0c36a modem-3gpp: add 'Pco' property to Modem3gpp interface
This patch adds a 'Pco' property to the Modem3gpp interface for tracking
PCOs that the modem has received from the network.
2018-08-18 13:34:06 -07:00
Ben Chan
eb327b4203 libmm-glib,pco: add helpers for managing a list of MMPco 2018-08-18 13:34:06 -07:00
Ben Chan
28e64d0018 libmm-glib: add MMPco for handling raw PCO data 2018-08-18 13:29:46 -07:00
Aleksander Morgado
89ffcbdd8d po: add Turkish translation
From: Emin Tufan Çetin <etcetin@gmail.com>

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/80
2018-08-14 11:06:58 +02:00
Aleksander Morgado
b7e5ca62c5 broadband-modem-mbim: explicitly ignore SMS storage initialization
The MBIM protocol hides to the user the concept of SMS storages, so we
should explicitly ignore the initialization step so that it isn't run
with the parent AT-based implementation.
2018-08-14 10:58:08 +02:00
Ben Chan
d21dd6cf1f broadband-modem: initialize 'tac' in registration_status_check_ready()
mm-broadband-modem.c:4395:13: error: variable 'tac' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
        if (act == MM_MODEM_ACCESS_TECHNOLOGY_LTE) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm-broadband-modem.c:4407:75: note: uninitialized use occurs here
    mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self), lac, tac, cid);
                                                                          ^~~
mm-broadband-modem.c:4395:9: note: remove the 'if' if its condition is always true
        if (act == MM_MODEM_ACCESS_TECHNOLOGY_LTE) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm-broadband-modem.c:4380:9: error: variable 'tac' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
    if (cgreg) {
        ^~~~~
mm-broadband-modem.c:4407:75: note: uninitialized use occurs here
    mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self), lac, tac, cid);
                                                                          ^~~
mm-broadband-modem.c:4380:5: note: remove the 'if' if its condition is always false
    if (cgreg) {
    ^~~~~~~~~~~~
mm-broadband-modem.c:4280:15: note: initialize the variable 'tac' to silence this warning
    gulong tac;
              ^
               = 0
2018-08-10 11:06:19 +02:00
Aleksander Morgado
b378be0f0d broadband-modem-mbim: fallback to trying AT+CESQ if ATDS signal unsupported 2018-08-10 04:26:12 +00:00
Aleksander Morgado
ab9130682c broadband-modem-mbim: implement extended signal support with ATDS 2018-08-10 04:26:12 +00:00
Aleksander Morgado
7a941466c2 broadband-modem-mbim: implement 3GPP location support with ATDS 2018-08-10 04:26:12 +00:00
Aleksander Morgado
ff6a82f5b7 broadband-modem: check if modem implements MBIM_CID_USSD 2018-08-10 04:26:12 +00:00