Commit Graph

7297 Commits

Author SHA1 Message Date
Aleksander Morgado
16f90f1ebe build: require libqmi 1.24.0
The 1.24.0 stable release can be used as minimum requirement for the
new ModemManager 1.12.0 release.
2019-11-05 21:00:53 +01:00
Aleksander Morgado
41e30cfa9e AUTHORS: update for 1.12
Based on:
$ git shortlog -s -n
2019-11-05 20:57:42 +01:00
Daniele Palmas
c9e603a388 telit: add AT$GPSNMUN description 2019-11-05 15:52:31 +01:00
Krzysztof Drobinski
4a2e907e30 telit: minor coding style fix 2019-11-02 17:34:13 +01:00
Eric Caruso
c79d945073 mm-modem-helpers-telit: fix undefined bitshifts
Since this plugin uses a bitmask to represent bands, we have
to be wary of shifting outside the precision of the bitmask
storage type. In this case, it was possible to generate 1 << 31
in a signed integer type as an intermediate step of B3G_FLAG,
which is undefined behavior (and usually results in INT_MIN,
breaking comparisons with the value).

Bug was reported to the chromium tracker at crbug.com/1019301

Original patch updated by Aleksander Morgado to leave
MM_MODEM_BAND_TELIT_3G_LAST as MM_MODEM_BAND_UTRAN_19, as that is the
highest 3G band supported by the current implementation. Worth noting
that this was not a real bug as the maximum flag we would have been
setting was (1 << 19) anyway.
2019-10-31 15:36:50 +01:00
Aleksander Morgado
e0f0d62369 telit: fix crash if AT$GPSP=? is supported but no GPS data port
We would have been de-referencing a NULL GError.
2019-10-31 15:14:27 +01:00
Aleksander Morgado
5def58d327 telit: minor coding style fixes 2019-10-31 15:12:54 +01:00
Krzysztof Drobinski
eb3f17ddcc telit: Allow enabling GNSS events if NMEA port was detected 2019-10-30 17:53:22 +01:00
Sven Schwermer
da729943b1 quectel: Add port type hints for BG96
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2019-10-30 11:22:19 +01:00
Sven Schwermer
9e63037c5a quectel: Fix port type hints for EG91
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2019-10-30 11:15:23 +01:00
Aleksander Morgado
b076653ef0 libmm-glib,pco: deprecate mm_pco_list_free()
Use g_list_free_full() using g_object_unref() as #GDestroyNotify
function instead.
2019-10-28 10:39:22 +01:00
Aleksander Morgado
5dd829174f libmm-glib: flag as (skip) all non-API methods
So that the GI scanner ignores them.
2019-10-28 10:28:31 +01:00
Aleksander Morgado
037b774b18 simple-status: deprecate 'subscription state' property
This property was already deprecated in libmm-glib and removed from
the daemon in 1.10, so the counterpart property in MMSimpleStatus
should also be deprecated.
2019-10-28 10:28:31 +01:00
Aleksander Morgado
651028c2b7 libmm-glib: remove unused _dup() methods 2019-10-28 10:28:31 +01:00
Aleksander Morgado
856619535d api,voice: CreateCall() expects only the 'number' property
There is absolutely no reason to provide any other property when the
user creates a new call.
2019-10-28 10:28:31 +01:00
Aleksander Morgado
08d23dd64d docs,libmm-glib: provide per-version indices 2019-10-28 10:28:31 +01:00
Aleksander Morgado
53a7dc2f63 docs,api: rework how indices are exposed in docs
Use <chapter> so that all per-version indices are included in the docs.
2019-10-28 10:28:27 +01:00
Aleksander Morgado
b325270296 libmm-glib,pco: mm_pco_list_add() is not part of the API
This method is used by the daemon to modify the GList of MMPco
objects, the client should not need to use this method for anything.
2019-10-27 16:56:29 +01:00
Aleksander Morgado
d09aa38552 libmm-glib,location: fix 'unknown' lat/long/alt numeric values
G_MINDOUBLE is 0.0, which is a valid altitude, latitude, and
longitude. Change the 'unknown' location values to -G_MAXDOUBLE
instead, which is a completely invalid value in all cases.

This is strictly an ABI break, but it's also true that until now the
methods returning these 'unknown' values could also return valid 0.0
values that would have been detected as 'unknown' by the caller.
So, just stop this madness and don't consider this any ABI break.

This is the same thing we had to do with MM_SIGNAL_UNKNOWN in
fe66bdf65e.
2019-10-27 16:30:37 +01:00
Aleksander Morgado
f9ea0c1d9c cli,output: fix truncated array output when == 10 elements
The extra character size was only being applied when > 10 elements,
leaving the == 10 case out of it, so the output was being truncated.
Fix it, by using a more generic way to computing how many extra
characters we need in the size.

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/151
2019-10-27 15:57:30 +01:00
Aleksander Morgado
1576c7d800 docs,libmm-glib: add missing references to the 'emergency numbers' property methods 2019-10-24 14:22:46 +02:00
Aleksander Morgado
e5ac843a7c api,compat: fix warnings during doc build
We just move the MM_DISABLE_DEPRECATED check to after the
MM_DEPRECATED symbol definition, because gtkdoc-scan gets pretty
confused, likely due to the symbol ending with the "_DEPRECATED"
suffix.

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/91
2019-10-24 14:20:38 +02:00
Aleksander Morgado
cc7fd0ad23 docs,api: add missing reference to ID_MM_PORT_TYPE_AUDIO 2019-10-24 13:05:25 +02:00
Aleksander Morgado
cf14fba5b7 docs,api: provide per-version indices 2019-10-24 13:02:37 +02:00
Aleksander Morgado
f3d1d50bf4 introspection,firmware: avoid <term> in <para>
DOC   Building HTML
Element term in namespace '' encountered in para, but no template matches.
  DOC   Fixing cross-references
2019-10-24 12:00:29 +02:00
Aleksander Morgado
866b4e7686 introspection,voice: untabify 2019-10-24 11:57:55 +02:00
Aleksander Morgado
465067f0c3 introspection,sim: untabify 2019-10-24 11:57:26 +02:00
Krzysztof Drobinski
ef30dd800c telit: increase timeout for AT#REBOOT
It was observed that sporadically it may take more than 5 seconds for modem to
respond to AT#REBOOT. Increase the timeout on AT command to not report
unnecessary errors to the user.
2019-10-21 11:40:39 +02:00
Aleksander Morgado
4a0de586db base-call: if start() fails, always terminated 2019-10-17 10:51:50 +02:00
Aleksander Morgado
2c0281aac9 call: disallow non-emergency calls when in emergency-only state 2019-10-17 10:51:50 +02:00
Aleksander Morgado
d6f9d5e9ec sim: load emergency numbers from EF_ECC 2019-10-17 10:51:50 +02:00
Aleksander Morgado
1f6c006976 api,sim: new 'Emergency Numbers' property 2019-10-17 08:31:46 +00:00
Aleksander Morgado
45cf1ba20a cinterion: don't cache voice support check AT commands
The result of these commands may be different before and after SIM-PIN
unlock, so never cache them.
2019-10-17 08:31:46 +00:00
Aleksander Morgado
57e7841308 iface-modem-voice: always completely reinitialize the interface
The supported voice features may be different before and after SIM-PIN
unlock, so do not cache the result of the support check operation.
2019-10-17 08:31:46 +00:00
Aleksander Morgado
98066d24b7 broadband-modem: don't cache voice support check AT commands
The result of these commands may be different before and after SIM-PIN
unlock, so never cache them.
2019-10-17 08:31:46 +00:00
Aleksander Morgado
5fef14176a broadband-modem: ignore SIM-related errors in voice support check 2019-10-17 08:31:46 +00:00
Aleksander Morgado
6347a7d783 base-call: catch terminated errors before ATD replies
If we get one of the in-call termination errors before ATD replies OK,
we need to cancel the start() operation right away and return an
error to the caller.

Otherwise, the Call will be reported as "terminated" right away, but
the caller would not get an error back until 90s later:

    $ sudo mmcli --call 0 --start
    error: couldn't start the call: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Serial.ResponseTimeout: Serial command timed out'
2019-10-17 08:31:46 +00:00
Aleksander Morgado
eaf6654750 broadband-modem: keep ports context open while in-call
This is so that we can receive and process URCs even if the modem is
not fully enabled yet.
2019-10-17 08:31:46 +00:00
Aleksander Morgado
c99f767f04 broadband-modem: reorder generic port context logic in sources 2019-10-17 08:31:46 +00:00
Aleksander Morgado
ba1f3af342 broadband-modem: new generic ports_context_open()
Used during initialization, enabling and sim hotswap context setup.
The secondary AT and QCDM ports will only be open during enabling.
2019-10-17 08:31:46 +00:00
Aleksander Morgado
7c8d0d1718 broadband-modem: skip redundant ATE0/AT+CMEE=1 settings
These are already given in the logic behind the
"MM_PORT_SERIAL_AT_INIT_SEQUENCE"  property:

    (ttyACM1): --> 'ATE0<CR>'
    (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
    (ttyACM1): --> 'ATV1<CR>'
    (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
    (ttyACM1): --> 'AT+CMEE=1<CR>'
    (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
    (ttyACM1): --> 'ATX4<CR>'
    (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
    (ttyACM1): --> 'AT&C1<CR>'
    (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
    (ttyACM1): --> 'ATE0<CR>'               --> redundant
    (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
    (ttyACM1): --> 'AT+CMEE=1<CR>'          --> redundant
    (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
2019-10-17 08:31:46 +00:00
Aleksander Morgado
657833a400 voice,api: new 'EmergencyOnly' boolean flag
This new flag allows users of the API to know whether general purpose
voice calls are allowed or otherwise only voice calls to the
registered emergency numbers should be performed.

ModemManager won't really do any distinction between emergency and
non-emergency calls at this point, this flag is just an early
indication for the user of the API that no normal voice call should be
attempted.
2019-10-17 08:31:46 +00:00
Aleksander Morgado
7971844318 iface-modem-voice: all methods available even if not enabled 2019-10-17 08:31:46 +00:00
Aleksander Morgado
ed3a1264af iface-modem-voice: call list setup during initialization
We're going to allow emergency calls at any point, so prepare the call
list handling logic during initialization, not when the modem is first
enabled.
2019-10-17 08:31:46 +00:00
Aleksander Morgado
00a39cd060 broadband-modem: voice interface available in failed/locked state 2019-10-17 08:31:46 +00:00
Aleksander Morgado
27405a44ca broadband-modem: new initialization step when failed/locked
Instead of using the firmware step as fallback when the modem goes
into failed or locked state, use an independent step in the
initialization state machine, just to make it clearer.
2019-10-17 08:31:46 +00:00
Aleksander Morgado
d555c4c45c iface-modem-simple: allow single ongoing Connect() attempt
We only allow one single Simple.Connect() attempt at a time. If more
than one arrives, the second and next ones will be forbidden.

The ongoing connection attempt can now always be cancelled via
Simple.Disconnect(), not only *after* the bearer object connection has
started. i.e. if Simple.Disconnect() is called e.g. while waiting to
be registered, we would also be cancelled properly.
2019-10-17 08:07:10 +00:00
Aleksander Morgado
f228d0dd6f base-bearer,iface-modem-simple: log user requests to connect/disconnect 2019-10-17 08:07:10 +00:00
Aleksander Morgado
667d1613a8 x22x: add support for the Alcatel X602D
As discussed in https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/130

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/130
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/129
2019-10-17 09:27:21 +02:00
Aleksander Morgado
407cfa0cd7 x22x: ignore unhandled URCs in the Alcatel X602D 2019-10-17 09:27:11 +02:00