Commit Graph
7664 Commits
Author SHA1 Message Date
Aleksander Morgado 5fc5c8ba18 build,meson: fix wrong install of simtech port types on thuraya plugin 2021-09-07 10:55:43 +00:00
Aleksander Morgado 7060962c0a build,meson: ignore warnings for missing field initializers
We would usually explicitly skip initializing fields that are going to
be zero-ed anyway.
2021-09-07 10:55:43 +00:00
Aleksander Morgado 2c8cab3670 build,meson: disable float comparison warnings
We have several symbols defined as floating point numbers that
identify "unknown" values, e.g. MM_LOCATION_LONGITUDE_UNKNOWN. We want
to be able to compare with those values directly, even if they're
floats.
2021-09-07 10:55:43 +00:00
Aleksander Morgado 2bb699fc96 meson: introspection support enabled by default 2021-09-07 10:55:43 +00:00
Iñigo Martínez 77d1c24361 build: Port to meson
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
2021-09-07 10:55:43 +00:00
Teemu Ikonen fa19b2b9b1 cli, location: Fix multi-sentence NMEA message output
Multi-sentence NMEA messages were printed as is, that is with
linebreaks, which made mmcli --location-get output look broken.

Split NMEA sentences with linebreaks to separate output list items, so
that they line up correctly.
2021-09-01 15:50:38 +00:00
Aleksander Morgado 7177eeea99 build: use WITH_QRTR exclusively to check for QRTR support
The user may request to disable QRTR support using `--without-qrtr`
even if libqmi has QRTR support.
2021-08-31 15:33:15 +02:00
Teemu Ikonen d6dafe5cb4 location-gps-nmea: Fix handling of multi-sentence NMEA messages
Fixes the regexp in check_append_or_replace() to accept

 1. more multi-sentence NMEA messages (ALM, GSV, RTE, SFI)
 2. multi-sentence NMEA messages from all talkers, not just GPS
    (i.e. GPGSV, GLGSV, GAGSV etc.)
2021-08-30 06:49:59 +00:00
Andrew Lassalle 5af93dbfee broadband-modem-mbim: Fix password on initial EPS bearer settings
Currently, we are sending the username twice instead of username and
password. Fix the password value.
2021-08-27 09:42:15 -07:00
Aleksander Morgado a20f2c0523 AUTHORS: update for 1.18.0 2021-08-10 00:01:01 +02:00
Aleksander Morgado a41d6f6b15 NEWS: fix required libmbim version in 1.18 2021-08-09 23:52:36 +02:00
Aleksander Morgado c04b43a67e build: bump version to 1.17.900 (1.18-rc1) 2021-08-09 23:04:05 +02:00
Aleksander Morgado 2a59ba7b1a NEWS: update for 1.18.0 2021-08-09 23:03:39 +02:00
Aleksander Morgado 686e37ff84 api: remove Modem.Sar interface
There is no real implementation for it yet, so let's recover these
changes once 1.18 has been released.
2021-08-09 23:03:23 +02:00
Aleksander Morgado 30e94927e7 build: require libqmi 1.30.0 2021-08-09 22:48:06 +02:00
Aleksander Morgado 55fd225be8 build: require libmbim 1.26.0 2021-08-09 22:48:06 +02:00
Aleksander Morgado 965c43fec7 port-qmi: limit MTU to max RMNET packet size
The maximum MTU that the master interface can support should be less
or equal than RMNET_MAX_PACKET_SIZE, as defined in the
`rmnet_private.h` file in the linux sources (not a public header).

Only applicable to RMNET link management (i.e. not to qmi_wwan
add_mux/del_mux).

Fixes https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/71
2021-08-09 12:22:26 +00:00
Aleksander Morgado 5adc469701 port-qmi: only consider port setup not needed if data modes match
When not requesting multiplexing support, only assume we don't need
any additional setup if multiplexing is disabled AND if the data modes
match between kernel and device.

This fixes the connection setup in MSM8916 (rpmsg+bam/dmux).
2021-08-09 12:22:26 +00:00
Aleksander Morgado 185e492c0a core: new '--test-multiplex-requested' option
The new option will change the default setting in MBIM and QMI bearers
to "request" when no explicit "multiplex" configuration is given by
the user.

This option will help test the multiplexing support in the modems
before it's made a default in a future release.
2021-08-09 12:22:26 +00:00
Aleksander Morgado c49f3f5f46 bearer-qmi: don't enable multiplexing by default unless in IPA
The next 1.18 release will have multiplexing support, but not enabled
by default, to avoid breaking setups that don't expect the new virtual
net interfaces for the multiplexed sessions.

The exception is Qualcomm SoCs using the IPA driver, where
multiplexing is fully required.
2021-08-09 12:22:26 +00:00
Aleksander Morgado 0628514239 bearer-mbim: don't enable multiplexing by default
The next 1.18 release will have multiplexing support, but not enabled
by default, to avoid breaking setups that don't expect the new virtual
net interfaces for the multiplexed sessions.
2021-08-09 12:22:26 +00:00
Aleksander Morgado 168ec6ba09 broadband-bearer: default to 'none' if no multiplexing config provided 2021-08-09 12:22:26 +00:00
Aleksander Morgado 8d019a399c base-bearer: remove default multiplex support symbol
Using "requested" as a common default for every possible
implementation works, because it can handle setups without
multiplexing capabilities (e.g. plain AT+PPP modems) and also setups
without non-multiplexing capabilities (e.g. IPA based SoCs).

But if we don't want "requested" as default, then there will be
failing cases; e.g. we cannot use "none" as default for all as it
would break IPA, and we cannot use "required" as default for all as it
would break AT+PPP setups.

So, remove the common default, it's not flexible enough.
2021-08-09 12:22:26 +00:00
Aleksander Morgado 4a07ab39f1 broadband-modem-qmi: fix max bearers computation in IPA based setups
In IPA based setups, there are only multiplexed bearers supported,
there is no way to not enable multiplexing.

We change the logic that computes the maximum number of multiplexed
and non-multiplexed bearers, so that we check which are the current
kernel data modes before computing them.
2021-08-09 12:22:26 +00:00
Aleksander Morgado 04dba846c9 bearer-list: if non-multiplexing not supported, 0 max non-multiplexed bearers 2021-08-09 12:22:26 +00:00
Aleksander Morgado 9d2782cc5a bearer-list: if multiplexing not supported, 0 max multiplexed bearers
Fixes warnings on AT+PPP based devices:

   ModemManager[602870]: <debug> [1626948725.168355] [modem0] allowed up to 1 active bearers

   (ModemManager:602870): GLib-GObject-WARNING **: 12:12:05.185: value "0" of type 'guint' is invalid or out of range for property 'max-active-multiplexed-bearers' of type 'guint'
2021-08-09 12:22:26 +00:00
Freedom Liu f720467016 foxconn: add T99W175 carrier mapping table 2021-08-09 17:47:27 +08:00
Freedom Liu 10521ce248 foxconn: update T77W968 carrier mapping table 2021-08-09 15:40:03 +08:00
Freedom Liu 33e2b023ef foxconn: Rename carrier-mapping to t77w968-carrier-mapping 2021-08-09 15:37:22 +08:00
Aleksander Morgado 180bd63381 ci: switch to build libqrtr-glib from git using meson 2021-08-06 10:47:13 +02:00
Aleksander Morgado 7eb6495c48 ci: switch to build libqmi from git using meson 2021-08-06 10:19:29 +02:00
Aleksander Morgado b77c15f8b5 broadband-modem-mbim: minor rework in SIM event related comments 2021-08-04 14:21:44 +02:00
Aleksander Morgado bcf5f2bc8b broadband-modem-mbim: also report as available not fully ready SIMs
If a SIM card is not fully ready or in a failed state in the
non-active slot, we should still report them as available.
2021-08-04 14:21:39 +02:00
ZhangMingjie 3004e99fcb broadband-modem-mbim: deal with the slot info status notification event for DSSA 2021-08-04 11:02:43 +02:00
Loic Poulain 9e5e699227 kernel-device-generic: Fix ptr_array_add_sysfs_attribute_link_basename
A pointer can not be used anymore after its ownership has been transfered
using the g_steal_pointer function (pointer is nullified).

In this function, g_steal_pointer() is used when inserting 'value' inside
the array but can also be subsequently used when dumping 'value' to
'out_value' via g_strdup().

Fix that with simple reordering.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2021-08-04 07:40:09 +00:00
Joel Selvaraj b91bf1e3a6 modem-qmi: implement multiparty functionalities
The following functionalities are implemented:
1. Hold all and accept
2. Hangup all and accept
3. Hangup all
4. Join multiparty
5. Leave multiparty
6. Call transfer
2021-08-02 13:11:29 +00:00
Joel Selvaraj 691cb9b694 modem-qmi: implement call waiting setup and query 2021-08-02 13:11:29 +00:00
Joel Selvaraj 1894dd7767 modem-qmi: implement setup in call unsolicited events
Handle supplementary service notification indication.
Useful to know when existing call is on hold, unheld and waiting.
2021-08-02 13:11:29 +00:00
Joel Selvaraj 82054410e2 call-list: allow getting call object by index 2021-08-02 13:11:29 +00:00
Joel Selvaraj 99ba7ee266 build: bump libqmi requirement to support voice supplementary services 2021-08-02 13:11:29 +00:00
Teijo Kinnunen 0610267fa8 test,modem-helpers: add test case of AT+CPOL? response parsing 2021-08-02 12:42:13 +03:00
Teijo Kinnunen 948099bff0 modem-helpers: allow unquoted operator code in AT+CPOL? response
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/409
2021-08-02 12:39:38 +03:00
Aleksander Morgado f9d2168c52 telit: disable +CPOL based features in the LN930
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/414
2021-08-01 16:32:28 +02:00
Aleksander Morgado 999df00d58 fibocom: fix QMI device allowance
E.g. for a FM150:

   [1627656003.230873] [cdc-wdm0] port contents loaded:
   [1627656003.231069] [cdc-wdm0]   bus: usb
   [1627656003.231179] [cdc-wdm0]   interface: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4/1-11.4.4:1.4
   [1627656003.231272] [cdc-wdm0]   device: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4
   [1627656003.231364] [cdc-wdm0]   driver: qmi_wwan
   [1627656003.231450] [cdc-wdm0]   vendor: 2cb7
   [1627656003.231536] [cdc-wdm0]   product: 0104
   [1627656003.231626] [cdc-wdm0]   revision: 0414
   [1627656003.231722] [base-manager] adding port cdc-wdm0 at sysfs path: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4/1-11.4.4:1.4/usbmisc/cdc-wdm0
   ...
   [1627656004.333874] [plugin/fibocom] port cdc-wdm0 filtered by implicit QMI driver
2021-07-31 23:12:55 +02:00
Aleksander Morgado c4130dcf83 huawei: disable CPOL based features in the R215
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/411
2021-07-31 23:12:55 +02:00
Aleksander Morgado 13d82c1de2 huawei: ignore ^LWURC URCs
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/412
2021-07-31 23:12:55 +02:00
Loic Poulain b0248e471c kernel-device: generic: Support ATTR condition
Only the plural ATTRS form was checked but we also need to support
the single ATTR for matching device's attribute only.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2021-07-30 14:03:40 +00:00
Iñigo Martínez 7c4db66eb3 build: Rename template files
The template files in the `build-aux` directory used in enums sources
and headers generation use the `{$name}-template.[ch]` pattern.
However, the examples in the official guide[0] and usually GNOME and
Freedesktop packages use the `{$name}.[ch].template` pattern.

Due to this, the name of the template files and build commands have
been changed.

[0] https://developer.gnome.org/gobject/stable/glib-mkenums.html
2021-07-30 10:14:52 +00:00
Aleksander Morgado b935782010 cinterion: increase ^SCFG? timeout to 120s
The timeout in this command is extremely large, because there are some
modules like the EGS5 that build the response based on the current
network registration, and that implies the module needs to be
registered. If for any reason there is no serving network where to
register, the response comes after a very long time, up to 100s.

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/408
2021-07-29 13:06:11 +02:00
Aleksander Morgado 2590c4f0d7 ci: switch to build libmbim from git using meson 2021-07-28 16:14:45 +02:00