Lukas Voegl
155893ea38
broadband-modem: generic Firehose and Sahara support
...
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-21 14:08:50 +00:00
Sushrut Shree Trivedi
092439369b
base-modem: add subsystem device ID property
...
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-21 10:39:29 +05:30
Kévin L'hôpital
b1e58e0f6e
src: plugins: quectel: add DTMF dbus notification support
...
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-19 09:47:28 +01:00
Aleksander Morgado
cb6a56fa0c
quectel: fix crash when parsing +CTZU=? response
...
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-29 08:39:05 +00:00
Aleksander Morgado
87dc3d36b4
quectel: remove custom power operation synchronization logic
...
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-30 11:07:19 +00:00
Dan Williams
64646b98cd
plugins/quectel: support modem power operations for AT-based devices
...
Signed-off-by: Dan Williams <dan@ioncontrol.co >
2024-09-24 23:52:13 -05:00
Lukas Voegl
d763b94677
quectel: implement DFOTA update method
2024-09-09 08:26:15 +00:00
mank.wang
0bab39a20b
Quectel: Fix obtaining incorrect module names
2024-09-09 08:16:04 +00:00
Mank Wang
d7dab1773d
Netprisma: Add new plugin
2024-08-02 14:34:16 +00:00
mank.wang
8cbd12a603
quectel: support at over mbim in quectel modems
2024-07-31 13:58:16 +00:00
Lubomir Rintel
5cdeea43da
quectel/shared: do not leak name string
2024-05-31 10:46:30 +00:00
Aleksander Morgado
e4e6857aed
shared-quectel: use G_DECLARE|DEFINE_INTERFACE() macros
2024-05-06 13:45:39 +00:00
Aleksander Morgado
074277ca1a
iface-modem-time: use G_DECLARE|DEFINE_INTERFACE() macros
2024-05-06 13:45:38 +00:00
Aleksander Morgado
aa94b21e0a
iface-modem-location: use G_DECLARE|DEFINE_INTERFACE() macros
2024-05-06 13:45:38 +00:00
Aleksander Morgado
e535c90f5f
iface-modem-firmware: use G_DECLARE|DEFINE_INTERFACE() macros
2024-05-06 13:27:05 +00:00
Aleksander Morgado
f033a0a9f2
iface-modem-3gpp-profile-manager: use G_DECLARE|DEFINE_INTERFACE() macros
2024-05-06 13:27:04 +00:00
Aleksander Morgado
35c0a6905b
iface-modem: use G_DECLARE|DEFINE_INTERFACE() macros
2024-05-06 13:27:04 +00:00
Aleksander Morgado
1e26e16168
broadband-modem-qmi-quectel: fix task completion when not enabling profile manager events
...
Fixes e3024ec620
2024-05-06 13:24:22 +00:00
Lukas Voegl
e3024ec620
quectel: disable qmi unsolicited profile manager events
...
Signed-off-by: Lukas Voegl <lvoegl@tdt.de >
2024-05-02 20:38:02 +00:00
Aleksander Morgado
1af88ed950
quectel: always report primary port in the firmware interface
2024-04-12 01:17:14 +00:00
Aleksander Morgado
3c4fa90c92
shared-quectel: don't assume that parent object supports location
...
The generic MBIM modem implementation does not have location
capabilities support, so the relevant function pointers in the
interface are NULL.
Fixes: 306566ad7e
2024-04-01 09:07:10 +00:00
Aleksander Morgado
306566ad7e
quectel: implement shared quectel logic in MBIM modem
2024-03-13 03:57:57 +00:00
Aleksander Morgado
87fb47b9ab
quectel: minor code reordering
2024-03-13 03:57:57 +00:00
Aleksander Morgado
91828ecc65
quectel: disable periodic signal checks in MBIM modems
2024-02-15 13:01:00 +00:00
Aleksander Morgado
74904b3cb1
quectel: coding style fixes
2023-10-18 21:29:06 +00:00
mank.wang
1b6e4c4349
quectel: avoid incorrect module version report after the upgrade
...
After LVFS upgrade, the module needs to be restarted. ModemManager
queries the module information, sometimes the module is not ready, and
the information queried by "mmcli -m any --firmware-status" is
incomplete,
It is now modified to re query once per second when obtaining
incomplete versions, up to a maximum of 16 times.
Signed-off-by: mank.wang <mank.wang@quectel.com >
2023-10-18 21:29:06 +00:00
Robert Marko
8182a10d5d
quectel: add support for RM520N
...
RM520N in USB mode exposes the following:
ttyUSB0 (if #0 ): QCDM/DIAG port
ttyUSB1 (if #1 ): GPS data port
ttyUSB2 (if #2 ): AT primary port
ttyUSB3 (if #3 ): AT secondary port
So, lets mark them so ModemManager can properly manage them.
Signed-off-by: Robert Marko <robert.marko@sartura.hr >
2023-10-12 13:16:36 +02:00
Rukun Mao
b7433b4c14
iface-modem: new logic to detect SIM swap with explicit IMSI/ICCID query
...
This improves SIM hot swap check process, and it can help avoid unnecessary
modem reprobe during suspend-resume without SIM inserted.
The changes in this CL implemented the new logic ONLY for MBIM, and the
new logic has not been implemented for QMI and AT yet. Thus, we keep the
legacy `mm_iface_modem_check_for_sim_swap()' till the new logic for QMI
and AT has been implemented.
2023-10-11 14:01:33 +00:00
Lukas Voegl
8cd1c1bdb9
api,modem: new 'Physdev' property
...
Signed-off-by: Lukas Voegl <lvoegl@tdt.de >
2023-09-18 10:53:12 +02:00
QuectelDuke
1fc061b6a5
quectel: Add RM520 with firehose support
...
Signed-off-by: QuectelDuke <duke.xin@quectel.com >
2023-09-15 09:49:50 +00:00
QuectelDuke
bae7242af6
quectel: Add new EM160 product with firehose support
...
Signed-off-by: QuectelDuke <duke.xin@quectel.com >
2023-09-14 07:51:12 +00:00
QuectelDuke
0a87294725
quectel: add Sahara udev tag to EM061K-GL modems
...
Signed-off-by: QuectelDuke <duke.xin@quectel.com >
2023-09-08 08:35:48 +00:00
QuectelDuke
8fc9b77750
quectel: add support for EM060K-GL usb modules
...
Signed-off-by: QuectelDuke <duke.xin@quectel.com >
2023-08-14 12:03:02 +00:00
Andrey Skvortsov
4174575d5d
quectel: fix debug output if QGPS isn't supported
...
FEATURE_NOT_SUPPORTED is equal 1 in the enum FeatureSupport, as a
result even if QGPS isn't supported by modem debug message printed
available support.
2023-07-13 08:15:10 +00:00
Aleksander Morgado
53f063b851
quectel: avoid assuming modem is MBIM capable in shared utils
...
(ModemManager:10426): GLib-GObject-WARNING **: 09:44:23.142: invalid cast from 'MMBroadbandModemQmiQuectel' to 'MMBroadbandModemMbim'
**
ERROR:../git/src/mm-broadband-modem-mbim.c:284:mm_broadband_modem_mbim_peek_port_mbim: assertion failed: (MM_IS_BROADBAND_MODEM_MBIM (self))
Bail out! ERROR:../git/src/mm-broadband-modem-mbim.c:284:mm_broadband_modem_mbim_peek_port_mbim: assertion failed: (MM_IS_BROADBAND_MODEM_MBIM (self))
See https://lists.freedesktop.org/archives/modemmanager-devel/2023-July/009729.html
2023-07-07 05:50:12 +00:00
Aleksander Morgado
e5493127cd
quectel: no real requirement for QCDM
...
The supported Quectel modules are usually QMI based and therefore
very new, there is no real requirement to support QCDM based
management.
2023-03-27 12:54:46 +00:00
dchard
00f3054652
quectel: add support for EG12-EA type usb modules
2023-03-03 08:47:04 +00:00
QuectelDuke
fb386765a5
quectel: add support for EC21-EUX usb modules
...
Signed-off-by: QuectelDuke <duke.xin@quectel.com >
2023-02-23 15:06:23 +08:00
Aleksander Morgado
f0a9f09558
plugins: setup new helper macros to define plugins
...
We also remove the plugin headers completely as they are not really
required anywhere.
2023-01-03 13:56:25 +00:00
Aleksander Morgado
e14b904cbd
build: move plugins directory to src/plugins
...
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.
2023-01-03 13:56:25 +00:00