Commit Graph

6331 Commits

Author SHA1 Message Date
Aleksander Morgado
792f15648c ci: redefine when jobs are run
* single-plugin builds only on schedules
 * with/without qmi/mbim builds on master and merge requests
 * default build always, including on branches and when git pushing
2019-11-27 10:11:43 +00:00
Aleksander Morgado
c4991165c2 ci: new job to build all single-plugin configurations 2019-11-27 10:11:43 +00:00
Aleksander Morgado
09080073ff build: setup plugin selection logic 2019-11-27 10:11:43 +00:00
Aleksander Morgado
1d1f597b55 telit: setup as loadable 'shared' utils 2019-11-27 10:11:43 +00:00
Aleksander Morgado
7bcb8c9515 foxconn: setup as loadable 'shared' utils 2019-11-27 10:11:43 +00:00
Aleksander Morgado
fce7892058 xmm: setup as loadable 'shared' utils 2019-11-27 10:11:43 +00:00
Aleksander Morgado
b765e88e57 novatel: setup as loadable 'shared' utils 2019-11-27 10:11:43 +00:00
Aleksander Morgado
2d779b97c4 option: setup as loadable 'shared' utils 2019-11-27 10:11:43 +00:00
Aleksander Morgado
23df25f25c sierra: setup as loadable 'shared' utils 2019-11-27 10:11:43 +00:00
Aleksander Morgado
9907407fd1 mbm: skip setting up as common utils library
The Ericsson MBM modem management is only used by the MBM plugin.
2019-11-27 10:11:43 +00:00
Aleksander Morgado
a6d76cfceb icera: setup as loadable 'shared' utils 2019-11-27 10:11:43 +00:00
Aleksander Morgado
8fcc470a5c plugin-manager: always make sure all needed symbols are available
Never do lazy loading, we'll always make sure that a plugin will only
be fully loaded if all the symbols it requires are already available.
2019-11-27 10:11:43 +00:00
Aleksander Morgado
b1c3f1eb1c plugin-manager: dynamically load 'shared' util libraries 2019-11-27 10:11:43 +00:00
Aleksander Morgado
1bd6980510 plugins: add README explaining plugin relationships 2019-11-27 10:11:43 +00:00
Rafael Fontenelle
95dd8aaf90 po: update Brazilian Portuguese translation 2019-11-27 10:59:13 +01:00
Aleksander Morgado
b4dcb76d5a plugin-manager: allow new ports up to 1500ms since last port added
Until now we had only a 2500ms timeout initialized since the first
port was exposed until we decided we were ready to consider all ports
notified by the kernel.

With this new logic, we add an additional condition: even if the
2500ms initial timeout has elapsed already, we leave an additional
1500ms since the last port addition for new ports to appear.

This new logic is useful when relying on the ReportKernelEvent() DBus
method, as it is the user the one responsible for reporting the kernel
events instead of udev. Now, the user is not forced to make sure all
ports are exposed in 2500ms; instead, we also allow ports to be
reported in more than 2500ms as long as the time between port
additions reported is less than 1500ms.

Note that this does not mean that the whole probing time will now
always be 4000ms. On well behaved systems (like when based on udev)
this new 'extra' probing timeout may expire long before the 'min'
probing timeout we already had as well.

E.g. in this setup, the reporting of the NET port was done 1100ms
later than the last ttyUSB3, and that was already too late as the
original 2500ms threshold had already expired.

 [1573536994.593874] (tty/ttyUSB0): first port in device /sys/devices/platform/ehci-platform/usb1/1-1
 [1573536994.596659] [plugin manager] task 1: port grabbed: ttyUSB0
 [1573536995.093579] (tty/ttyUSB1): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
 [1573536995.094172] [plugin manager] task 1: port grabbed: ttyUSB1
 [1573536995.603206] (tty/ttyUSB2): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
 [1573536995.603822] [plugin manager] task 1: port grabbed: ttyUSB2
 [1573536996.111564] (tty/ttyUSB3): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
 [1573536996.112257] [plugin manager] task 1: port grabbed: ttyUSB3
 [1573536996.814816] [device /sys/devices/platform/ehci-platform/usb1/1-1] creating modem with plugin 'Quectel' and '4' ports
 [1573536997.265820] (net/wwan0): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
 [1573536997.296935] (usbmisc/cdc-wdm0): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
2019-11-27 08:29:37 +00:00
Aleksander Morgado
8f21f40674 broadband-modem-mbim: avoid LTE attach config/status if unsupported
If we know that the LTE attach status/configuration CIDs in the Basic
Connect Extensions service are unsupported, don't even try to use
them, so that we avoid timeouts in the requests.
2019-11-27 09:03:22 +01:00
Aleksander Morgado
c523d5bdc3 bearer-qmi: plug memleaks when connection attempt fails early
The data and qmi objects were not being correctly disposed on several
error conditions.
2019-11-25 15:08:20 +01:00
Aleksander Morgado
260d34be76 bearer-qmi: plug memleaks during network disconnection 2019-11-25 12:29:33 +01:00
Amol Lad
7297b3fc90 mbim: release all allocated CIDs during shutdown 2019-11-23 14:57:48 +05:30
Aleksander Morgado
913f0d638d ci: require autoconf-archive 2019-11-22 11:06:26 +01:00
Amol Lad
8f4b5b52ee sierra: add port hints for EM7565 modem 2019-11-19 16:01:41 +05:30
Aleksander Morgado
42dab8e827 build,test: fix order of included libraries
Symbols are resolved forward, so if libhelpers depends on libmm-glib,
it needs to be specified first.
2019-11-15 08:55:28 +00:00
Aleksander Morgado
16f4039159 cli,modem: avoid using deprecated mm_pco_list_free() 2019-11-15 08:55:28 +00:00
Aleksander Morgado
5e8c64d092 iface-modem-simple: don't assert ongoing connect cancellable
[11642]: <debug> [1573665255.321490] Couldn't reload current power state: QMI operation failed: Transaction timed out
    [11642]: <debug> [1573665255.321697] No need to change power state: already in 'on' power state
    [11642]: <debug> [1573665255.330864] Modem (Quectel) '/sys/devices/platform/ehci-platform/usb1/1-1' completely disposed
    **
    ERROR:mm-iface-modem-simple.c:44:private_free: assertion failed: (!priv->ongoing_connect)

If the modem goes away in the middle of a connection attempt, there's
no explicit connection cancellation performed, we just cleanup the
modem object. In this case, the ongoing attempt cancellable will still
exist, so just clean it up as well.
2019-11-13 18:23:21 +01:00
Aleksander Morgado
3da82d1050 plugin-manager: cancel timeouts when device probing is cancelled
There is no need to wait for the minimum wait/probing time before we
can cancel the device probing.
2019-11-13 15:43:11 +01:00
Aleksander Morgado
76e862597c plugin-manager: fix waiting the minimum probing time
The device port probings were being finished before the minimum
probing time, making this timeout effectively useless.
2019-11-13 15:38:45 +01:00
Aleksander Morgado
d7d2b9108e foxconn: new plugin to support the T77W968
The Dell DW5821e is really a re-branded Foxconn T77W968.
2019-11-13 12:31:58 +01:00
Yuri Chornoivan
5ab5593edb uk: update Ukrainian translation 2019-11-11 10:11:31 +01:00
emintufan
81daaa25be po: update Turkish translation 2019-11-11 10:06:28 +01:00
Aleksander Morgado
ad371cecd1 dell,dw5821e: add support for the DW5821e with eSIM variant
Same port layout as the default one, just a different PID.
2019-11-07 12:30:26 +01:00
Aleksander Morgado
0c554aec9e build: post-release version bump to 1.13.0 2019-11-06 13:15:47 +01:00
Aleksander Morgado
8c2a6629d7 release: bump version to 1.12.0 2019-11-06 12:58:45 +01:00
Aleksander Morgado
929ed9f939 NEWS: update for 1.12.0 2019-11-06 12:57:56 +01:00
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