summaryrefslogtreecommitdiff
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* sierra: port type hints for RC7611Aleksander Morgado2023-05-111-0/+8
|
* build-aux,mkenums: import custom mkenums tool from libqmi/libmbimAleksander Morgado2023-04-271-27/+63
| | | | We're going to use certain new features included in the custom tool.
* sierra: add port hints for HL7812Marcus Folkesson2023-04-131-0/+8
| | | | Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
* port-serial-at: make mm_port_serial_at_command_finish() transfer ownershipLubomir Rintel2023-04-119-12/+14
| | | | | | | | | 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.
* cinterion: fix missing object in mm_obj_dbg() callsAleksander Morgado2023-04-101-6/+6
|
* cinterion: fix warning with -Wmissing-prototypesAleksander Morgado2023-04-101-1/+1
| | | | | | ../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) | ^~~~~~~~~~~~~~~~~~~~~~
* cinterion: use port type hints on modem probeKonrad Zapałowicz2023-04-101-13/+42
| | | | | | | | | | | | | | | | 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
* sierra: add EM7455 port type hintsAleksander Morgado2023-03-271-2/+10
|
* quectel: no real requirement for QCDMAleksander Morgado2023-03-271-1/+1
| | | | | | The supported Quectel modules are usually QMI based and therefore very new, there is no real requirement to support QCDM based management.
* broadmobi: no real requirement for QCDMAleksander Morgado2023-03-271-1/+1
| | | | | | The supported broadmobi modules are usually QMI based and therefore very new, there is no real requirement to support QCDM based management.
* sierra: no real requirement for QCDMAleksander Morgado2023-03-271-1/+1
| | | | | The QCDM ports are not strictly required in the Sierra plugin, as this plugin deals exclusively with QMI and MBIM capable devices.
* cinterion: don't assume GError structure always initializedKirill Buksha2023-03-151-1/+4
| | | | | | 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.
* telit: ignore composition 0x1075Daniele Palmas2023-03-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Telit FN990 is integrated through PCIe, but also USB lines are available, ModemManager will consider the port on the USB composition as a different modem: oem@sw-test:~$ mmcli -L /org/freedesktop/ModemManager1/Modem/1 [telit] FN990A40 /org/freedesktop/ModemManager1/Modem/0 [Telit] FN990A40 oem@sw-test:~$ mmcli -m 0 <snip> | equipment id: 359172390022295 -------------------------------- System | device: /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5 | drivers: option | plugin: telit | primary port: ttyUSB0 | ports: ttyUSB0 (at) oem@sw-test:~$ mmcli -m 1 <snip> | equipment id: 359172390022295 ----------------------------------- System | device: /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0 | drivers: mhi-pci-generic | plugin: telit | primary port: wwan0mbim0 | ports: wwan0 (net), wwan0at0 (at), wwan0at1 (at), | wwan0mbim0 (mbim), wwan0nmea0 (ignored), wwan0qcdm0 (ignored) Ignore composition 0x1075, since it should not be used by ModemManager and can only show when PCIe is used.
* quectel: add support for EG12-EA type usb modulesdchard2023-03-031-0/+10
|
* quectel: add support for EC21-EUX usb modulesQuectelDuke2023-02-231-0/+10
| | | | Signed-off-by: QuectelDuke <duke.xin@quectel.com>
* xmm: fix crash parsing XACT? responseAleksander Morgado2023-02-212-58/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure we don't assert when processing an unexpected response. We were not correctly handling the case where g_match_info_matches() was not succeeding. 0x00007d8be96cc462 (libc.so.6 + 0x00028462) abort 0x00007d8be995ff01 (libglib-2.0.so.0 - gtestutils.c: 3253) g_assertion_message 0x00007d8be995ff64 (libglib-2.0.so.0 - gtestutils.c: 3279) g_assertion_message_expr 0x00007d8be858086a (libmm-shared-xmm.so - mm-modem-helpers-xmm.c: 467) mm_xmm_parse_xact_query_response 0x00007d8be857d4e0 (libmm-shared-xmm.so - mm-shared-xmm.c: 310) xact_query_bands_ready 0x00007d8be9a79463 (libgio-2.0.so.0 - gsimpleasyncresult.c: 802) g_simple_async_result_complete 0x00005c8d2a11e9b9 (ModemManager - mm-base-modem-at.c: 538) at_command_ready 0x00007d8be9a79463 (libgio-2.0.so.0 - gsimpleasyncresult.c: 802) g_simple_async_result_complete 0x00005c8d2a19376b (ModemManager - mm-port-serial-at.c) serial_command_ready 0x00007d8be9a79463 (libgio-2.0.so.0 - gsimpleasyncresult.c: 802) g_simple_async_result_complete 0x00005c8d2a18f93f (ModemManager - mm-port-serial.c: 139) command_context_complete_and_free 0x00005c8d2a192985 (ModemManager - mm-port-serial.c: 753) port_serial_got_response 0x00005c8d2a192dff (ModemManager - mm-port-serial.c: 924) common_input_available 0x00007d8be993e3fc (libglib-2.0.so.0 - gmain.c: 3417) g_main_context_dispatch 0x00007d8be993e704 (libglib-2.0.so.0 - gmain.c: 4211) g_main_context_iterate 0x00007d8be993e978 (libglib-2.0.so.0 - gmain.c: 4411) g_main_loop_run 0x00005c8d2a105e66 (ModemManager - main.c: 217) main 0x00007d8be96cc6c5 (libc.so.6 + 0x000286c5) __libc_init_first 0x00007d8be96cc781 (libc.so.6 + 0x00028781) __libc_start_main 0x00005c8d2a105b80 (ModemManager + 0x00061b80) _start
* telit: fallback to AT commands in case of MBIM loading revision failureDaniele Palmas2023-01-302-2/+27
| | | | | | Some firmware versions return an empty string for the revision when using the device caps MBIM request, so use AT commands as a fallback in case this happens.
* telit: increase initial delay for AT portsDaniele Palmas2023-01-301-2/+2
| | | | | FN990 requires more time for the AT ports to become responsive, so increase the initial delay up to 40 seconds.
* telit: add port type hints for FN990 0x1070, 0x1071 compositionsDaniele Palmas2023-01-301-0/+18
|
* telit: add shared support for 5G modesDaniele Palmas2023-01-302-1/+39
|
* build: fix dependency on daemon enums required by pluginsAleksander Morgado2023-01-101-1/+4
| | | | Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/686
* build: new option to build plugins within the daemon binaryAleksander Morgado2023-01-035-27/+357
| | | | | | | | | | | Instead of creating libmm-plugin* and libmm-shared* libraries that are dlopen()-ed on runtime, allow incorporating all plugins into the daemon binary itself. This makes the startup of the daemon much faster and also avoids issues with builds that require linker namespace isolation. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/674
* plugins: setup new helper macros to define shared utilsAleksander Morgado2023-01-039-33/+57
|
* plugins: setup new helper macros to define pluginsAleksander Morgado2023-01-0382-1986/+271
| | | | | We also remove the plugin headers completely as they are not really required anywhere.
* plugins: don't include daemon enums sourcesAleksander Morgado2023-01-031-8/+8
|
* build: fix missing module name in shared option utilsAleksander Morgado2023-01-031-1/+1
|
* build: move plugins directory to src/pluginsAleksander Morgado2023-01-03315-0/+85477
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.