aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-01broadband-modem-mbim: consolidate determination of data classDan Williams
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-01broadband-modem-mbim: consistently handle custom data classesDan Williams
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-03-29Merge request !1321 from 'cbm/channels-mmcli'Dan Williams
CellBroadcast: Add libmm-glib and mmcli support for setting channels https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1321 Closes #934
2025-03-29man: Add cell broadcast optionsGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-29mmcli/cell-broadcast: Allow to set channel listGuido Günther
Allows to set the channel list like: mmcli -m any --cell-broadcast-set-channels=0-9999,4353 Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-29mmcli/cell-broadcast: Add status outputGuido Günther
This allows to get the current channel list: $ mmcli -m any --cell-broadcast-status -------------------------- Cell Broadcast | channels: 0-9999,4353
2025-03-29libmm-glib,cell-broadcast: Add setters for channel listGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-29libmm-glib,cell-broadcast: Support channels propertyGuido Günther
Support reading channels in the API too Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-29libmm-glib,helpers: Add helpers to parse CB channels in and out of stringsGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-29libmm-glib,test: Remove trailing whitespaceGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-29Merge request !1313 from 'fcc-unlock-14c3-sh'Dan Williams
fcc-unlock: Transition the 14c3 FCC unlock script to use sh https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1313
2025-03-29fcc-unlock: Disable execute bit from 14c3Jongmin Kim
Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-29fcc-unlock: Transition the 14c3 FCC unlock script to use shJongmin Kim
This enables the usage with busybox and strict environments. This is related to #483 and the previous commit 91ed72aa, 02baf283. Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-28Merge request !1294 from 'cbm/channels'Dan Williams
cellbroadcast: Allow to set channel list https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1294 Closes #934
2025-03-28modem: Load current channels on startupGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-28modem: Allow to set current channel listGuido Günther
This adds support for setting the channels to override the boot up modem defaults: ``` busctl --system call org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1/Modem/0 org.freedesktop.ModemManager1.Modem.CellBroadcast SetChannels 'a(uu)' 1 0 9999 busctl --system get-property org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1/Modem/0 org.freedesktop.ModemManager1.Modem.CellBroadcast Channels a(uu) 1 0 9999 ``` Closes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/934 Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-28modem-helpers: Add helpers to parse channel listsGuido Günther
`CSCB` has the form ``` CSCB: [0|1],"<channel-list>","<data-coding-scheme>" ``` If the first parameter is `0` this specifies the accepted types if `1` it specifies rejected. So far seen in the wild were CSCB strings with accepted types only and a coding scheme of "" so this is what we handle for the moment. Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-28libmm-glib,helpers: Add helpers for CellBroadcast channel listsGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-27Merge request !1301 from 'mode-detect-4g-5g'Dan Williams
broadband-modem: detect modem modes with +CEREG and +C5GREG https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1301 Closes #786
2025-03-27broadband-modem: detect modem modes with +CEREG and +C5GREGDan Williams
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-27Merge request !1240 from 'port-delay'Dan Williams
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-27telit: use generic early AT port probe logicDan Williams
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-27port-probe: allow per-port ID_MM_TTY_AT_PROBE_TRIES tag for custom number of ↵Dan Williams
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-25Merge request !1318 from 'pin-unlock-swap-fix'Dan Williams
broadband-modem,iface-modem: don't treat SIM unlocks as hot-swaps https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1318
2025-03-23broadband-modem,iface-modem: don't treat SIM unlocks as hot-swapsDan Williams
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-13Merge request !1317 from 'clarify-licensing'Dan Williams
api: fix license headers in MM API https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1317
2025-03-13api: fix license headers in MM APIAleksander Morgado
The libmm-glib library, as well as the ModemManager headers installed as part of the D-Bus service API, have always been LGPLv2+ licensed, because we want users of the service to rely on them in their own programs, even if they are proprietary. Some files had an incorrect GPLv2+ header instead of the LGPLv2+ and that was confusing. All public headers in the MM API have the correct license text now. Signed-off-by: Aleksander Morgado <aleksandermj@chromium.org>
2025-03-12Merge request !1316 from 'typos'Dan Williams
treewide: Fix typos https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1316
2025-03-11treewide: Fix typosGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-11Merge request !1315 from 'release-1-23-95'Dan Williams
release: bump version to 1.23.95 https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1315
2025-03-10release: bump version to 1.23.95Dan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-10NEWS: update for 1.24Dan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-09Merge request !1305 from 'port-open-at-probes'Dan Williams
port-probe: ensure port is open for all plugin AT probes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1305
2025-03-09port-probe: ensure port is open for all plugin AT probesDan Williams
If multiple plugins are selected for probing a modem with AT probes, earlier plugins may only request some probes but not all. When those probes complete successfully, subsequent plugins won't re-do the probes that were already completed, but jump to ones that haven't yet been done. For example, plugin A may request only AT probes but plugin B may request AT, AT_PRODUCT, and AT_VENDOR. Plugin B will start with AT_PRODUCT probes because plugin A already completed the AT probe. The code in probe_step() only opened the serial port for the AT probe, I guess assuming that all AT-type probes would be done in sequence. But in the above scenario they are not. Instead, make sure the port is opened for all AT style probes that have not yet been executed. Fixes: 7937a89a37e941e9a77cddcce8226c316fe70821 port-probe: rework and consolidate port probe flow for AT/QCDM/QMI/MBIM Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-09Merge request !1312 from 'fcc-unlock-grep-qi'Dan Williams
fcc-unlock: Case-insensitive grep for for 105b (MBIM) and 14c3 (AT) https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1312
2025-03-09fcc-unlock: Case-insensitive grep for identifying MBIM or AT portJongmin Kim
Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-09fcc-unlock: Reduce the port assignment casesJongmin Kim
Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-08Merge request !1308 from 'fcc-unlock-quectel'Dan Williams
fcc-unlock: combine Quectel FCC unlock scripts and add support for RM520N https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1308
2025-03-08fcc-unlock: Case-insensitive grep for identifying MBIM portJongmin Kim
Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-08fcc-unlock: add FCC unlock specs for Quectel RM520NJongmin Kim
Add symlinks for new supported Quectel RM520N: - RM520N (standard) 2c7c:0801 - RM520N (HP shipped) 1eac:1004 - RM520N (Lenovo shipped) 1eac:1007 Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-08fcc-unlock: combine Quectel FCC unlock scripts for 1eac and 2c7cJongmin Kim
Both scripts control MBIM ports and can be merged into a single script. Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-06Merge request !1307 from 'scan-cli-timeouts'Dan Williams
broadband-modem,cli: slightly bump 3GPP scan timeout; add some cli dbus timeout slack https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1307
2025-03-06broadband-modem,cli: slightly bump 3GPP scan timeout; add some cli dbus ↵Dan Williams
timeout slack Add some mmcli D-Bus timeout slack, making them slightly higher than the ModemManager internal timeout, to ensure the cli doesn't time out the D-Bus call when MM succeeds. For 3GPP scan, some modems appear to have internal 5 minute timeouts, so ensure MM doesn't time out right before the modem returns results: ModemManager[282578]: <dbg> [1741054422.321400] [ttyUSB2/at] --> 'AT+COPS=?<CR>' ModemManager[282578]: <wrn> [1741054722.247806] [modem1] failed scanning networks: Serial command timed out ModemManager[282578]: <dbg> [1741054724.119770] [ttyUSB2/at] <-- '<CR><LF>+COPS: (1,"T-Mobile","T-Mobile","310260",0),,(0,1,2,3,4),(0,1,2)<CR><LF><CR><LF>OK<CR><LF>' Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-05Merge request !1309 from 'codespell'Dan Williams
Fix some typos on the source code https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1309
2025-03-05treewide: Fix some spelling errorsGuido Günther
All in debug messages or code comments so not user / client visible. Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-05mbim: Fix typo in error messageGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-05Merge request !1279 from 'my-branch'Dan Williams
cli: Added bearer path print after successful modem connect https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1279
2025-03-05cli: Added bearer path print after successful modem connectAnagh G
For a ModemManager simple connect using mmcli, added the bearer path on which call is connected. This helps in determining the bearer path to directly retrieve bearer information easily of this particular call. Signed-off-by: Anagh G <quic_anaghg@quicinc.com>
2025-03-03Merge request !1306 from 'dco4'Dan Williams
ci: ensure DCO check exits with correct error code on failure https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1306
2025-03-03ci: ensure DCO check exits with correct error code on failureDan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>