Commit Graph
9021 Commits
Author SHA1 Message Date
Aleksander Morgado a1214b5fd5 build: unstable release version bump to 1.23.11 2024-09-16 09:19:23 +00:00
Aleksander Morgado a1f2d8c99b broadband-modem-mbim: log hex value of IP type if unknown
The L850 seems to report 0xFFFFFFFF as MbimContextIpType value, which
is not a correct value.

Instead of printing "(none)" (the default used by glib when trying to
print a NULL pointer as a string), make it so that we end up printing
the actual numeric value in hex.

   <dbg> [modem0] 'home' settings found at configuration index 0
   <dbg> [modem0] 'non-partner' settings found at configuration index 1
   <dbg> [modem0] 'partner' settings not found
   <dbg> [modem0] updates in the home LTE attach configuration settings:
   <dbg> [modem0]   ip type: 'unknown (0xffffffff)' -> ''ipv4v6'
   <dbg> [modem0] updates in the partner LTE attach configuration settings:
   <dbg> [modem0]   none (skipped)
   <dbg> [modem0] updates in the non-partner LTE attach configuration settings:
   <dbg> [modem0]   none
2024-09-11 11:01:19 +00:00
Aleksander Morgado 4748ebf300 broadband-modem-mbim: update all home/partner/non-partner LTE attach settings
Instead of updating the attach settings associated with the home
network, update all three to the same values, so that network attach
while roaming uses the same settings as in home.

This is a major change in behavior; if there is ever a need to roll
back to the old behavior because a given device doesn't support this,
we can provided device-specific behaviors using the
load_set_initial_eps_bearer_settings_mask() virtual method.
2024-09-11 11:01:18 +00:00
Aleksander Morgado 8a5aab8be5 fibocom: L850 specific hack when using an AT&T 310280 SIM card
L850 modems running a firmware version less than 18500.5001.0.7 and
using AT&T SIM cards with MCCMNC 310280 do not support specifying
"partner" settings in the MBIM operation to set the LTE attach
configuration.
2024-09-11 11:01:18 +00:00
Aleksander Morgado 58f25ec5f9 broadband-modem-mbim: rework the logic to set LTE attach configuration
The ModemManager API provides a single method to update the attach
settings used in LTE registration, but in the MBIM protocol there are
three different distinct configurations associated with that
operation.

Until now we have exclusively updated the "home" settings, leaving the
"partner" and "non-partner" settings untouched (i.e. we loaded the
existing settings for these sections, and used the same ones when
providing our update operation).

Unfortunately, this logic does not fit all needs. Some modems will
require all 3 elements to be unconditionally updated, and some other
modems may need to fully skip one of the configuration sections.

The rework done in this commit does not change the behavior, but
provides the ability for subclasses to modify how the operation is
done, via a set of flags that is provided on each update attempt (as
sometimes the behavior is operator-specific).
2024-09-11 11:01:18 +00:00
Aleksander Morgado a5c15ec7d8 broadband-modem-mbim: rework home settings lookup in LTE attach config response
We look for the home settings, but also allow to optionally lookup for
the partner and non-partner settings, logging in each case if we find
anomalies (e.g. if not found or if found duplicated entries).
2024-09-11 11:01:18 +00:00
Aleksander Morgado 9d4eb8f1ba modem-helpers-mbim: minor coding style fix 2024-09-11 11:01:18 +00:00
Dan Williams 478e9645ca tests: test mm_split_string_groups()
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-10 19:03:31 -05:00
Dan Williams 1a43833d99 modem-helpers: remove duplicate include
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-10 19:03:31 -05:00
Kyle Evans 7fadbc0615 mm-sms-list: tag dbg messages with base sms identifier
This helps identify which base sms the message belongs to.

Previous
[modem0/sms-list] found existing multipart SMS object with reference
'126': adding new part

New
[modem0/sms0] found existing multipart SMS object with reference
'126': adding new part

Signed-off-by: Kyle Evans <kvans32@gmail.com>
2024-09-09 08:48:37 +00:00
Kyle Evans 7eca4583cd sms-part-3gpp: add the message timestamp in dbg
This aids in determining the age of messages stuck in receiving.

Signed-off-by: Kyle Evans <kvans32@gmail.com>
2024-09-09 08:48:37 +00:00
Kyle Evans ae88eeed49 mm-base-sms: cmp by reference & number
Messages from different senders can have the same reference.
Stale messages from the same sender can also conflict.

Consider the number of the sender and also the max parts
when assigning parts to a base sms.

Ref 3gpp specification section 9.2.3.24.1

Fixes #757

Signed-off-by: Kyle Evans <kvans32@gmail.com>
2024-09-09 08:48:37 +00:00
Lukas Voegl d763b94677 quectel: implement DFOTA update method 2024-09-09 08:26:15 +00:00
mank.wang 0bab39a20b Quectel: Fix obtaining incorrect module names 2024-09-09 08:16:04 +00:00
Vanillan Wang ec779b9274 plugin,rolling: Update RW135 udev rules. 2024-09-09 07:35:51 +00:00
Aleksander Morgado 096455947a mtk: never reload TX/RX stats in FM350
The device always reports empty TX/RX values so there is no point in
periodically asking.

The logic to poll for stats is kept in place only if the device
requires the IP packet filters removal hack.
2024-08-29 10:07:43 +00:00
Aleksander Morgado 2b3f4f22c2 fibocom: NL668 ttys are managed by the option driver
So they are ttyUSB instead of ttyACM.
2024-08-23 16:26:34 +00:00
Aleksander Morgado e30ed1bc47 fibocom: add L850 AT port hints
Just so that we make sure no other probing type is tried with them.
2024-08-23 16:24:37 +00:00
Aleksander Morgado 04b3a3f01c build: unstable release version bump to 1.23.10 2024-08-21 17:52:24 +00:00
Aleksander Morgado 8ff4b3638f modem-helpers-qmi: map the DUN/tethering APN type
libqmi version is bumped to 1.35.6, which is the unstable tag that
includes the new symbols.
2024-08-21 17:04:38 +00:00
Daniele Palmas f62ff207bb telit: add port hints for FN912C04 0x3000 and 0x3001 compositions
Related kernel commits:

9a590ff28342 ("USB: serial: option: add Telit FN912 rmnet compositions")
77453e2b015b ("net: usb: qmi_wwan: add Telit FN912 compositions")
2024-08-05 03:25:09 +00:00
Aleksander Morgado e685479a6e build: reorder netprisma plugin alphabetically 2024-08-02 14:40:12 +00:00
Aleksander Morgado e1d0bd0a64 netprisma: remove serial modems support 2024-08-02 14:38:03 +00:00
Mank Wang d7dab1773d Netprisma: Add new plugin 2024-08-02 14:34:16 +00:00
Sebastian Krzyszkowiak 93c1e55d36 mm-iface-modem: Always check properties for disabling signal polling
MMBroadbandModemQmi only disables signal polling once it successfully
sets the indication up. To do that, it sets the properties on
MMIfaceModem. This, however, doesn't actually disable polling, as the
property values are only checked once in get_private when Private
structure hasn't been created yet. Once that happens, only the cached
values are ever checked, and there's nothing that would update them.

Since there's only one place where these properties are checked, get
rid of cached bools in Private structure and instead read the property
values directly in periodic_signal_check_step, letting QMI modems
actually disable polling at runtime.
2024-08-02 03:43:44 +02:00
Bolan Wang 388e8ea538 plugin,mtk: Add load_unlock_retries
This patch add load_unlock_retries support by AT in mtk-based Fibocom
modem.
2024-07-31 20:13:28 +00:00
Thomas Vogt 7312c86130 intel: mark XMM7360 as unsupported 2024-07-31 17:36:14 +00:00
Thomas Vogt c2e3a8c10e port-probe: detect XMMRPC ports 2024-07-31 17:36:14 +00:00
Michal Mazur 1c4f2320f1 broadband-modem-mbim: workaround for invalid SMS part index on L850
Fibocom L850 modems report an invalid part index (always 1) in the
response message. Because we know which message part was requested,
we can use that value instead to workaround this bug.
2024-07-31 17:30:15 +00:00
mank.wang 8cbd12a603 quectel: support at over mbim in quectel modems 2024-07-31 13:58:16 +00:00
Aleksander Morgado 14192af87e build: unstable release version bump to 1.23.9 2024-07-26 16:35:18 +00:00
lupuliang fc2886a3f9 rolling: Set RW101 AT port to ignore
MM does not need to use two AT ports at the same time.
Sending AT to both ports at the same time may cause the ports to not work.
2024-07-22 15:01:57 +00:00
Puliang Lu 4632af30a7 fibocom: Set FM101 AT port to ignore
MM does not need to use two AT ports at the same time.
Sending AT to both ports at the same time may cause the ports to not work.
2024-07-22 14:58:01 +00:00
Dan Williams 99b18fa863 man: fix line starting with ' and remove an extra .
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/867

Thanks to John Veness
2024-07-17 11:39:53 -05:00
Lubomir Rintel 509acb6474 mmcli: fix a memory leak
Poor modem_uid got left behind.
2024-07-09 14:55:30 +00:00
Lubomir Rintel 664d748a93 ublox/helpers: fix propagation of +URAT response parse error
The fallback error handling branch happens much too late, just leaking the
newly made GError instead of propagating.
2024-07-09 14:55:30 +00:00
Lubomir Rintel 0365f9f0d8 Revert "ublox/helpers: fix propagation of +URAT response parse error"
Not quite correct -- with the patch applied, the newly allocated GError
could potentially overwrite inner_error that was set previously.

This reverts commit d550a24ffdae4492e9f9e18fdf294adcda28fb65.
2024-07-09 14:55:30 +00:00
Lubomir Rintel 26f36f79c9 build: bump libmbim dependency
Fibocom's MBIM support needs this:

  mm-port-mbim-fibocom.c: In function ‘iface_port_at_check_support’:
  mm-port-mbim-fibocom.c:64:66: error: ‘MBIM_SERVICE_FIBOCOM’ undeclared (first use in this function); did you mean ‘MBIM_SERVICE_GOOGLE’?
     64 |         if (!mm_port_mbim_supports_command (MM_PORT_MBIM (self), MBIM_SERVICE_FIBOCOM, MBIM_CID_FIBOCOM_AT_COMMAND)) {
        |                                                                  ^~~~~~~~~~~~~~~~~~~~
        |                                                                  MBIM_SERVICE_GOOGLE
  mm-port-mbim-fibocom.c:64:66: note: each undeclared identifier is reported only once for each function it appears in
  mm-port-mbim-fibocom.c:64:88: error: ‘MBIM_CID_FIBOCOM_AT_COMMAND’ undeclared (first use in this function)
     64 |         if (!mm_port_mbim_supports_command (MM_PORT_MBIM (self), MBIM_SERVICE_FIBOCOM, MBIM_CID_FIBOCOM_AT_COMMAND)) {
        |                                                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~

Fixes: c66a6b89ec ('fibocom: create custom MBIM port object with potential AT support')
2024-07-09 14:49:22 +00:00
Lubomir Rintel ad74320c05 qcdm: fix order of calloc() arguments
GCC 14 is unhappy. Not sure why does this matter, maybe it just does
not. Let's silence the warning at the very least:

  libqcdm/src/result.c: In function ‘val_new_string’:
  libqcdm/src/result.c:76:25: warning: ‘calloc’ sizes specified with
    ‘sizeof’ in the earlier argument and not in the later argument
    [-Wcalloc-transposed-args]
     76 |     v = calloc (sizeof (Val), 1);
        |                         ^~~
2024-07-08 12:37:12 +02:00
Aleksander Morgado 79b0696a74 Revert "fibocom: disable CPOL features in NL668"
This reverts commit f7b351fc85.

The whole AT over MBIM support is disabled in the NL668.
2024-06-21 10:00:36 +00:00
Aleksander Morgado 06ccd09bef fibocom: disable AT over MBIM in NL668
The AT over MBIM support is exposed as a supported service, but the
underlying implementation is not good enough.
2024-06-21 09:57:19 +00:00
Aleksander Morgado f7b351fc85 fibocom: disable CPOL features in NL668
Running +CPOL? in the NL668 using AT over MBIM seems to trigger a
firmware crash. Let's disable the feature altogether in this device
for this reason.
2024-06-19 13:16:43 +00:00
Aleksander Morgado 79ad16e32b build: unstable release version bump to 1.23.8 2024-06-14 09:16:08 +00:00
Ujjwal Pande a95c2d2ad9 broadband-modem-qmi: report network rejections
Changes to expose network rejections for QMI based modems.
2024-06-12 09:39:12 +00:00
Ujjwal Pande 4b615a2343 broadband-modem-mbim: report network rejections
Changes to expose network rejections for MBIM based modems.
2024-06-12 09:39:12 +00:00
Ujjwal Pande 2904510e76 api: new NetworkRejection property
When a modem is not able to register to the network, MBIM and QMI indications
related to registration reports network rejection cause codes if request is
rejected by the network. This information is currently logged in the ModemManager
but not exposed outside of ModemManager.
These are the changes to define interface to expose network reject cause codes
over d-bus to the above layers which could be used by above layers to present
this information in a user friendly way.
2024-06-12 09:39:12 +00:00
Lubomir Rintel df8287bf6c modem-helpers: do not leak past PDP on error
If CID parsing from the +CGDCONT response fails, the very last PDP
structure allocated is not put on the list yet and therefore
mm_3gpp_pdp_context_list_free() wouldn't free it.

Let's put it on the list first, as to not leak it on error.
2024-05-31 10:46:59 +00:00
Lubomir Rintel bd0551460b libmm-glib/signal: fix a copy'n'paste error 2024-05-31 10:46:59 +00:00
Lubomir Rintel 000acf4922 sim/qmi: do not leak access technology name 2024-05-31 10:46:59 +00:00
Lubomir Rintel 90824b3e87 bearer/qmi: fix a copy'n'paste error
Probably not a real issue, given if there's a password there's probably
an user name too.
2024-05-31 10:46:59 +00:00