Commit Graph
100 Commits
Author SHA1 Message Date
Dan Williams 7f014add61 broadband-modem,modem-helpers: generalize call end regex creation
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-22 08:05:58 -05:00
Dan Williams 41ceaf6d5e Merge request !1359 from 'cpms-spaces'
modem-helpers: handle spaces in +CPMS query response

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1359

Closes #990
2025-05-22 08:05:28 -05:00
Dan Williams 5888949fa3 modem-helpers: handle spaces in +CPMS query response
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/990

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-20 09:56:49 -05:00
Dan Williams 847ce9ada5 Merge request !1358 from 'qmi-cbm-fixes'
broadband-modem-qmi: Cellbroadcast channel reading fixes

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1358
2025-05-20 09:18:30 -05:00
Dan Williams ba8633e48a Merge request !1354 from 'dp/le910q-ecm-upstream'
Add ECM support for Telit LE910Q1

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1354
2025-05-19 09:05:00 -05:00
Dan Williams ec218e7052 Merge request !1346 from 'disconnect-request'
bearer: add new "disconnect-request" logic

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1346
2025-05-16 09:52:04 -05:00
Dan Williams a4421095f8 Merge request !1353 from 'fix-creg-regex'
modem-helpers: support multi-digit "stat" values in CREG response

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1353

Closes #987
2025-05-14 15:43:04 -05:00
Dan Williams bee6bce2fa Merge request !1352 from 'base-sim-auth-fix'
base-sim: Setup auth provider and its cancellable

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1352
2025-05-11 16:21:30 -05:00
Dan Williams c99c300ad5 Merge request !1235 from 'intel-rpc-xmm7360'
intel: implement support for RPC-powered xmm7360

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1235
2025-05-09 21:34:26 -05:00
Dan Williams d165d61a95 Merge request !1266 from 'v6-cgcontrdp'
modem-helpers: add IPv6 support to +CGCONTRDP parsing

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1266
2025-05-08 20:45:37 -05:00
Dan Williams d4c0bbc839 modem-helpers: add IPv6 support to +CGCONTRDP parsing
Add some test responses from the Quectel EG915Q and some other Quectel devices.
Then try to parse those responses.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:37:09 -05:00
Dan Williams 4bb6026e37 Merge request !1341 from 'mbim-multipart-fix'
sms: always use SMS_PART_INVALID_INDEX unstored parts

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1341

Closes #979
2025-05-08 20:36:44 -05:00
Dan Williams 1d5cc0addb broadband-modem-qmi,broadband-modem-mbim: always use SMS_PART_INVALID_INDEX unstored parts
MMSmsList has logic to allow multiple unstored messages as long as
they use SMS_PART_INVALID_INDEX. These messages aren't stored so
they don't have an index.

But the MBIM and QMI modems used index 0 for unstored messages,
meaning there could only ever be one and also that multipart
messages would fail to be combined.

Let's fix that by just using SMS_PART_INVALID_INDEX for every
scenario where an unstored message comes in.

Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/979

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:25:22 -05:00
Dan Williams 51ff44f1f5 sms-list: remove usage of MMBaseModem
Not used for anything anymore so we can remove the property.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:38 -05:00
Dan Williams 03027b5ec2 base-sms: remove MODEM property
No longer depend on MMBaseModem since everything that specifically
uses it is now removed.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:38 -05:00
Dan Williams 97c189910b base-sms,sms-list: use signals to set multipart reference
Instead of going through the messaging interface, which just asks
the MMSmsList anyway, just go straight to the list.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:38 -05:00
Dan Williams c6af442053 base-sms: reduce possibility of leaking multipart reference
Move error paths after getting a multipart reference to before getting
one, to reduce the possiblity that we get a reference from the MMSmsList
that ultimately doesn't end up getting used.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:38 -05:00
Dan Williams 1781ffaad4 base-sms: pass supported storages in at creation time
They won't change, and this lets us get rid of one more usage of
MMIfaceModemMessaging.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:37 -05:00
Dan Williams 9c8ec57c24 base-sms: pass SMS default storage at creation time and update as needed
Instead of getting it from the MMIfaceModemMessaging when the
SMS is stored. This flattens dependencies between MMBaseSms and
MMIfaceModemMessaging.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:37 -05:00
Dan Williams b81f23e24a base-sms,sms-list,iface-messaging: move MMBaseSms creation to MMBroadbandModem class
This commit moves creation of the MMBaseSms objects out of MMSmsList and up
into MMIfaceModemMessaging (which is already a MMBroadbandModem) and
the MMBroadbandModem subclasses themselves.

This flattens the creation of MMBaseSms objects by passing them down
from the object that creates the SMS parts, rather than having a
convoluted callback scheme relying on MMSmsList and MMBaseSms having
direct knowledge of their owning modem.

The goal is to eventually remove usage of MMBaseModem from MMBaseSms
and MMSmsList so that we can test them more easily.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:37 -05:00
Dan Williams 9830e3955a base-sms,sms-at: split AT-specific SMS code into MMSmsAt
Simplify MMBaseSms (making it easier to use from testcases) by
splitting the AT-specific code into MMSmsAt rather than keeping
it in the base class.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:37 -05:00
Dan Williams 6d0e4daf87 base-bearer: remove unused include
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:37 -05:00
Dan Williams 1283ee8c2a base-sms,iface-modem-messaging: move lock/unlock logic into the interface
Allows us to test things that rely on MMBaseSms more easily..

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:37 -05:00
Dan Williams 683a33b303 base-sms: determine 3GPP vs. CDMA at creation time
It won't ever change over the lifetime of the BaseSMS.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:37 -05:00
Dan Williams 08a65a0bed sms-mbim: remove unused code
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:24:37 -05:00
Dan Williams efcc960b13 Merge request !1344 from 'cbm-remove-modem'
Begin removing usage of MMBaseModem from leaf classes

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1344
2025-05-08 20:10:48 -05:00
Dan Williams 1fa21fcc48 base-cbm,cbm-list,iface-cbm: remove usage of MMBaseModem
CBM isn't as complicated as SMS, and the CBM class itself doesn't
need to be overridden by QMI/MBIM/etc. Now that the log parent
and connection binding no longer require MMBaseModem we can flatten
the CBM object creation and remove usage of MMBaseModem.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:08:06 -05:00
Dan Williams ec5104c9a8 Move log parent and connection property binding to helper
Continues removing usage of MMBaseModem in a bunch of files
by splitting out bits of its usage to separate interfaces.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:08:06 -05:00
Dan Williams ef5cee3ab5 auth-provider: move auth provider logic into each class
Rather than make all of them rely on MMBaseModem for it. This
lets us disentangle dependencies for easier unit testing.

For interfaces, rather than casting directly to MMBaseModem
use intermediate interfaces (MMIfaceAuth and MMIfaceOpLock)
that tests can fake out.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:08:06 -05:00
Dan Williams 7262b46a82 base-modem,auth-provider: move testcase auth bypass to auth provider
The bypass when in testcase mode has nothing to do with the base modem
class; so make it generic.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 20:08:06 -05:00
Dan Williams 02942a04f9 Merge request !1314 from 'quectel-power-down'
quectel: wait for POWERED DOWN URC and decrease other power operation timeouts

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1314
2025-05-08 20:06:24 -05:00
Dan Williams 0bfb11c62c quectel: decrease low-power/power-on/reset wait times to 15 seconds
AT docs for many (most?) device state a max timeout of 15 seconds.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 19:54:54 -05:00
Dan Williams e05af7442c quectel: ensure power down operation waits for POWERED DOWN URC
AT docs for many (most?) Quectel devices state that QPOWD=1 receives
the OK response very quickly but the caller must wait for the
POWERED DOWN URC to avoid data loss. Do that.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08 19:54:54 -05:00
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
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
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
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
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
Dan Williams c575f5d518 Merge request !1322 from 'qmi-no-supported-modes'
modem-helpers-qmi: better handle no supported modes

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1322
2025-04-09 13:26:59 +00:00
Dan Williams f5ae14d0b2 modem-helpers-qmi: better handle no supported modes
Dell Snapdragon X62 before FCC Unlock reports no radio interfaces
from QMI and no device capabilities from MBIM. Instead of asserting
in mm_filter_supported_modes() when called from
mm_supported_modes_from_qmi_supported_modes_context() gracefully
handle the lack of supported modes.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-04-09 13:19:50 +00:00
Dan Williams 467a53f189 Merge request !1326 from 'fix-dco-again'
ci: fix DCO check yet again

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1326
2025-04-09 01:58:17 +00:00
Dan Williams be3c28f1a4 ci: fix DCO check yet again
The script was combining all commit messages into one due to the quoting
of "${COMMIT}", rather than leaving unquoted and picking each individual
commit from the space separated string.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-04-08 20:52:56 -05:00
Dan Williams bd9b98e2f1 Merge request !1327 from 'nas-service-domain-deprecated'
modem-helpers-qmi: fix deprecated usage of QMI_NAS_NETWORK_SERVICE_DOMAIN_UNKNOWN

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1327
2025-04-09 01:51:39 +00:00
Dan Williams 2246e9c0a0 modem-helpers-qmi: fix deprecated usage of QMI_NAS_NETWORK_SERVICE_DOMAIN_UNKNOWN
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-04-08 20:48:18 -05:00
Dan Williams 3a2a7897d1 Merge request !1323 from 'mbim-data-class-unknown'
broadband-modem-mbim: consistently handle custom data classes

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1323
2025-04-03 20:58:04 +00:00
Dan Williams 1eb177dd0e cli: report 5GNR RSSI in extended signal info
MBIM modems report RSSI and sometimes don't report more detailed RSRP
and SNR info their MBIMex v2 signal-state replies. RSSI gets reported
for every other access technology, and while it's not as good a signal
indicator as the others, we might as well show something.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-04-03 15:33:45 -05:00
Dan Williams ceb1cd9a99 tests: add tests for mm_signal_from_mbim_signal_state()
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-04-03 15:33:45 -05:00
Dan Williams a420972e9b broadband-modem-mbim: consolidate determination of data class
Do it in a function instead of the same thing in a bunch of places.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-04-01 10:25:43 -05:00
Dan Williams 19c817cfe9 broadband-modem-mbim: consistently handle custom data classes
Consistently interpret the modem's reported custom data class when
loading current mode, supported mode, supported capabilities,
setting current mode, and current access technology.

Normalize the data class to include any custom data class immediately
after reading it from any MBIM message. De-normalize it when sending
back to the modem when setting current modes so the modem receives
MBIM_DATA_CLASS_CUSTOM for the custom mode.

Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/937

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-04-01 10:25:43 -05:00
Dan Williams 45313ebef8 Merge request !1321 from 'cbm/channels-mmcli'
CellBroadcast: Add libmm-glib and mmcli support for setting channels

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1321

Closes #934
2025-03-29 22:22:13 +00:00
Dan Williams ab8c9b3418 Merge request !1313 from 'fcc-unlock-14c3-sh'
fcc-unlock: Transition the 14c3 FCC unlock script to use sh

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1313
2025-03-29 22:18:46 +00:00
Dan Williams f9e63c7940 Merge request !1294 from 'cbm/channels'
cellbroadcast: Allow to set channel list

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1294

Closes #934
2025-03-28 20:59:20 +00:00
Dan Williams 61656dcb3d Merge request !1301 from 'mode-detect-4g-5g'
broadband-modem: detect modem modes with +CEREG and +C5GREG

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1301

Closes #786
2025-03-27 23:54:34 +00:00
Dan Williams bad4765581 broadband-modem: detect modem modes with +CEREG and +C5GREG
Some AT-based modems like the Quectel Unisoc-based RM500U don't
support the older AT commands we used to detect modes like
AT*CNTI=2 and AT+WS46. Add support for detecting 4G and 5G
with generic commands too.

Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/786

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-27 23:51:17 +00:00
Dan Williams 8d2a91c920 Merge request !1240 from 'port-delay'
port-probe: allow per-port ID_MM_TTY_AT_PROBE_TRIES tag for custom number of AT probes

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1240
2025-03-27 23:44:23 +00:00
Dan Williams cc93b11db7 telit: use generic early AT port probe logic
Use the new early port probe logic to do AT probes before the custom
init hook actually starts.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-27 18:40:38 -05:00
Dan Williams 7d75a897a8 port-probe: allow per-port ID_MM_TTY_AT_PROBE_TRIES tag for custom number of AT probes
For modems that need more time to respond to AT port probes (like some Telit devices,
and Cinterion-based Telit MV31/MV32) allow a custom number of AT probe tries on a
per-port basis for generic probing, or plugins that opt into this functionality.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-27 18:40:38 -05:00
Dan Williams b04ca79392 Merge request !1318 from 'pin-unlock-swap-fix'
broadband-modem,iface-modem: don't treat SIM unlocks as hot-swaps

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1318
2025-03-25 13:31:58 +00:00
Dan Williams 57d1f21b36 broadband-modem,iface-modem: don't treat SIM unlocks as hot-swaps
If the old IMSI was unavailable because the SIM was locked, but now
is available because the SIM was unlocked, don't treat the SIM
properties change as a hotswap that may trigger dropping and re-probing
the modem.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-23 09:04:42 -05:00
Dan Williams 3b4bb45442 Merge request !1317 from 'clarify-licensing'
api: fix license headers in MM API

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1317
2025-03-13 20:53:18 +00:00
Dan Williams e95336d106 Merge request !1316 from 'typos'
treewide: Fix typos

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1316
2025-03-12 00:52:49 +00:00
Dan Williams a19fd85884 Merge request !1315 from 'release-1-23-95'
release: bump version to 1.23.95

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1315
2025-03-11 03:46:10 +00:00
Dan Williams c6dcab6161 release: bump version to 1.23.95
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-10 22:42:42 -05:00
Dan Williams 4c1be4923a NEWS: update for 1.24
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-10 22:42:42 -05:00
Dan Williams 53383757c8 Merge request !1305 from 'port-open-at-probes'
port-probe: ensure port is open for all plugin AT probes

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1305
2025-03-09 14:47:19 +00:00