Commit Graph
7155 Commits
Author SHA1 Message Date
Aleksander Morgado 18084f8939 base-sim: allow creating preinitialized SIM objects
The default SIM creation method will attempt to initialize the SIM
properties during the object creation.

This new method allows creating SIM objects with already known
property values, and therefore not explicitly running the
asynchronous initialization process.
2020-08-28 14:59:06 +00:00
Aleksander Morgado c999c8e9cf base-sim: new 'slot number' property
This new property helps us identify in which SIM slot the SIM card is
inserted, when multiple slots are available, in the [1,N] range.

For the single-SIM systems this value will always be '0'.

This property is not publicly exposed in DBus, it is considered an
implementation detail.
2020-08-28 14:59:06 +00:00
Aleksander Morgado 842ad4bd64 base-sim: only allow operations on active SIMs
If a SIM is inactive we cannot perform any SIM-PIN or SIM-PUK related
operation with it.
2020-08-28 14:59:06 +00:00
Aleksander Morgado 86a183778b api,sim: new 'Active' property
In preparation for the multi-SIM setup, we need a way to tell whether
a given SIM card is active or not in the system.

On systems with one single SIM slot, the available SIM card will
always be active.

On Multi-SIM Single-Standby setups we may have multiple SIM slots with
multiple SIM cards, but only one of them will be active at any given
time.

On Multi-SIM Multi-Standby setups we may have multiple SIM slots with
multiple SIM cards that may be active at the same time. E.g. the QMI
protocol allows up to 5 different active SIM cards (primary,
secondary, tertiary...).
2020-08-28 14:59:06 +00:00
David Leonard 48973e3d72 sms: fix CMDA SMS UTF-8 translation
Fixes incoming SMS translation issue seen on MC7354 when translating
contents from Latin-1 encoding to UTF-8, because the encoding parameter
"ISO−8859−1" used U+2212 (MINUS SIGN) instead of U+002D (HYPHEN-MINUS).

  [mm-sms-part-cdma.c:873] read_bearer_data_user_data():
  text/data: ignored (latin to UTF-8 conversion error): 0:
  Conversion from character set 'ISO−8859−1' to 'UTF-8' is
  not supported

Fix thanks to Peter Hunt
2020-08-26 14:37:10 +10:00
Aleksander Morgado 599f545c0d sms-part-3gpp: allow sending UTF-16 as if it were UCS-2
Despite 3GPP TS 23.038 specifies that Unicode SMS messages are
encoded in UCS-2, UTF-16 encoding is commonly used instead on many
modern platforms to allow encoding code points that fall outside the
Basic Multilingual Plane (BMP), such as Emoji.

Update the logic to always use UTF-16 instead of UCS-2 when creating
or parsing PDUs (even if we always report as sending or receiving
UCS-2). For all purposes, UCS-2 is considered a subset of UTF-16
(assuming that code points out of the [U+0000,U+D7FF] and
[U+E000,U+FFFF] ranges are not applicable in UCS-2).

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/250
2020-08-20 18:15:37 +02:00
Aleksander Morgado 81162df15d charsets: refactor coding style
Mostly to use GLib types like gchar or gint, and also to use
G_N_ELEMENTS() instead of custom end of array terminating items.
2020-08-20 18:13:54 +02:00
Aleksander Morgado eb5443b197 charsets: add UTF-16BE as a possible modem charset
Just as an implementation detail to be taken as an extension of
UCS2BE, never really to be used as a real modem charset.
2020-08-20 18:13:18 +02:00
Aleksander Morgado 93686510d7 sms-part-3gpp: minor refactor in text split logic 2020-08-20 10:57:01 +02:00
Aleksander Morgado d43d595c02 broadband-modem-qmi: avoid unused functions
Only applicable when building with WITH_NEWEST_QMI_COMMANDS.

  mm-broadband-modem-qmi.c:4741:1: error: ‘common_enable_disable_unsolicited_events_signal_strength’ defined but not used [-Werror=unused-function]
   4741 | common_enable_disable_unsolicited_events_signal_strength (GTask *task)
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  mm-broadband-modem-qmi.c:4528:1: error: ‘serving_system_indication_cb’ defined but not used [-Werror=unused-function]
   4528 | serving_system_indication_cb (QmiClientNas *client,
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  mm-broadband-modem-qmi.c:3468:1: error: ‘common_enable_disable_unsolicited_registration_events_serving_system’ defined but not used [-Werror=unused-function]
   3468 | common_enable_disable_unsolicited_registration_events_serving_system (GTask *task)
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  mm-broadband-modem-qmi.c:2812:1: error: ‘get_serving_system_3gpp_ready’ defined but not used [-Werror=unused-function]
   2812 | get_serving_system_3gpp_ready (QmiClientNas *client,
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  mm-broadband-modem-qmi.c:1652:1: error: ‘get_signal_strength_ready’ defined but not used [-Werror=unused-function]
   1652 | get_signal_strength_ready (QmiClientNas *client,
2020-08-19 15:07:31 +02:00
Aleksander Morgado 9b8fb447b0 broadband-modem-qmi: fix type comparison
Only applicable when building with WITH_NEWEST_QMI_COMMANDS.

  mm-broadband-modem-qmi.c: In function ‘process_common_info’:
  mm-broadband-modem-qmi.c:2924:20: error: comparison is always false due to limited range of data type [-Werror=type-limits]
   2924 |         if (mnc[2] == 0xFF) {
        |                    ^~
2020-08-19 15:07:24 +02:00
Aleksander Morgado 65f56122b5 ci: add build test for WITH_NEWEST_QMI_COMMANDS
We keep this logic around, so lets add a build test as well.
2020-08-19 14:59:55 +02:00
carlyin 5346d3c55c quectel: add port type hints for the Quectel 5G RM500 2020-08-16 12:24:37 +00:00
Aleksander Morgado de23b53ee4 modem-helpers: ensure error is set in mm_3gpp_parse_cpms_test_response()
If splitting the +CPMS=? response in groups fails, make sure we set
the GError when returning FALSE.
2020-08-16 14:17:41 +02:00
Aleksander Morgado 55ae47a3bb quectel: add udev rules unit tester 2020-08-16 14:17:41 +02:00
root d9a64c74ff quectel: allow MBIM devices 2020-08-15 16:21:30 +00:00
Aleksander Morgado 7cd373589c bearer-qmi: if connection aborted, ensure network handles are released
If the connection attempt is aborted before finishing (either network
triggered or user triggered), we need to make sure that we run a 'Stop
Network' request for every 'Start Network' that had succeeded until
then, or otherwise we'll no longer be able to re-run a 'Start Network'
with the same settings and get a proper packet data handle.

E.g. in this sequence we attempt a IPv4v6 connection. The logic starts
setting up the IPv4 path:

    Wed Jul 29 14:44:06 2020 daemon.info [1567]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
    Wed Jul 29 14:44:06 2020 daemon.debug [1567]: <debug> Launching connection with QMI port (usb/cdc-wdm0) and data port (net/wwan0)
    Wed Jul 29 14:44:06 2020 daemon.debug [1567]: <debug> Defaulting to use static IP method
    Wed Jul 29 14:44:06 2020 daemon.debug [1567]: <debug> Running IPv4 connection setup
    ...

The 'Start Network' for IPv4 succeeds and we get a proper packet data
handle:

    Wed Jul 29 14:44:07 2020 daemon.debug [1567]: [/dev/cdc-wdm0] sent generic request (translated)... <<<<<< QMUX: <<<<<<   length  = 23 <<<<<<   flags   = 0x00 <<<<<<   service = "wds" <<<<<<   client  = 20 <<<<<< QMI: <<<<<<   flags       = "none" <<<<<<   transaction = 3075 <<<<<<   tlv_length  = 11 <<<<<<   message     = "Start Network" (0x0020) <<<<<< TLV: <<<<<<   type       = "APN" (0x14) <<<<<<   length     = 8 <<<<<<   value      = 69:6E:74:65:72:6E:65:74 <<<<<<   translated = internet
    Wed Jul 29 14:44:07 2020 daemon.debug [1567]: [/dev/cdc-wdm0] received generic response (translated)... <<<<<< QMUX: <<<<<<   length  = 26 <<<<<<   flags   = 0x80 <<<<<<   service = "wds" <<<<<<   client  = 20 <<<<<< QMI: <<<<<<   flags       = "response" <<<<<<   transaction = 3075 <<<<<<   tlv_length  = 14 <<<<<<   message     = "Start Network" (0x0020) <<<<<< TLV: <<<<<<   type       = "Result" (0x02) <<<<<<   length     = 4 <<<<<<   value      = 00:00:00:00 <<<<<<   translated = SUCCESS <<<<<< TLV: <<<<<<   type       = "Packet Data Handle" (0x01) <<<<<<   length     = 4 <<<<<<   value      = 80:CD:AD:81 <<<<<<   translated = 2175651200

Then, we start the IPv6 connection path:
    Wed Jul 29 14:44:07 2020 daemon.debug [1567]: <debug> Running IPv6 connection setup
    ...

But, because we suddenly are not registered in the network, the
connection is aborted, and we don't cleanup the IPv4 path at this
point, as this patch wasn't available.

    Wed Jul 29 14:44:07 2020 daemon.debug [1567]: <debug> Bearer not allowed to connect, not registered in 3GPP network
    Wed Jul 29 14:44:07 2020 daemon.debug [1567]: <debug> Forcing disconnection of bearer '/org/freedesktop/ModemManager1/Bearer/56'
    Wed Jul 29 14:44:07 2020 daemon.debug [1567]: transaction 0xe1 aborted, but message is not abortable
    Wed Jul 29 14:44:07 2020 daemon.info [1567]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> enabled)
    Wed Jul 29 14:44:07 2020 daemon.debug [1567]: <debug> Couldn't connect bearer '/org/freedesktop/ModemManager1/Bearer/56': 'operation cancelled'

We then attempt a new connection request with the same settings:

    Wed Jul 29 14:44:22 2020 daemon.info [1567]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
    Wed Jul 29 14:44:22 2020 daemon.debug [1567]: <debug> Launching connection with QMI port (usb/cdc-wdm0) and data port (net/wwan0)
    Wed Jul 29 14:44:22 2020 daemon.debug [1567]: <debug> Defaulting to use static IP method
    Wed Jul 29 14:44:22 2020 daemon.debug [1567]: <debug> Running IPv4 connection setup

And we see how the 'Start Network' command fails with a 'No Effect'
error, as the IPv4 was left connected earlier. Due to this, the modem
is assumed connected, but we won't have a valid packet data handle to
stop the connection cleanly:

    Wed Jul 29 14:44:22 2020 daemon.debug [1567]: [/dev/cdc-wdm0] sent generic request (translated)... <<<<<< QMUX: <<<<<<   length  = 23 <<<<<<   flags   = 0x00 <<<<<<   service = "wds" <<<<<<   client  = 20 <<<<<< QMI: <<<<<<   flags       = "none" <<<<<<   transaction = 3080 <<<<<<   tlv_length  = 11 <<<<<<   message     = "Start Network" (0x0020) <<<<<< TLV: <<<<<<   type       = "APN" (0x14) <<<<<<   length     = 8 <<<<<<   value      = 69:6E:74:65:72:6E:65:74 <<<<<<   translated = internet
    Wed Jul 29 14:44:23 2020 daemon.debug [1567]: [/dev/cdc-wdm0] received generic response (translated)... <<<<<< QMUX: <<<<<<   length  = 26 <<<<<<   flags   = 0x80 <<<<<<   service = "wds" <<<<<<   client  = 20 <<<<<< QMI: <<<<<<   flags       = "response" <<<<<<   transaction = 3080 <<<<<<   tlv_length  = 14 <<<<<<   message     = "Start Network" (0x0020) <<<<<< TLV: <<<<<<   type       = "Result" (0x02) <<<<<<   length     = 4 <<<<<<   value      = 01:00:1A:00 <<<<<<   translated = FAILURE: NoEffect <<<<<< TLV: <<<<<<   type       = "Packet Data Handle" (0x01) <<<<<<   length     = 4 <<<<<<   value      = 00:00:00:00 <<<<<<   translated = 0
2020-08-12 11:36:21 +00:00
Aleksander Morgado 16e3bb892d iface-modem: avoid connection status flapping if briefly unregistered
If the modem is connected and we receive indications of a quick
unregistration cycle (i.e. unregistered, then registered again) we
should not end up flagging the modem as disconnected.

We already had some logic to avoid this with the "deferred 3GPP
unregistration" logic in the base bearer object, but this logic only
took into account the status of the bearer, not the status of the
modem.

    Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (home -> idle)
    Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP location updated (MCC: '0', MNC: '0', Location area code: '0', Tracking area code: '1CE8', Cell ID: '68F832')
    Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Connected bearer not registered in 3GPP network
    Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connected -> enabled)
    Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem /org/freedesktop/ModemManager1/Modem/0: signal quality updated (0)
    Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem /org/freedesktop/ModemManager1/Modem/0: access technology changed (lte -> unknown)
    Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Periodic signal checks disabled
    Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (idle -> registering)
    Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP location updated (MCC: '0', MNC: '0', Location area code: '0', Tracking area code: '1C84', Cell ID: 'A3E050')
    Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP location updated (MCC: '238', MNC: '1', Location area code: '0', Tracking area code: '1C84', Cell ID: 'A3E050')
    Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (registering -> home)
    Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabled -> registered)

We now try to improve this situation by also considering the case
where modem is supposed to get into "enabled" state (i.e. not
registered, not searching), but we still consider the amount of
connected bearers to decide the final state reported by the modem. In
other words, a modem with the 3GPP registration reported as 'idle'
will still be reported as 'connected' if there is at least one bearer
in connected state. This situation will end as soon as the 'deferred
3GPP unregistration' timeout expires, as that will force the bearer to
be disconnected.
2020-08-12 11:36:21 +00:00
Giacinto Cifelli 2f684ce92e cinterion: remove limitation to IPv4 only PDP contexts
There was a limitation in the past in the plugin, because one of the steps
during the dial (CONNECT_3GPP_CONTEXT_STEP_PDP_CTX) was to reconfigure a
specific CID hardcoding the IP type to IPv4.

That logic was removed in commit af2d6c1c4b,
but we didn't remove the IPv4 limitation at that point.
2020-08-11 15:52:45 +00:00
Giacinto Cifelli a36beb0a95 cinterion: clarify role of the AT ports for the ELS61/PLS62 family 2020-08-11 15:33:57 +00:00
Giacinto Cifelli e2ab49db0f cinterion: setup initial LTE parameters 2020-08-11 07:17:07 +00:00
Aleksander Morgado 28ad994e37 sierra: XMM-specific features in XMM based modems (e.g. EM7345)
We create XMM-based modems like the EM7345 with XMM-specific features
like the AT+XLCSLSR based GNSS support. E.g.:

  $ mmcli -m a --location-status
    ------------------------
    Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps-msa, agps-msb
             |      enabled: 3gpp-lac-ci
             |      signals: no
    ------------------------
    GPS      | refresh rate: 30 seconds

  $ sudo mmcli -m a --location-enable-gps-nmea
  successfully setup location gathering

  $ sudo mmcli -m a --location-get
    --------------------------
    3GPP |      operator code: 214
         |      operator name: 7
         | location area code: 0000
         | tracking area code: 6FFE
         |            cell id: 0465CD20
    --------------------------
    GPS  |               nmea: $GPGSA,A,1,,,,,,,,,,,,,,,*1E
         |                     $GNGSA,A,1,,,,,,,,,,,,,,,,1*1D
         |                     $GNRMC,235951.000,V,,,,,,,,,,N,V*20
         |                     $GNVTG,,T,,M,,N,,K,N*32
         |                     $GNGGA,235951.000,,,,,0,0,,,M,,M,,*5F

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/25
2020-08-10 19:38:38 +02:00
Giacinto Cifelli 422a9070c4 cinterion: fixed cast from wrong object
MM_BROADBAND_MODEM_CINTERION shall be applied to a *MMBaseModem
    (ctx->modem here)
and not to a *MMBaseBearer (self here)
2020-08-04 11:04:17 +02:00
Aleksander Morgado 1620f04b9b mmcli,output: use 'path' instead of 'dbus path' in field descriptions 2020-08-01 10:16:54 +02:00
Aleksander Morgado 74dd28c4e3 broadband-modem: minor method rename 2020-08-01 10:02:02 +02:00
Aleksander Morgado 130ea74cc9 iface-modem: move sim hot swap ready to correct place in sequence 2020-08-01 10:01:57 +02:00
Giacinto Cifelli 4f1da87972 cinterion: IMT family SGAUTH
some ITM family modems require full parameters:
	AT^SGAUTH=cid,type,user,pwd
even when type is AUTH_NONE.
Fortunately, all modules of the IMT family tolerate this syntax,
so it can be adopted for the entire family.
2020-07-27 11:34:16 +00:00
Giacinto Cifelli 07ac85e2f7 cinterion: ignore ^SYSSTART urc 2020-07-27 12:24:17 +02:00
Giacinto Cifelli 408ec530e0 cinterion: extend SGAUTH syntax
AT^SGAUTH syntax depends on the modem family:
  AT^SGAUTH=cid,type,user,pwd   for the IMT family
  AT^SGAUTH=cid,type,pwd,user   for the rest
2020-07-27 09:42:03 +02:00
Giacinto Cifelli cec6fe9cce cinterion: radio/band single scfg line: no variance
the AT^SCFG="Radio/Band" command does not return a different answer
for different charsets.
This code was working previously because the charset was left to default (GSM)
at the time of this operation, and therefore the string was unchanged anyway.
2020-07-26 13:33:05 +00:00
Giacinto Cifelli 4d58278d7f changed default authentication algorithm to CHAP
CHAP is almost universal nowadays, and so it is a better default
than PAP

Not changed for uBlox, that prefers an error if not specified,
and for Huawei, which uses NONE with user/pwd and has 2 CHAP choices
2020-07-24 16:34:40 +02:00
Sven Schwermer c70b355718 qmi: Network registration via SSSP if possible
Doing the network registration via Set System Selection Preference is
preferable because it doesn't override the currently set allowed mode,
i.e. access technology.

https://lists.freedesktop.org/archives/modemmanager-devel/2020-July/007972.html

Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2020-07-16 08:13:10 +00:00
Justin Standring 47a28114ba broadband-modem-qmi: fix -Wempty-body warning
mm-broadband-modem-qmi.c: In function 'process_common_info':
  mm-broadband-modem-qmi.c:2897:30: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
               /* both apply */ ;
                                ^

Signed-off-by: Justin Standring <justin.standring@taitradio.com>
2020-07-16 13:37:55 +12:00
Justin Standring 6ec12add1b broadband-modem-qmi: fix object logging with WITH_NEWEST_QMI_COMMANDS
mm-broadband-modem-qmi.c: In function 'common_signal_info_get_quality':
  mm-broadband-modem-qmi.c:1469:21: error: 'self' undeclared (first use in this function)
           mm_obj_dbg (self, "RSSI (CDMA): %d dBm", cdma1x_rssi);
                       ^~~~
  mm-broadband-modem-qmi.c:1469:21: note: each undeclared identifier is reported only once for each function it appears in
           mm_obj_dbg (self, "RSSI (CDMA): %d dBm", cdma1x_rssi);
                       ^~~~
  mm-broadband-modem-qmi.c: In function 'process_gsm_info':
  mm-broadband-modem-qmi.c:2992:25: error: 'self' undeclared (first use in this function)
               mm_obj_dbg (self, "no GSM service reported");
                           ^~~~
  mm-broadband-modem-qmi.c: In function 'process_wcdma_info':
  mm-broadband-modem-qmi.c:3100:25: error: 'self' undeclared (first use in this function)
               mm_obj_dbg (self, "no WCDMA service reported");
                           ^~~~
  mm-broadband-modem-qmi.c: In function 'process_lte_info':
  mm-broadband-modem-qmi.c:3209:25: error: 'self' undeclared (first use in this function)
               mm_obj_dbg (self, "no LTE service reported");
                           ^~~~
  mm-broadband-modem-qmi.c: In function 'config_signal_info_ready':
  mm-broadband-modem-qmi.c:4890:21: error: 'self' undeclared (first use in this function)
           mm_obj_dbg (self, "QMI operation failed: '%s'", error->message);
                       ^~~~

Signed-off-by: Justin Standring <justin.standring@taitradio.com>
2020-07-16 13:37:46 +12:00
Aleksander Morgado e98bc7cc08 broadband-modem-qmi: fix parsing of USSD indications with UTF-16 data
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/240
2020-07-08 11:40:41 +02:00
Aleksander Morgado a131c6953a cinterion: quote user/password strings in AT^SGAUTH calls
The ELS61 doesn't like authentication given without quotes:
  [modem3/ttyACM1/at] --> 'AT^SGAUTH=8,1,tm,t-mobile<CR>'
  [modem3/ttyACM1/at] <-- '<CR><LF>+CME ERROR: 4<CR><LF>'

Only when user/pass strings are quoted it works:
  [modem6/ttyACM1/at] --> 'AT^SGAUTH=8,1,"t-mobile","tm"<CR>'
  [modem6/ttyACM1/at] <-- '<CR><LF>OK<CR><LF>'
2020-07-06 16:54:07 +02:00
Aleksander Morgado 0a89a9ae4e cinterion: if user OR password given, don't set the other as (null)
[modem2/ttyACM1/at] --> 'AT^SGAUTH=8,1,t-d1,(null)<CR>'
  [modem2/ttyACM1/at] <-- '<CR><LF>+CME ERROR: 4<CR><LF>'

We should use an empty string instead.
2020-07-06 16:23:57 +02:00
Aleksander Morgado e933fe1413 cinterion: increase SWWAN connection attempt timeout
It's critical not to timeout early on devices with AT ports, or we may
end up flagging the modem as invalid.

  ModemManager[26829]: <debug> [1593097973.552712] [modem1/ttyACM0/at] --> 'AT^SWWAN=1,2,1<CR>'
  ....
  ModemManager[26829]: <debug> [1593098064.195217] [modem1] couldn't connect bearer: Serial command timed out
  ....
  ModemManager[26829]: <error> [1593098091.167987] [modem1] port ttyACM0 timed out 10 consecutive times, marking modem as invalid
2020-07-06 16:23:36 +02:00
Aleksander Morgado bdbd0fc049 iface-modem-signal: port skeleton update logic to use g_autoptr 2020-07-04 06:37:07 +02:00
Aleksander Morgado 3d138f9f80 iface-modem-signal: remove unneeded skeleton clear attempt
It won't do anything because clear_values() tries to get the skeleton
from the modem object, and the skeleton hasn't been set at that point.
2020-07-04 06:37:07 +02:00
Aleksander Morgado c79dcf7940 cinterion,signal: ^SMONI=? support check may be cached 2020-07-04 06:37:07 +02:00
Aleksander Morgado ee262a473d cinterion,signal: report error from parent signal support check 2020-07-04 06:37:07 +02:00
Aleksander Morgado 2cb8e5ef5d cinterion,signal: minor coding style fixes 2020-07-04 06:37:07 +02:00
Aleksander Morgado 900f318d53 docs,libmm-glib: add missing nr5g methods in signal interface 2020-07-04 06:35:25 +02:00
Aleksander Morgado 6f6c090076 broadband-modem: remove misleading comment
5GNR is not 3GPP2
2020-07-04 06:35:25 +02:00
Aleksander Morgado 24670498bc broadband-modem-qmi: minor alignment updates 2020-07-04 06:35:25 +02:00
Aleksander Morgado 10ee7f4cd9 mbim,signal: make sure output pointers are always set
E.g. if 'gsm' pointer is given, make sure it's always set (either to a
MMSignal or to NULL).
2020-07-04 05:50:41 +02:00
Aleksander Morgado 0dd1f12222 mbim,signal: provide 5G signal info if loaded by parent implementation 2020-07-04 05:50:41 +02:00
Walter Hagstrom 88923ffe39 iface-modem-signal: added 5G signal information
Extended the ModemManager Signal interface to include 5G signal
information for RSRP, RSRQ and SINR via libqmi.  Also extended mmci
to print 5G signal info.
2020-07-04 05:50:41 +02:00
Aleksander Morgado 711b17278e build: require 5G signal info support from libqmi 1.27.1 2020-07-04 05:50:41 +02:00