Commit Graph
210 Commits
Author SHA1 Message Date
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
Aleksander Morgado 692d076ba6 shared-qmi: implement reworked mode and capabilities management
This commit introduces several improvements and changes in the way
modes and capabilities are managed in QMI capable devices. It is
organized into a single commit, as all changes in all 6 operations
(load current capabilities, load supported capabilities, set current
capabilities, load supported modes, load current modes, set current
modes) are related one to the other (given that the same QMI commands
are used for both capabilities and mode management).

The primary change is related to which capabilities are reported as
supported for a given device. In the previous implementation we
allowed switching between every combination possible for GSM/UMTS+LTE,
CDMA/EVDO+LTE or GSM/UMTS+CDMA/EVDO+LTE devices. E.g. we would allow
"LTE only" and "GSM/UMTS only" capabilities for GSM/UMTS+LTE devices,
even if they would both be managed in exactly the same way. That setup
wasn't ideal, because it meant that switching to a "LTE only"
configuration would require a power cycle, as capability switching
requires a power cycle, even if no change was expected in the exposed
DBus interfaces (which is why we require the power cycle). So, instead
of allowing every possible capability combination, we use capability
switching logic exclusively for configuring GSM/UMTS+CDMA/EVDO devices
(regardless of whether it has LTE or not) to add or remove the
GSM/UMTS and CDMA/EVDO capabilities. E.g. for a GSM/UMTS+CDMA/EVDO+LTE
device we would allow 3 combinatios: "GSM/UMTS+LTE", "CDMA/EVDO+LTE"
and "GSM/UMTS+CDMA/EVDO+LTE".

The "GSM/UMTS+CDMA/EVDO+LTE" is a special case because for this one we
allow switching to "LTE only" capabilities while we forbid switching
to "4G only" mode. As the same commands are used for mode and
capability switching, if we didn't have "LTE only" and we allowed "4G
only" mode instead and rebooted the device, we would end up not being
able to know which other capabilities (GSM/UMTS or CDMA/EVDO or both)
were also enabled.

Now that we have capability switching confined to a very subset of
combinations, we can use the mode switching logic to e.g. allow "4G
only" configurations in all non multimode devices, as well as masks of
allowed modes with one being preferred, which we didn't allow before.
In the previous implementation all mode switching logic was disabled
for LTE capable QMI devices. In the new implementation, we use the
"Acquisition Order Preference" TLV in NAS Set System Selection
Preference to define the full list of mode preferences for all
supported modes.

We also no longer just assume that NAS Technology Preference is always
available and NAS System Selection Preference only after NAS >= 1.1.
This logic is flawed, instead we're going to probe for those features
once when loading current capabilities, and we then just implement the
capabilities/mode switching logic based on that.
2018-09-12 17:25:19 +00:00
Aleksander Morgado f6a2d01c7e build: require libqmi 1.21.3 with QMI LOC support 2018-08-21 13:26:08 +00:00
Ben Chan 2773475f43 build: require libmbim 1.17.3
libmbim 1.17.3 adds the support for MBIM_CID_PCO, which is used by
commit d68078b2ce ("broadband-modem-mbim: check if modem implements
MBIM_CID_PCO").
2018-08-09 13:37:05 +02:00
Aleksander Morgado 518d62e731 helpers-qmi: fix UMTS band 6 and 19 definitions
Also bump required libqmi version, as this change uses flags from the
latest available API.

UMTS B19 is NTT DoCoMo's 800MHz band.
UMTS B6  is NTT DoCoMo's 850MHz band
2018-08-08 18:39:32 +00:00
Ben Chan 1990d9e982 modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError
Commit 2a97e39cdd in libmim ("libmbim-glib: add additional cause codes
to MbimNwError") added additional cause codes to MbimNwError. This
patch maps some of those MbimNwError to MMMobileEquipmentError.

This patch requires libmbim >= 1.17.1
2018-06-02 18:25:57 +02:00
Aleksander Morgado b4748ba674 build: post release version bump to 1.9.0 2018-06-02 17:46:48 +02:00
Aleksander Morgado c187c5fef5 release: bump version to 1.8.0 2018-06-02 17:33:53 +02:00
Aleksander Morgado c9dee2b960 build: bump version to 1.7.991 (1.8-rc2) 2018-03-27 13:27:27 +02:00
Aleksander Morgado 223b754fcc build: bump version to 1.7.990 (1.8-rc1) 2018-01-21 22:56:53 +01:00
Aleksander Morgado c5c9ab279d build: require libmbim 1.16.0 2018-01-20 15:39:26 +01:00
Aleksander Morgado fbd1780e60 build: require libqmi 1.20.0 2018-01-20 15:39:26 +01:00
Eric Caruso 098c4c0271 mm-broadband-modem-qmi: reprobe on qmi-proxy death
This allows us to reprobe the modem and respawn the
qmi-proxy in case it dies on us. This gets us access
to the modem and unsolicited notifications again. Do
this by connecting to the device-removed signal on
QmiDevice.

---
Rebased on top of git master by
Aleksander Morgado <aleksander@aleksander.es>
2017-10-22 11:53:32 +02:00
Aleksander Morgado 984625165e i18n: deprecate intltool and use only gettext 0.19.8
Instead of mixing both intltool and gettext, which not always work
correctly together, this patch obsoletes intltool and uses only
gettext, which includes support for translating XML files with ITS
rules.

See migration steps for GNOME projects here:
  https://wiki.gnome.org/MigratingFromIntltoolToGettext

The gettext ITS rules for polkit policy files are imported from the
upstream polkit repository. We don't use the polkit-installed rule
files yet because there is no tagged release that contains those files
yet, so we cannot build-depend on any specific polkit version.
  https://bugs.freedesktop.org/show_bug.cgi?id=96940
2017-09-07 13:04:34 +02:00
Aleksander Morgado 4d6896f0d9 build: rename --with-suspend-resume to --with-systemd-suspend-resume
And only define WITH_SYSTEMD_SUSPEND_RESUME when enabled.

We already have other systemd specific features under the
--with-systemd-* name scheme, so consolidate that, given that we don't
have any other method to support suspend/resume notifications.
2017-06-22 10:51:40 +02:00
Aleksander Morgado 341555504e build: only define WITH_SYSTEMD_JOURNAL if enabled 2017-06-22 10:40:58 +02:00
Aleksander Morgado acf36f2ae0 build: only define WITH_POLKIT if enabled 2017-06-22 10:26:12 +02:00