aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
AgeCommit message (Collapse)Author
2025-05-22serial-parsers,port-serial-at: move echo removal into serial parserDan Williams
Mainly because we need somewhere to stash the call end regex, and it's silly to have a 3rd instance of that in MMPortSerialAt when we already have one in the serial parsers that MMPortSerialAt relies on pretty heavily. Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-19telit: add ECM bearer for LE910Q1/ELS63-IDaniele Palmas
Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
2025-05-19broadband-modem-telit: use +COPS to get AcT for LE910Q1/ELS63-IDaniele Palmas
Use +COPS to retrieve AcT for LE910Q1/ELS63-I since they do not support #PSNT and +SERVICE. Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
2025-05-19telit: add port hints for LE910Q1/ELS63-IDaniele Palmas
Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
2025-05-09intel: implement support for RPC-powered xmm7360Thomas Vogt
Signed-off-by: Thomas Vogt <acc-github@tovotu.de>
2025-05-08Move log parent and connection property binding to helperDan Williams
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-08quectel: decrease low-power/power-on/reset wait times to 15 secondsDan Williams
AT docs for many (most?) device state a max timeout of 15 seconds. Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-05-08quectel: ensure power down operation waits for POWERED DOWN URCDan Williams
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-04-25fibocom: allow QCDMLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2025-04-25api,modem: new 'IgnoredPorts' propertyLukas Voegl
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-13modem-helpers-cinterion: allow spaces in ^SXRAT test responseDan Williams
^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-13shared-fibocom: don't assume parent implements the firmware interfaceDan Williams
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-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-11treewide: Fix typosGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-02-24Fixed code formattingMichał Sułek
2025-02-24Setup variable declared after function call, fixed.Michał Sułek
2025-02-24Was not compiling due to setup being undefined in call_audio_channel_setMichał Sułek
2025-02-24Dan Williams changed g_usleep to g_timeout_addMichał Sułek
2025-02-24Fixed the bug regarding SIM7600 modem family that made USB audio to not turn on.Michał Sułek
Added the support for 16kHz sample rate for simtech modems and set it as default if available.
2025-02-21fibocom: add Sahara/Firehose support for NL668-EAUAleksander Morgado
Signed-off-by: default avatarLukas Voegl <lvoegl@tdt.de>
2025-02-21broadband-modem: generic Firehose and Sahara supportLukas Voegl
Allows setting the renamed `ID_MM_QUALCOMM_FIREHOSE` and `ID_MM_QUALCOMM_SAHARA` environment variables for all devices. Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
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-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-01-31shared-telit: fix missing error initialization in load_revision_readyDaniele Palmas
Closes #953
2024-12-09Netprisma:Add support for more USB devicesMank Wang
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>
2024-11-20plugin,mtk: workaround for invalid rssi threshold on FM350.Bolan Wang
FM350 modems report an invalid rssi threshold (always 0) in the signal-state response message. It results in signal quality not being updated. We can use this patch to workaround this bug.
2024-11-09broadband-modem-telit: fix endless loop when enabling events in secondary portDaniele Palmas
2024-11-08fibocom: add NL668-EAU to rules fileFlorian Eckert
The NL668-EAU is a 4G, 3G, 2G CAT4 modem from fibocom. https://www.fibocom.com/en/products/LTECat-NL668-EAU.html Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2024-11-08fibocom: add additional USB_VID for NL668-EAUFlorian Eckert
The NL668-EAU 4G, 3G, 2G CAT4 is a modem from fibocom and is using a diffrent USB_VID for this modem. By adding the new USB_VID, the 'fibocom' plugin is now responsible and not the 'generic' plugin. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2024-10-29quectel: fix crash when parsing +CTZU=? responseAleksander Morgado
The logic should consider that mm_parse_uint_list() may return NULL without setting the output GError, in the case where an empty string is given. This should ideally be changed in the mm_parse_uint_list() itself, but that approach is not trivial as the method is being used in multiple different places. This change exclusively tries to solve this crash. 0x000057435d315eca (ModemManager - mm-shared-quectel.c: 1060) ctzu_test_ready 0x00007eea3d019e86 (libgio-2.0.so.0 - gtask.c: 1309) g_task_return_now 0x00007eea3d018e50 (libgio-2.0.so.0 - gtask.c: 1378) g_task_return 0x000057435d268eab (ModemManager - mm-base-modem-at.c: 544) at_command_ready 0x00007eea3d019e86 (libgio-2.0.so.0 - gtask.c: 1309) g_task_return_now 0x00007eea3d018e50 (libgio-2.0.so.0 - gtask.c: 1378) g_task_return 0x000057435d318a18 (ModemManager - mm-port-serial-at.c: 350) serial_command_ready 0x00007eea3d019e86 (libgio-2.0.so.0 - gtask.c: 1309) g_task_return_now 0x00007eea3d018e50 (libgio-2.0.so.0 - gtask.c: 1378) g_task_return 0x000057435d31c7bd (ModemManager - mm-port-serial.c: 734) port_serial_got_response 0x000057435d31cc3e (ModemManager - mm-port-serial.c: 911) parse_response_buffer 0x000057435d31cc3e (ModemManager - mm-port-serial.c: 1028) common_input_available 0x00007eea3d16591b (libglib-2.0.so.0 - gmain.c: 3460) g_main_dispatch 0x00007eea3d16591b (libglib-2.0.so.0 - gmain.c: 4200) g_main_context_dispatch 0x00007eea3d165c37 (libglib-2.0.so.0 - gmain.c: 4276) g_main_context_iterate 0x00007eea3d165eb5 (libglib-2.0.so.0 - gmain.c: 4479) g_main_loop_run 0x000057435d25f5bf (ModemManager - main.c: 236) main 0x00007eea3c980705 (libc.so.6 - libc_start_call_main.h: 58) __libc_start_call_main 0x00007eea3c9807c1 (libc.so.6 - libc-start.c: 360) __libc_start_main_impl 0x000057435d25ef10 (ModemManager + 0x000b3f10) _start 0x00007ffcc0b5d517
2024-10-24simtech: disable QMI PCO for SIM7100E preventing delayed modem crashStig M. Baugstø
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/884 Signed-off-by: Stig M. Baugstø <1129097-stigma@users.noreply.gitlab.freedesktop.org>
2024-10-24cellient: new generic plugin for Cellient modems with optional QMIStig M. Baugstø
Simple plugin handling Cellient (vid 0x2692) modems. Optional QMI through the WITH_QMI compile flag. Disables QMI WDS PCO for the Qualcomm-branded MPL200 by setting the ID_MM_QMI_PCO_DISABLED udev tag, effectively preventing a modem crash. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/842 Signed-off-by: Stig M. Baugstø <1129097-stigma@users.noreply.gitlab.freedesktop.org>
2024-10-17cinterion: fix propagating NULL GErrorAleksander Morgado
(ModemManager:2925): GLib-CRITICAL **: 09:21:32.082: g_propagate_error: assertion 'src != NULL' failed (ModemManager:2925): GLib-GIO-CRITICAL **: 09:21:32.083: g_task_return_error: assertion 'error != NULL' failed` Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/916
2024-09-30ublox: remove custom power operation synchronization logicAleksander Morgado
These are already synchronized at interface level, so there is already a guarantee that they won't happen at the same time.
2024-09-30quectel: remove custom power operation synchronization logicAleksander Morgado
The power up and down operations are already synchronized at interface level, so there is already a guarantee that they won't happen at the same time. For the reset and power off operations, it is assumed that the modem will either reset or power off, so there should be no need to sync those operations with others, as the modem object will eventually go away altogether in both cases.
2024-09-24plugins/quectel: support modem power operations for AT-based devicesDan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-16cinterion: implement FDL update methodLukas Voegl
Adds AT^SFDL based Firmware Download as an update method for supported Cinterion modems. Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-09-11fibocom: L850 specific hack when using an AT&T 310280 SIM cardAleksander Morgado
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-09quectel: implement DFOTA update methodLukas Voegl
2024-09-09Quectel: Fix obtaining incorrect module namesmank.wang
2024-09-09plugin,rolling: Update RW135 udev rules.Vanillan Wang
2024-08-29mtk: never reload TX/RX stats in FM350Aleksander Morgado
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-23fibocom: NL668 ttys are managed by the option driverAleksander Morgado
So they are ttyUSB instead of ttyACM.
2024-08-23fibocom: add L850 AT port hintsAleksander Morgado
Just so that we make sure no other probing type is tried with them.
2024-08-05telit: add port hints for FN912C04 0x3000 and 0x3001 compositionsDaniele Palmas
Related kernel commits: 9a590ff28342 ("USB: serial: option: add Telit FN912 rmnet compositions") 77453e2b015b ("net: usb: qmi_wwan: add Telit FN912 compositions")
2024-08-02netprisma: remove serial modems supportAleksander Morgado
2024-08-02Netprisma: Add new pluginMank Wang