aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-05-13plugin-manager: use autoptr to simplify methods needing a valid PortContext ↵Aleksander Morgado
reference
2024-05-13plugin-manager: ensure DeviceContext is valid during the whole cancellation ↵Aleksander Morgado
procedure
2024-05-10plugin-manager: fix comment specifying which context should existAleksander Morgado
2024-05-10kernel-device-generic: plug memleak when processing platform portsAleksander Morgado
ptr_array_add_sysfs_attribute_link_basename() already reads the current subsystem, so we should avoid overwriting the pointer. ==1630== 13 bytes in 2 blocks are definitely lost in loss record 270 of 3,092 ==1630== at 0x4842839: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==1630== by 0x4A1DDE8: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6800.1) ==1630== by 0x4A329E3: g_strdup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6800.1) ==1630== by 0x26128E: ptr_array_add_sysfs_attribute_link_basename (mm-kernel-device-generic.c:244) ==1630== by 0x263FD0: preload_contents_platform (mm-kernel-device-generic.c:314) ==1630== by 0x263FD0: preload_contents (mm-kernel-device-generic.c:549) ==1630== by 0x263FD0: check_preload (mm-kernel-device-generic.c:992) ==1630== by 0x263FD0: initable_init (mm-kernel-device-generic.c:1139) ==1630== by 0x4B6DDB9: g_initable_new_valist (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1) ==1630== by 0x4B6DE6C: g_initable_new (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1) ==1630== by 0x262087: mm_kernel_device_generic_new_with_rules (mm-kernel-device-generic.c:1054) ==1630== by 0x17F66F: handle_kernel_event (mm-base-manager.c:689) ==1630== by 0x17F7D2: report_kernel_event_auth_ready (mm-base-manager.c:1238) ==1630== by 0x4BA37D8: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1) ==1630== by 0x4BA3A1A: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1)
2024-05-09broadband-modem-mbim: add missing MBIM port headerAleksander Morgado
2024-05-08base-sim: avoid printing IMSI/ICCID and others twiceAleksander Morgado
The logic initializing the SIM object already prints the loaded fields, taking into account that some of them should be treated as personal info (so redacted by default). [modem0/sim0] loaded SIM identifier: 8988211000000123456 [modem0/sim0] loaded SIM identifier: ### [modem0/sim0] loaded IMSI: 901700000012345 [modem0/sim0] loaded IMSI: ###
2024-05-06shared-simtech: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06shared-cinterion: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06shared-quectel: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06shared-option: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06shared-fibocom: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06shared-xmm: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06shared-telit: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-cdma: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-oma: 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-simple: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-sar: 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-firmware: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-3gpp-ussd: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06iface-modem-3gpp-profile-manager: 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-05-06iface-port-at: use G_DECLARE|DEFINE_INTERFACE() macrosAleksander Morgado
2024-05-06broadband-modem-qmi-quectel: fix task completion when not enabling profile ↵Aleksander Morgado
manager events Fixes e3024ec620f2d4087c1d03579c8575b6cb988503
2024-05-02quectel: disable qmi unsolicited profile manager eventsLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-04-30device: launch modem initialization after inhibitionAleksander Morgado
The mm_device_create_modem() was updated so that it would not run the modem initialization implicitly. Due to this change, we must ensure the modem initialization is run after a modem inhibition operation after we recreate the modem object. Fixes: 04d826f563a497f2af0557982cdfae7586ca8efb
2024-04-29device: launch modem initialization after reprobeAleksander Morgado
The mm_device_create_modem() was updated so that it would not run the modem initialization implicitly. Due to this change, we must ensure the modem initialization is run after a modem reprobe operation, e.g. when switching SIM slots. The logic to run the modem initialization is moved to MMDevice for simplicity and clarity. Fixes: 04d826f563a497f2af0557982cdfae7586ca8efb
2024-04-23fibocom: create custom MBIM port object with potential AT supportAleksander Morgado
2024-04-23fibocom: change parent class peeker methodAleksander Morgado
Use the more generic MMBaseModemClass instead of MMBroadbandModemClass.
2024-04-23port-mbim: preload supported services and allow queryingAleksander Morgado
2024-04-23base-modem: allow subclassing tty/usbmisc/wwan port creationAleksander Morgado
So that plugins can provide their own implementations as needed.
2024-04-23base-modem: support non-serial ports when peeking the best AT portAleksander Morgado
When we don't care about the type of AT port to use, prefer the QMI or MBIM based ones if any available.
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-23base-modem-at: switch internals to use MMIfacePortAtAleksander Morgado
2024-04-23iface-port-at: new interface exposing AT command/response supportAleksander Morgado
For now implemented in a generic way by the MMPortSerialAt object.
2024-04-23base-modem-at: refactor implementationAleksander Morgado
No functional changes should happen. The purpose of this change is to align coding style with the rest of the project and also simplify the implementation of the different AT command handling methods, e.g. to avoid needing so many internal helper methods.
2024-04-22huawei: fix guint64 string formattingLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-04-16base-manager: launch modem initialization also in unit testsAleksander Morgado
The new modem_initialize() method is run for both real devices (after the modem setup phase) and also for virtual devices in unit tests (where no modem setup phase exists).
2024-04-16dispatcher-modem-setup: new modem setup dispatcherNero
There are cases where the user wants to configure some actions to be run on a modem before ModemManager takes over full control. The new "modem setup" dispatcher scripts allow running operations in the modem after the port probing has happened and we know which ports are usable in the device. The scripts may e.g. change device configuration, enable modem logging infrastructure, or any other process that would otherwise conflict with MM's own modem management operations.
2024-04-16huawei: plugin sources depend on enums typesAleksander Morgado
2024-04-12huawei: handle IPv6 connection status changesOliver Kästner
2024-04-12huawei: implement loading supported IP familiesOliver Kästner
This uses the proprietary `^NDISSTATQRY` instead of the default `+CGDCONT` command, as the latter might return diffrent results (i.e. reporting v6 support, that can't be used via NDIS). Also add a fallback to `+CGDCONT?` for older modems that don't support ^NDISSTATQRY.
2024-04-12huawei: enable support for IPv6Oliver Kästner
2024-04-12base-modem-at: remove unused at_command_raw() methodAleksander Morgado
2024-04-12broadband-modem-hso: don't assume GPS control port always existsAleksander Morgado