aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/cinterion
AgeCommit message (Collapse)Author
10 dayscall: allow setting DTMF tone duration at call creation timeDan Williams
Instead of hard-coding a 500ms DTMF tone duration, let applications use a specific duration at call setup time. Signed-off-by: Dan Williams <dan@ioncontrol.co>
10 daysbase-call: split AT-specific call code into MMCallAtDan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>
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-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-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>
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-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-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-05-29broadband-modem-cinterion: increase COPS timeoutLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-05-29broadband-modem-cinterion: use generic initial EPS bearer management logicAleksander Morgado
The Cinterion specific implementation relies on the generic one but adds the authentication information support using ^SGAUTH. The loading of the initial EPS bearer status (i.e. the one agreed with the network, not the settings) no longer has any Cinterion specific behavior. The auth settings are NOT reported in the initial EPS bearer status.
2024-05-29cinterion: remove custom logic to power down modem before initial EPS bearer ↵Aleksander Morgado
settings update
2024-05-06shared-cinterion: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-voice: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-time: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-signal: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-messaging: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-location: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-3gpp: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-04-23base-modem-at: switch to use the MMIfacePortAt by defaultAleksander Morgado
The whole codebase is updated to assume the MMBaseModem AT operations require an object implementing the MMIfacePortAt interface, instead of a MMPortSerialAt object. In the places where we know the port is a MMPortSerialAt, e.g. when we query explicitly for the primary or secondary serial AT port, we will use an explicit MM_IFACE_PORT_AT() cast when calling the AT command method. In the places where we get_best_at_port() we're going to assume that we don't know the port type. This method will be updated in a follow up commit to support the MMIfacePortAt interface as well.
2024-04-12broadband-modem-cinterion: don't assume primary port always existsAleksander Morgado
2024-03-12modem-helpers: rework AT string quote operation and add unit testsAleksander Morgado
Rework the AT string quote operation to build the output with the GString helper, instead of manually calculating how many bytes we'll need in the output. It just makes it clearer.
2024-03-04cinterion: keep dual-sim orderLukas Voegl
mm_parse_uint_list() sorts available SIMs and possibly changes the order of the active / non-active SIM. A custom parser is added, which keeps the order of all SIMs. Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-02-15cinterion: disable periodic signal checks in MBIM modemsAleksander Morgado
2024-01-25cinterion: swap local and dynamic PDP context commandLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-01-25cinterion: default to none authentication with no user and passwordLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-01-25cinterion: change secondary port to ppp on PLS8Lukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-01-19cinterion: switch primary and secondary port for PLS8Lukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-10-05cinterion: implement setting primary slotLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-10-05cinterion: implement loading multiple SIMsLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-09-18api,modem: new 'Physdev' propertyLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-04-11port-serial-at: make mm_port_serial_at_command_finish() transfer ownershipLubomir Rintel
This will make it slightly easier to port mm_port_serial_at_command() to use GTask, since we won't have to keep a pointer to the result in GTask after _finish() has been called. In most cases the caller needs the value anyway, so this doesn't add too much hasle.
2023-04-10cinterion: fix missing object in mm_obj_dbg() callsAleksander Morgado
2023-04-10cinterion: fix warning with -Wmissing-prototypesAleksander Morgado
../src/plugins/cinterion/mm-plugin-cinterion.c:65:1: warning: no previous prototype for ‘is_port_already_tagged’ [-Wmissing-prototypes] 65 | is_port_already_tagged (MMPortProbe *probe) | ^~~~~~~~~~~~~~~~~~~~~~
2023-04-10cinterion: use port type hints on modem probeKonrad Zapałowicz
The Cinterion plugin is using the output of the SQPORT? to guess which ports can be used for AT commands and data connection. Yet at the same time the udev adds port type hints to the Cinterion modem upon its discovery. This commit changes the initialization in a way that from now on it skips sending SQPORT? when the port type hints are already assigned. By doing this we make sure that the udev port type hints are being used when they are available. In case they are not the initialization relies on the outout of SQPORT? as it did do far. See: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/782
2023-03-15cinterion: don't assume GError structure always initializedKirill Buksha
GError structure may not be initialized after execution of mm_3gpp_parse_cgdcont_read_response() and accessing it's fields will cause a segmentation fault.
2023-01-03plugins: setup new helper macros to define pluginsAleksander Morgado
We also remove the plugin headers completely as they are not really required anywhere.
2023-01-03build: move plugins directory to src/pluginsAleksander Morgado
We are going to allow including the plugin sources built within the ModemManager daemon binary; moving the sources within the daemon sources directory makes it easier.