Dan Williams
bf416a7462
Merge request !1310 from 'disabled-profiles'
...
bearer: don't choose or activate disabled profiles
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1310
2025-05-08 19:54:43 -05:00
Dan Williams
4d2d01b2c6
broadband-bearer,modem-helpers: don't use or match disabled profiles
...
When matching profiles ignore disabled ones. When activating a
specific profile index, return an error if that profile is marked
as disabled.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-08 18:14:24 -05:00
Dan Williams
4b0d3b7147
broadband-modem-qmi: use correct profile index in error message
...
Instead of using the loop index, use the actual profile index
because they aren't always the same.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-08 18:14:24 -05:00
Dan Williams
352b8ed53d
broadband-modem-qmi: implement disabled 3GPP profiles
...
Previously, a disabled profile would cause Profile Manager interface
enabling to fail because get_profile_settings_ready() returned an
error for disabled profiles.
But 3GPP profile objects already have support for the enable/disabled
setting, so just hook that up and stop returning an error for disabled
ones.
This allows successful initialization of the 3GPP Profile Manager
on devices that contain disabled profiles.
While we're at it, allow creating disabled profiles, and changing
profiles back and forth from enabled<->disabled.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-08 18:14:24 -05:00
Dan Williams
27384681a7
Merge request !1311 from 'sleep-wait'
...
Wait until device operations complete before dropping suspend inhibitor
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1311
Closes #966
2025-05-08 15:43:50 -05:00
Dan Williams
b13bdacf38
broadband-modem: close serial ports in dispose
...
We want ports to be closed as early as possible; so make sure they
are closed in dispose() which is run explicitly by MMDevice when
cleaning up and removing the modem. Otherwise they could stay
open longer than we want, causing problems for suspend/resume.
This caused problems with suspend because cancelling the
MMBaseModem's cancellable triggered an idle handler that held
a reference to the modem, preventing finalize() from running
until after the suspend code was finished, thus preventing
ports from being closed and cleaned up. Closing them in
dispose() handles this.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-08 15:41:10 -05:00
Dan Williams
0f97d90490
broadband-modem: remove invalid idle handler during dispose
...
base_modem_invalid_idle() needs to keep a reference to the
MMBaseModem until its done. But if the modem is cancelled during
removal right before we're trying to forget about it, keeping
that reference can prevent everything getting cleaned up by
MMBaseModem's dispose() until after the mainloop has run again
and all our removal operations are supposedly complete.
MMDevice uses an explicit dispose() trigger that mitigates
most of this (and requires it for other reasons, like breaking
reference cycles between the modem and it's various child
classes) but it's somewhat error-prone to keep the modem
around if we don't really need to.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-08 15:40:25 -05:00
Dan Williams
0cb1c1f157
broadband-modem-qmi,mbim: remove redundant port closes
...
This will just be done immediately after by MMBaseModem's
dispose() handler.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-07 22:59:51 -05:00
Dan Williams
564bdab99e
base-manager: convert shutdown to steps
...
Make the call flow clearer.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-07 22:59:51 -05:00
Dan Williams
e0c0c68688
base-manager,device: consolidate modem cancelling into mm_device_remove_modem()
...
Every use of mm_device_remove_modem() was already trying to cancel the
modem's canellable, so let's just put it there and simplify the callers.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-07 22:59:51 -05:00
Dan Williams
f4cbca56d5
base-manager,sleep-monitor: wait for modem operations before sleeping
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-07 22:59:51 -05:00
Dan Williams
6350b0a85f
base-modem: clarify port cleanup/close behavior for serial ports
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-07 22:59:25 -05:00
Dan Williams
6b25476dbb
base-modem: allow port teardown operation to use callbacks if needed
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-07 22:54:13 -05:00
Dan Williams
c6d1a26a93
port-serial: don't log force-closes if not really being forced close
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-07 22:54:13 -05:00
Dan Williams
6f942f5774
Merge request !1324 from 'nbiot-act'
...
modem-helpers: report C*REG=2 AcT 9 as NB-IOT access technology
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1324
2025-05-07 10:59:15 -05:00
Dan Williams
2e27b02004
modem-helpers: report C*REG=2 AcT 9 as NB-IOT access technology
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-07 09:47:47 -05:00
Dan Williams
0ed5ce1ac3
Merge request !1345 from 'reload-reg-after-manual'
...
broadband-modem: reload registration info after manual registration
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1345
Closes #971
2025-05-01 15:37:10 -05:00
Dan Williams
febab17f07
broadband-modem: reload registration info after manual registration
...
This refreshes operator information after manual registration. QMI and
MBIM implementations return operator info along with registration info
so they handle this easily, while with AT-based devices we must run
additional commands to retrieve that after the manual registration has
finished.
Suggested by: Kirill Buksha <kirill.buksha@axians.rs >
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/971
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-05-01 15:15:29 -05:00
Dan Williams
8ef4ce4d61
Merge request !1343 from 'l10n-sv'
...
po: Update Swedish translation
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1343
2025-05-01 15:14:55 -05:00
Anders Jonsson
6fd0ebcaa9
po: Update Swedish translation
...
Signed-off-by: Anders Jonsson <anders.jonsson@norsjovallen.se >
2025-04-25 10:34:53 -05:00
Dan Williams
cd898f4a4d
Merge request !1250 from 'probe-allowed-qcdm'
...
api,modem: new 'IgnoredPorts' property
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1250
2025-04-25 07:39:07 -05:00
Lukas Voegl
39a74ae6fb
fibocom: allow QCDM
...
Signed-off-by: Lukas Voegl <lvoegl@tdt.de >
2025-04-25 09:37:17 +02:00
Lukas Voegl
436081648b
api,modem: new 'IgnoredPorts' property
...
Expose a new list of 'IgnoredPorts' via D-Bus and therefore remove the use of `MM_MODEM_PORT_TYPE_IGNORED`
Signed-off-by: Lukas Voegl <lvoegl@tdt.de >
2025-04-25 09:37:16 +02:00
Dan Williams
39123f964b
Merge request !1342 from 'mtk62xx-detect'
...
broadband-modem: detect old Mediatek 62xx chipsets as GSM-capable
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1342
Closes #980
2025-04-24 15:09:05 -05:00
Dan Williams
8cf25a97a1
broadband-modem: detect old Mediatek 62xx chipsets as GSM-capable
...
They don't necessarily reply to +WS46 but like old Motorola ESX
devices they reply to +CGMM with a known string.
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/980
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-23 10:11:22 -05:00
Dan Williams
02898fed11
Merge request !1335 from 'call-polling'
...
iface-modem-voice: recheck call state polling when call is started
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1335
2025-04-21 16:21:28 +00:00
Dan Williams
92e666e1c9
iface-modem-voice: recheck call state polling when call is started
...
When an outgoing call is created and added to the call list its state
is UNKNOWN. The call list emits the ADDED signal which MMIfaceModemVoice
listens for to check whether to begin polling call state.
But since UNKNOWN is not an in-progress call state polling isn't started.
And nothing was rechecking whether to start polling when the call state
changed to something other than UNKNOWN.
Do that so that we can track call progress as it dials out and is
answered.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-21 16:17:25 +00:00
Dan Williams
19b798fa99
Merge request !1338 from 'cinterion-sxrat-assert'
...
modem-helpers-cinterion: allow spaces in ^SXRAT test response
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1338
Closes #974
2025-04-16 13:43:32 +00:00
Dan Williams
6b6997362b
modem-helpers-cinterion: allow spaces in ^SXRAT test response
...
^SXRAT: (0-6), (0,2,3), (0,2,3)
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/974
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-13 19:58:30 -05:00
Dan Williams
8fc3f44e76
Merge request !1304 from 'qmi-time-interface'
...
broadband-modem-qmi: implement Time interface
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1304
2025-04-14 00:48:19 +00:00
Dan Williams
361e9c58c0
broadband-modem-qmi: implement Time interface
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-13 19:26:30 -05:00
Dan Williams
95496539e9
Merge request !1337 from 'fibocom-handle-no-fw-parent'
...
shared-fibocom: don't assume parent implements the firmware interface
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1337
Closes #975
2025-04-13 13:50:41 +00:00
Dan Williams
046b79a676
shared-fibocom: don't assume parent implements the firmware interface
...
MMBroadbandModemMbimMtkFibocom doesn't, so don't assert it.
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/975
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-13 13:47:57 +00:00
Dan Williams
e3d7439551
Merge request !1325 from 'cbm/qmi'
...
broadband-modem-qmi: Add Cell Broadcast support
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1325
Closes #935
2025-04-13 05:05:44 +00:00
Guido Günther
219e8eb103
broadband-modem-qmi: Enable Cell Broadcast
...
For QMI we have an extra QMI request so use that to make sure receiving
messages is actually enabled.
Closes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1325
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-13 05:01:32 +00:00
Guido Günther
e25dd7db97
broadband-modem-qmi: Add support for loading channels
...
This allows to retrive the list of configured Cell Broadcast channels.
Closes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1325
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-13 05:01:32 +00:00
Guido Günther
1ea564f5e8
broadband-modem-qmi: Add support for setting channels
...
This allows to receive Cell Broadcast messages in the specified channel
range on SDM670 based devices (X12 modem) and SDM845 (X20 modem) without
any AT ports (like the OnePlus 6/6T and Google Pixel 3a).
Helps: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1325
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-13 05:01:32 +00:00
Guido Günther
9c5f5833e5
broadband-modem-qmi: Add initial interface bits
...
This allows to receive Cell Broadcast messages.
Tested with single part CBMs only as my setup currently only allows for
these.
Helps: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1325
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-13 05:01:32 +00:00
Guido Günther
bf8bd7c4ad
ci: Build full libqmi
...
The basic collection is not enough for MM
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-13 05:01:32 +00:00
Guido Günther
3504a438c2
ci: Move variables to common-variables
...
This makes it a bit more obvious where the vars are available.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-13 05:01:32 +00:00
Dan Williams
b9e9a71dc3
Merge request !1334 from 'modem-helpers-act-fix'
...
modem-helpers: fix checking of CDMA/EVDO access technology
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1334
2025-04-13 04:41:51 +00:00
Dan Williams
9e205f4784
modem-helpers: fix checking of CDMA/EVDO access technology
...
Missing ! for strncmp() meant the test was backwards and would
erroneously report 1xRTT and EVDOr0 when those access technologies
were not in use.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-12 23:37:00 -05:00
Dan Williams
66c3631a2f
Merge request !1333 from 'fix-gtk-doc'
...
Fix gtk-doc build
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1333
2025-04-11 23:13:36 +00:00
Jan Alexander Steffens (heftig)
078a92cd5c
docs: Fix gtk-doc build
...
Fix a duplicate `id` and the inclusions of gdbus docs.
Signed-off-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org >
2025-04-11 03:56:59 +02:00
Dan Williams
67a9e58f30
Merge request !1331 from 'bump-1-25-0'
...
build: unstable release version bump to 1.25.0
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1331
2025-04-10 01:57:38 +00:00
Dan Williams
8174be2aec
build: unstable release version bump to 1.25.0
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-09 20:42:06 -05:00
Dan Williams
dfa41adf39
Merge request !1330 from 'release-1-24-0'
...
release: bump version to 1.24.0
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1330
2025-04-10 01:30:25 +00:00
Dan Williams
5fadfdbd1e
release: bump version to 1.24.0
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-09 18:33:14 -05:00
Dan Williams
b64e60dc03
Merge request !1329 from '1-24-qmi-mbim-bump'
...
build: bump libmbim requirement to >= 1.32 and libqmi to >= 1.36
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1329
2025-04-09 14:19:40 +00:00
Dan Williams
b3b986c79e
build: bump libmbim requirement to >= 1.32 and libqmi to >= 1.36
...
ModemManager uses some of the new symbols in libqmi.
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2025-04-09 08:31:24 -05:00