Commit Graph

226 Commits

Author SHA1 Message Date
Aleksander Morgado
866c1d4ab6 build: look for libqrtr-glib with pkg-config
The WITH_QRTR symbol in config.h will let us know both if libqrtr-glib
is found and if libqmi-glib is compiled with QRTR support (as per the
exposed "qmi_qrtr_supported" variable in pkg-config).
2021-04-14 10:35:06 +02:00
Aleksander Morgado
16ade1c5d2 build: require libgudev 232 to include autoptr support
The code in git master already relies on autoptr support in GUdev
types, which was introduced in commit 272533131c6ed38479a88805,
included in libgudev 232.

See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/349
2021-03-23 15:26:32 +01:00
Aleksander Morgado
340fa919d9 build: require libmbim 1.25.2 for multiplex support 2021-03-17 09:36:53 +01:00
Teijo Kinnunen
74599e695b sim-qmi,libmm-glib: QMI implementation of get/set preferred networks 2021-03-12 10:42:37 +02:00
Aleksander Morgado
496c4e30e9 broadband-modem-qmi: enable network reject indications
We will issue warnings in the log whenever a network reject indication
is received.
2021-03-02 14:38:35 +01:00
Aleksander Morgado
19e5d5f926 build: post-release version bump to 1.17.0 2021-02-23 12:20:53 +01:00
Aleksander Morgado
7a5a49b753 release: bump version to 1.16.0 2021-02-23 11:35:50 +01:00
Aleksander Morgado
bbd3638d12 build: require libqmi 1.28.0 2021-02-23 11:22:50 +01:00
Frederic Martinsons
89cd1696c3 tools: add unit test for test-modemmanager-service.py
The tests spawn the service via GTestDBus framework and make
some test API call while checking libmm interface to verify
that informations are well propagated.

To be able to use the fresh built libmm typelib, I used a
wrapper script to set GI_TYPELIB_PATH (because DBus activation
process clean the environment so it is not possible to set
it directly in the file).

This requires also the install of libgirepository-dev and python3-gi
in the CI docker.

Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
2021-01-15 16:44:19 +00:00
Aleksander Morgado
7b52efda34 build: require libqmi 1.27.3 to support initial EPS management 2020-12-21 12:05:57 +00:00
Dylan Van Assche
756894bc76 build: Allow elogind for suspend/resume support 2020-11-27 18:07:02 +01:00
Aleksander Morgado
65560dd885 build: qcom-soc plugin by default disabled
It will not be automatically enabled by the implicit
--enable-all-plugins; instead, it must be explicitly enabled with
--enable-plugin-qcom-soc.

This plugin only makes sense under very specific SoC builds, so there
is no point in always building it by default. It should be explicitly
requested only in those SoC builds that are really going to make use
of it (e.g. postmarketOS).
2020-11-20 09:24:51 +00:00
Aleksander Morgado
8fc60754dd qcom-soc: new plugin for Qualcomm SoCs
This plugin implements support for old Qualcomm SoCs like the MSM8916
or the MSM8974, where:
 * control ports are available via RPMSG channels exported as devices
   e.g. with rpmsgexport:
   https://github.com/andersson/rpmsgexport
 * network ports are exposed by the bam-dmux kernel driver:
   https://github.com/msm8916-mainline/linux/commits/bam-dmux

Adding support for newer Qualcomm SoCs (e.g. QRTR+IPA) could be done
in a similar way on this very same plugin.

This plugin is the first and only one that implements support for a
modem device that is "built in" the system, as opposed to external
modems that may be available via USB or PCI.

The ID_MM_PHYSDEV_UID based udev tags provided by the plugin provide
the logic to bind all the SoC ports together in the same modem object,
and therefore ID_MM_PHYSDEV_UID should not be used by users to
override the ones set by the plugin.

All "rpmsg[0-9]*" ports that are considered part of the modem are
flagged as candidate, ignoring the parent "rpmsg_ctrl[0-9]*" ports on
purpose. This setup therefore assumes that the channels have been
exported already as devices (e.g. using rpmsgexport).

libqmi 1.27.2 is required to support the "WDS Bind Data Port" message.
2020-11-20 09:24:51 +00:00
Frederic Martinsons
519df2544b tools: add new system daemon stub tester application
This script mock some of ModemManager DBus interfaces (main object, Modem, Sim),
it also adds a test interface "org.freedesktop.ModemManager1.LibmmGlibTest"
which allow to inject some errors and simulate behavior:
  - Add a modem object
  - Emit modem state changed
  - Set modem error

This script also add the possibility to log in a file for debugging purpose.
Because the stdout/stderr are not shown when the program is spawned by DBus
auto activation.

Note: Script is heavily inspired from test-networkmanager-service.py from
NetworkManager project

Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
2020-11-12 18:34:59 +01:00
Aleksander Morgado
904adbfb5e build: do not require xsltproc when building from a release tarball
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/276
2020-11-08 10:09:32 +01:00
Aleksander Morgado
9397ed420d gosuncn: new plugin
For now, just with port type hints for the GM800 in MBIM mode.
2020-09-28 08:22:35 +00:00
Aleksander Morgado
6a3b7bdf95 build: set package bugreport to the gitlab issues URL 2020-09-18 10:31:32 +02: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
Aleksander Morgado
711b17278e build: require 5G signal info support from libqmi 1.27.1 2020-07-04 05:50:41 +02:00
Aleksander Morgado
62956b5c7a build: post-release version bump to 1.15.0 2020-06-23 14:22:39 +02:00
Aleksander Morgado
5f20662aeb release: bump version to 1.14.0 2020-06-23 14:06:03 +02:00
Aleksander Morgado
5cbeeb1b99 build: require libqmi 1.26.0 2020-06-20 12:05:18 +02:00
Aleksander Morgado
54de41928b build: require libmbim 1.24.0 2020-06-18 10:58:14 +02:00
Aleksander Morgado
cbcc141105 build: bump version to 1.13.900 (1.14-rc1) 2020-06-04 14:22:05 +02:00
Aleksander Morgado
1ef46cdf80 build: require libmbim 1.24-rc1 2020-06-03 17:32:19 +02:00
Aleksander Morgado
6eca223705 shared-qmi: require minimum set of NMEA types before starting GNSS engine 2020-06-01 15:43:48 +00:00
Giacinto Cifelli
bbd39a457c configure.ac: check for xsltproc 2020-05-14 09:48:35 +02:00
Aleksander Morgado
d33a883be4 build: require libmbim 1.23.1 for autoptr support 2020-05-13 10:06:37 +02:00
Aleksander Morgado
26b589cc02 broadmobi: new plugin
Right now, just with port type hints for the BM818.
2020-05-10 10:51:45 +02:00
Aleksander Morgado
ae90ed66a2 broadband-modem-qmi: 3GPP USSD support
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/26
2020-04-20 16:48:52 +02:00
Aleksander Morgado
bf771be7fa build: require libqmi 1.25.4 for full 5G enum support 2020-04-09 12:38:49 +00:00
Aleksander Morgado
1c078531a0 build: use AX_IS_RELEASE() and AX_COMPILER_FLAGS()
The autoconf macros AX_COMPILER_FLAGS_{CFLAGS|GIR|LDFLAGS} test
for compiler and linker support of various flags, and add the flags to
the generated output.

If the command-line option '--enable-compile-warnings' is specified to
'configure', a number of additional warning options is also added to the
output. This is the default.

This update requires the presence of the GNU autoconf-archive in the
system.
2020-01-30 11:59:14 +01:00
Aleksander Morgado
5e4b559f48 build: add note for glib < 2.55.1 2020-01-21 10:58:55 +01:00
Aleksander Morgado
f775721817 build: bump minimum glib required version to 2.48 2020-01-15 18:49:09 +01:00
Aleksander Morgado
248cd55f0e examples: new network-scan-python example
This is currently not working completely ok because python doesn't
know how to free the GList of MMModem3gppNetwork elements.

  /org/freedesktop/ModemManager1/Modem/1: starting network scan...
  21403: Orange - Orange (unknown, forbidden)
  21401: vodafone ES - vodafone ES (unknown, forbidden)
  21403: Orange - Orange (unknown, forbidden)
  21403: Orange - Orange (unknown, forbidden)
  21401: vodafone ES - vodafone ES (unknown, forbidden)
  21404: Yoigo - Yoigo (unknown, forbidden)
  21401: vodafone ES - vodafone ES (unknown, forbidden)
  21404: Yoigo - Yoigo (unknown, forbidden)
  21407: Movistar - Movistar (unknown, available)
  21407: Movistar - Movistar (unknown, available)
  21407: Movistar - Movistar (unknown, current)
  free(): invalid pointer
  Aborted
2019-12-13 17:36:06 +01:00
Aleksander Morgado
09080073ff build: setup plugin selection logic 2019-11-27 10:11:43 +00: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
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
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
55c3f7d3f6 systemd: always start MM after polkit service if enabling policy
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/113
2019-10-11 08:40:37 +00:00
Aleksander Morgado
c78ba5ea0a build: allow unconditionally enabling Modem.Command() method
If ModemManager is being used in a custom system, make it easy to
unconditionally enable the Modem.Command() method, in case the modem
needs to be configured in some way that is not supported via standard
modem interfaces.
2019-06-01 10:27:57 +02:00
Dan Williams
1c14ca7262 libwmc: remove it
The WMC protocol was only present on older Panasonic/Verizon devices
from the 2006 - 2011 timeframe. The last device to support WMC was
the UML290 which also supported QMI (which is much more functional).
ModemManager also never used WMC support and it was never significantly
reverse engineered.

So remove WMC code from git; it'll still be in the history if anyone
cares in the future.
2019-04-02 11:20:11 -05:00
Aleksander Morgado
1093c124b4 dell,dw5821e: use DMS extension method to load properly formatted firmware version
And require libqmi 1.23.1.
2019-02-26 23:57:29 +01:00
Aleksander Morgado
2d80dbfbfe build: post release version bump to 1.11.0 2019-01-17 16:37:19 +01:00
Aleksander Morgado
9268d4f9ef release: bump version to 1.10.0 2019-01-17 16:14:25 +01:00
Aleksander Morgado
4ae62ace7f build: bump version to 1.9.990 (1.10-rc1) 2019-01-08 15:49:55 +01:00
Aleksander Morgado
e826a24e44 build: require libmbim 1.18.0 and libqmi 1.22.0 2019-01-08 15:35:16 +01:00
Aleksander Morgado
9c15579347 build: version bump to flag existence of new API (runtime version reporting) 2018-12-04 17:26:59 +00:00
Ben Chan
2522efb359 broadband-modem-mbim: update ms-basic-connect-extensions naming
libmbim 1.17.4 (commit 3eeaa4248b98 "ms-basic-connect-extensions: rename
service") added a MS prefix to the Basic Connectivity Extensions
service. This patch updates the MMBroadbandModemMbim code accordingly.
2018-11-07 09:52:30 +01:00