aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-02-21Merge request !1287 from 'sushrut-branch'Dan Williams
kernel-device, generic: add subsystem device ID support https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1287
2025-02-21base-modem: add subsystem device ID propertySushrut Shree Trivedi
Subsystem device ID can be used for identifying PCI modems, so expose the property. Signed-off-by: Sushrut Shree Trivedi <quic_sushruts@quicinc.com>
2025-02-21kernel-device, generic: add subsystem device ID supportSushrut Shree Trivedi
Add subsystem device ID support, that can be used in pci devices instead of vendor/device ID customization. Signed-off-by: Sushrut Shree Trivedi <quic_sushruts@quicinc.com>
2025-02-19Merge request !1288 from 'add_dtmf_quectel'Dan Williams
src: plugins: quectel: add DTMF dbus notification support https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1288
2025-02-19src: plugins: quectel: add DTMF dbus notification supportKévin L'hôpital
The quectel modems that are not using QMI could receive DTMF events but no dbus notification was sent to the user space. This patch adds the DTMF notification support to the quectel plugin. Signed-off-by: Kévin L'hôpital <kevin.lhopital@savoirfairelinux.com>
2025-02-19Merge request !1268 from 'netlink-getlink'Dan Williams
netlink: add RTM_GETLINK support to read MAC address https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1268
2025-02-18netlink: add RTM_GETLINK support to read MAC addressDan Williams
Since we're also now reading responses we need to check sender credentials to make sure we're talking to the kernel, and not some other process spoofing netlink. Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-02-18Merge request !1284 from 'example-sms-watch-python'Dan Williams
examples: add sms-watch-python https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1284
2025-02-17examples: add sms-watch-pythonDan Williams
Add an example that watches for and prints all SMS messages of all modems. Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-02-17Merge request !1289 from 'piotrdrag/pl-update-250209'Aleksander Morgado
po: update Polish translation 250209 https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1289
2025-02-09po: update Polish translationPiotr Drąg
2025-02-06Merge request !1286 from 'aleksander/fix-assert'Dan Williams
broadband-modem: exit with error if enable() while in unknown state https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1286
2025-02-03broadband-modem: prefer explicit return to breakAleksander Morgado
Just to make it explicit that there is no more logic running afterwards.
2025-02-03broadband-modem: exit with error if enable() while in unknown stateAleksander Morgado
We should not assert if the modem is flagged as invalid but an outstanding enabling request is processed. Let's exit gracefully and let the object get properly disposed afterwards. (libc.so.6 - pthread_kill.c: 44) __pthread_kill_implementation (libc.so.6 - raise.c: 26) raise (libc.so.6 - abort.c: 79) abort (libglib-2.0.so.0 - gtestutils.c: 3450) g_assertion_message (libglib-2.0.so.0 - gtestutils.c: 3476) g_assertion_message_expr (ModemManager - mm-broadband-modem.c) enable (ModemManager - mm-iface-modem.c: 2340) handle_enable_auth_ready (libgio-2.0.so.0 - gtask.c: 1309) g_task_return_now (libgio-2.0.so.0 - gtask.c: 1378) g_task_return (ModemManager - mm-base-modem.c: 2011) lock_after_authorize_ready (libgio-2.0.so.0 - gtask.c: 1309) g_task_return_now (libgio-2.0.so.0 - gtask.c: 1378) g_task_return (ModemManager - mm-base-modem.c: 1841) base_modem_operation_run (ModemManager - mm-base-modem.c: 764) state_operation_ready (libgio-2.0.so.0 - gtask.c: 1309) g_task_return_now (libgio-2.0.so.0 - gtask.c: 1323) complete_in_idle_cb (libglib-2.0.so.0 - gmain.c: 3460) g_main_dispatch (libglib-2.0.so.0 - gmain.c: 4200) g_main_context_dispatch (libglib-2.0.so.0 - gmain.c: 4276) g_main_context_iterate (libglib-2.0.so.0 - gmain.c: 4479) g_main_loop_run (ModemManager - main.c: 236) main (libc.so.6 - libc_start_call_main.h: 58) __libc_start_call_main (libc.so.6 - libc-start.c: 360) __libc_start_main_impl (ModemManager + 0x000b8850) _start
2025-01-31Merge request !1285 from 'dp/fix-err-init'Dan Williams
shared-telit: fix missing error initialization in load_revision_ready https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1285 Closes #953
2025-01-31shared-telit: fix missing error initialization in load_revision_readyDaniele Palmas
Closes #953
2025-01-23Merge request !1260 from 'main'Dan Williams
broadband-modem-qmi: retry when "Get Serving System" fails https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1260 Closes #667
2025-01-23broadband-modem-qmi: separate "system info" and "serving system" indications ↵Valentin Blot
registration Some modems succeed on enabling "system info" and disabling "serving system" in one transaction, even though they don't support "system info". This commit separates the two: first, try to enable "system info", and if it succeeds then disable "serving system".
2025-01-23Merge request !1282 from 'fix-its-location'Dan Williams
Specify a path to the ITS rules https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1282
2025-01-23Specify a path to the ITS rulesYegor Yefremov
Use our own ITS rules found under data/its. This resolves a configuration breakage on some systems: msgfmt: cannot locate ITS rules for data/org.freedesktop.ModemManager1.policy.in According to the msgfmt manual, we need to specify a path to the parent directory containing its folder. Hence, we add a path to data as the data_dirs option.
2025-01-23Merge request !1274 from 'resume-inhibitor-crash'Dan Williams
suspend: support logind not sending PrepareForSleep(true) https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1274 Closes #949
2025-01-22suspend: support logind not sending PrepareForSleep(true)Arnav Singh
elogind sends PrepareForSleep(false) when resuming but doesn't necessarily send PrepareForSleep(true) when sleeping. This means we didn't necessarily drop our previous inhibitor when it's time to take a new one. So instead of asserting that we dropped our previous inhibitor, just reuse it.
2025-01-22Merge request !1283 from 'mm-sim-validate-fix-gsize-format'Dan Williams
modem-helpers: fix gsize format https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1283 See merge request mobile-broadband/ModemManager!1283
2025-01-17modem-helpers: fix gsize formatLukas Voegl
2025-01-14po: Update Brazilian Portuguese translationRafael Fontenelle
2025-01-11cli: set higher 3GPP Scan(), Register(), and Connect() method timeoutsDan Williams
Similar to voice call mmcli timeouts, set larger proxy-wide timeouts for long-running operations. Match these timeouts with the internal ModemManager timeouts for the AT/MBIM/QMI operation timeouts. Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/941 Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/942 Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-12-27port-probe: add some QCDM/DIAG response bytes to non-AT responsesDan Williams
Seen on a Qualcomm-based Quectel EG915Q on the diag port: ModemManager[34547]: <dbg> [1732077670.330527] [ttyUSB0/at] <-- ' \0\0\0\8\0\0\0\2\0\0\0\0`%\160$"\6\169\128\200\1\30\197\142\0G\184\225\128\0\1+\127\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254\255\255\255\255\255\255\255\254' Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-12-27port-probe: explicit close port stepsAleksander Morgado
If by any chance the same ports needs to go through AT and QMI/MBIM probing, make sure the serial port created during AT probing is closed before starting the QMI/MBIM probing.
2024-12-27port-probe: only run custom init on ports that will go through AT probingAleksander Morgado
2024-12-27port-probe: rename serial_probe->probeAleksander Morgado
2024-12-23port-serial: clean up whitespace formattingDan Williams
Remove stray tabs. Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-12-22libmm-glib,unlock-retries: remove invalid 'closure' annotationAleksander Morgado
../libmm-glib/mm-unlock-retries.c:135: Warning: ModemManager: invalid "closure" annotation: only valid on callback parameters
2024-12-19device,plugin: reset MMDevice's hotplugged after creating the modemMichal Mazur
The hotplugged flag was added to simplify modem probe on first time it is created. Before the re-probe it must be set to FALSE to destroy all existing netlink interfaces and force full reconfiguration.
2024-12-09Netprisma:Add support for more USB devicesMank Wang
2024-12-01docs: Add Cbm And CellBroadcastGuido Günther
2024-12-01cli: Add support for listing and deleting Cell Broadcast messagesGuido Günther
This adds ``` $ mmcli -m 0 --cell-broadcast-list-cbm /org/freedesktop/ModemManager1/CBM/0 (received) /org/freedesktop/ModemManager1/CBM/0 (received) $ mmcli -m 0 --cell-broadcast-delete-cbm=0 successfully deleted CBM from modem $ mmcli -m 0 --cbm 0 -------------------------- General | path: /org/freedesktop/ModemManager1/CBM/1 -------------------------- Content | text: This is a test of the Ontario Alert Ready System. There is no danger to your health or safety -------------------------- Properties | update: 0 | message code: 0 ``` Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01tests: Add cbm monitorGuido Günther
Listen for new CBMs and dump their content on the console. Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01api: Add Cell Broadcast supportGuido Günther
Add access to the modem's CellBroadcast interface and to fetch Cell Broadcast messages. Closes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/253 Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01broadband-modem: Add Cell Broadcast implementationGuido Günther
The CBMs are read via unsolicted events for which we register an event handler. We don't enable unsolicted events explicitly as this already happens via the `+CNMI=*,*,2,*,*` whens setting up unsolicted events in `modem_messaging_enable_unsolicited_events` (ETSI TS 127 005).
2024-12-01cbm: Add CellBroadcast interfaceGuido Günther
This adds support for the Cell Broadcast interface allowing to receive, list, read and delete Cell Broadcast messages via the org.freedesktop.ModemManager1.Modem.CellBroadcast and org.freedesktop.ModemManager1.Cbm interfaces. Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01part: fix indentGuido Günther
2024-12-01cbm: Add parsing bits for cell broadcast messagesGuido Günther
This allows to parse the CBMs parameters like channel, part number and message text. We parse uncompressed GSM7 and UCS2 encodings as described in 3GPP TS 23.038. Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01modem-helpers: Add regex to parse CBM out of the serial streamGuido Günther
This will allow us to fetch cell broadcast messages. Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01data: Add a policy rule to access the cellbroadcast APIGuido Günther
Allow access to cell broadcast functionality. Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01sms: Make sms_decode_text publicGuido Günther
This can be used for cell broadcast messages as well Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01cli: Fix indentGuido Günther
We indent with one space after } Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01cli: Fix copy/paste error in commentGuido Günther
We check call caps not messaging caps Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-11-20fcc-unlock: add fcc-unlock specs for new quectel variantsLorenzo Zolfanelli
Add symlinks in `fcc-unlock.available.d` for new supported Quectel variants: - EM05-G: 2c7c:0313, 2c7c,0314 Fixes #858
2024-11-20broadband-modem-cinterion: implement load_current_modesLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-11-20broadband-modem-cinterion: never discard operator or modeLukas Voegl
When setting an operator, AT+COPS overwrites the currently set allowed mode. Equally, the other way around, when setting the current mode, the configured operator is overwritten. Signed-off-by: Lukas Voegl <lvoegl@tdt.de>