cellient: new generic plugin for Cellient modems with optional QMI

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>
This commit is contained in:
Stig M. Baugstø
2024-10-24 15:21:57 +02:00
parent 78508b7dce
commit 0c167a5124
7 changed files with 146 additions and 0 deletions
+17
View File
@@ -357,6 +357,23 @@ if plugins_options['broadmobi']
plugins_udev_rules += files('broadmobi/77-mm-broadmobi-port-types.rules')
endif
# plugin: cellient
if plugins_options['cellient']
test_udev_rules_dir_c_args = ['-DTESTUDEVRULESDIR_CELLIENT="@0@"'.format(plugins_dir / 'cellient')]
plugins_test_udev_rules_dir_c_args += test_udev_rules_dir_c_args
sources = files(
'cellient/mm-plugin-cellient.c',
)
plugins += {'plugin-cellient': {
'plugin': true,
'module': {'sources': sources, 'include_directories': plugins_incs, 'c_args': test_udev_rules_dir_c_args + ['-DMM_MODULE_NAME="cellient"']},
}}
plugins_udev_rules += files('cellient/77-mm-cellient.rules')
endif
# plugin: cinterion (previously siemens)
if plugins_options['cinterion']
test_udev_rules_dir_c_args = ['-DTESTUDEVRULESDIR_CINTERION="@0@"'.format(plugins_dir / 'cinterion')]