aboutsummaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)Author
2022-04-15huawei: disable +CPOL based features in Huawei E226Aleksander Morgado
Issue and bugfix suggestion by Alex Leopoldo Villacís Lasso. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/552
2022-04-13cinterion: add PLS63 port type hintsKonrad Zapałowicz
The PLS63 is a drop-in replacement for PLS62 model, however it uses different USB SoC and enumerates differently on the USB bus. This commit adds relevant type hints with a correct Vendor and Product IDs so that the device is correctly discovered. Without these type hints the modem would not work correctly as it uses wrong port for PPP.
2022-04-12plugins,telit: SWPKGV parsing needs more permissive regexCarlo Lobrano
In some cases the "base" software package string does not have the currently expected format of \d{2}.\d{2}.\d{3}. Specifically the last triplet of characters might not be digits. For example a valid version string might be 25.20.-04, which the current regex is unable to parse. This change replace the previous regex with one less restrictive, checking only the first part of the version's format.
2022-04-11test,modem-helpers-telit: fix test inputsCarlo Lobrano
test input strings for test_telit_parse_swpkgv_response invert <CR> and <LF>. The correct match is \r for <CR> and \n for <LF>.
2022-04-08sms: prevent crash if date is out of rangeCarlo Lobrano
g_date_time_new, and g_date_time_new_utc return NULL if inputs are out of range, and currently mm_new_iso8601_time passes the GDateTime created by those two functions to date_time_format_iso8601 without checking for NULL values, causing a g_date_time_format_iso8601 crash if PDU data is corrupted with wrong date. To prevent this, mm_new_iso8601_time now can return NULL and set a new GError if GDateTime created by g_date_time_new is NULL. Fixes #546
2022-04-07plugins,telit: remove unnecessary after sim unlock 1s delayCarlo Lobrano
Currently the Telit modem implements modem_after_sim_unlock() with 1s timeout, however the #QSS URC management (introduced later) waits for QSS=1 URC in csim_unlock_periodic_check up to 3s, which makes this 1s delay not necessary anymore. see also: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/3
2022-03-29telit: reorganize common_parse_bnd_response for readabilityCarlo Lobrano
2022-03-29telit: fix AT#BND parsing for LE910C1-EUXCarlo Lobrano
Some modems, like LE910C1-EUX, express the LTE part of #BND output in HEX format, but currently the MM parser for such case is limited to modems that have "ext_4g_bands". This commits use the new MMTelitModel info to decide how to parse #BND command output. Fixes #487
2022-03-29telit: detect modem model from revisionCarlo Lobrano
Telit revision string can be used to identify the specific model, which in turn is useful to specialize the behavior of the plugin. This change adds revision parsing to detect some telit modems. Initially it adds the ones that have different behaviors in #BND output parsing for example.
2022-03-29telit: override load revisionCarlo Lobrano
Currently, firmware revision string is obtained via AT+CGMR or AT+GMR commands from the default mm-broadband-modem. For a class of Telit modems however this command does not return the actual Telit Software Package version, but the "Modem FW Version", which is only a component of the whole firmware. For this class of modems, the correct string is obtained with "AT#SWPKGV" command. This change overrides load_revision* functions to add the ability to parse "AT#SWPKGV" command for the modems that support it, and falls back to the same logic that was implemented in mm-broadband-modem otherwise.
2022-03-28foxconn: consolidate checks for T99W175 and T99W265Aleksander Morgado
These two devices require QDU and MCFG+APPS version string comparison. We now have a single place where we check for this requirements.
2022-03-28foxconn: consolidate logic deciding required update methodsAleksander Morgado
2022-03-28foxconn: consolidate logic deciding requested firmware version typeAleksander Morgado
We don't want to have in two different places the vid:pid match list when selecting the type of firmware version we ask for.
2022-03-28foxconn: switch to use autoptr() in firmware info loadingAleksander Morgado
2022-03-28foxconn: remove unneeded input bundle unrefAleksander Morgado
2022-03-28foxconn: use new qmi service(fox) to get firmware versionFreedom Liu
foxconn modules get firmware version: Try with the new FOX service first. If FOX service failed, try with DMS service. T99W175(vid:105b) ; T77W968(0489:e0b4 ; 0489:e0b5): qmi service: dms T99W265(0489:e0da ; 0489:e0db): qmi service: fox
2022-03-27build,meson: Fix udev rules and keyfiles testsIñigo Martínez
The port to the meson build system a set of defines were lost, that made the udev rules and the keyfiles tests to not run properly. This has been changed so defines are now in their proper place and tests are run properly. Fixes #537
2022-03-26linktop: new port type hintsAleksander Morgado
Flag ttyACM0 as data port and ttyACM1 as primary port, as per https://bugzilla.gnome.org/show_bug.cgi?id=637140#c10 Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/14
2022-03-25cinterion: Add support for PLSx3w modemsTheodore A. Roth
Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
2022-03-18telit: fix mode 'any' setting with AT commandsDaniele Palmas
When setting mode 'any' with +WS46 command the supported modes should be considered for choosing the at command correct argument.
2022-03-16modem-helpers: improve and fix COPS=? numeric fields parsingAleksander Morgado
The numeric fields in the +COPS=? response were relying on a very weak parsing logic, assuming that they were single-digit numeric values and not using the common string to integer conversion utilities. This commit improves the conversion from the 3GPP/ETSI defined network availability and access technology values to the MM defined ones, providing enum-based matches even if the numeric values are the same. The commit also fixes the parsing of access technology values > 10, required to report 5G related values.
2022-03-09fibocom: new shared interface for common logicAleksander Morgado
The set_initial_eps_bearer_settings() operation is the same in XMM capable and generic MBIM modem objects. Place it in a common shared interface so that we don't duplicate code.
2022-03-09fibocom: toggle modem power after attach APN on mbimJack Song
2022-03-09fibocom: Add reset functionalitySven Schwermer
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-03-07intel: custom setup for all available AT portsAleksander Morgado
Fully disable send delay as we're using AT ports via the new WWAN subsystem.
2022-03-07xmm: setup single GPS control port exclusivelyAleksander Morgado
Use the same logic always to decide which is the best GPS control/data port, and then perform the initial port setup (GNSS engine off) only that single port.
2022-03-07xmm: prefer port flagged as AT_GPS_CONTROL to manage the GNSS engineAleksander Morgado
Use the new AT_GPS_CONTROL udev tag to decide which is the best port to manage the GNSS engine.
2022-03-07intel: inherit GNSS location support from the shared XMM interfaceAleksander Morgado
We're not going to implement all XMM shared operations from the shared utils, as the newer Intel modems support the new operations in the Microsoft MBIM Extensions. Just inherit the GNSS management capabilities.
2022-03-07intel: periodic signal checks disabled by defaultAleksander Morgado
As we can rely on async MBIM notifications.
2022-03-07intel: SIM hot swap supported by defaultAleksander Morgado
2022-03-07intel: avoid attempting QMI over MBIM in non-Qualcomm deviceAleksander Morgado
2022-03-07intel: disable data over TTY by defaultAleksander Morgado
Only data over NET is expected
2022-03-07intel: new MBIM capable devicesom
2022-03-07intel: new plugin for PCI devices with vendor id 0x8086som
For now, just detecting the device and creating generic MBIM or AT based modems.
2022-03-01build,meson: Fix daemon enums dependenciesIñigo Martínez
meson generates the `mm-daemon-enums-types` source and header files. These are used when building `ModemManager` executable and different plugins. However, these enums are only stated as dependencies on the `ModemManager` executable build. This has been fixed by also adding the generated files targets as dependencies in the required plugins.
2022-03-01plugins: Fix port enums includesIñigo Martínez
The `broadmobi`, `dlink`, `telit` and `tplink` plugins include the `mm-port-enums-types.h` header. However, they do not use any symbol defined there. The `huawei` plugin as includes the `mm-port-enums-types.h` header but it does not include the build targets as dependencies. These issues have been fixed by removing the unnecessary includes from `broadmobi`, `dlink`, `telit` and `tplink` plugins and by including the enums build target in the `huawei` target.
2022-02-19fibocom: remove executable bit from rules fileguihkx
This silents a warning given by udev: Configuration file /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules is marked executable. Please remove executable permission bits. Proceeding anyway.
2022-02-16fibocom: detect ID_MM_FIBOCOM_INITIAL_EPS_OFF_ON on runtimeAleksander Morgado
We won't create a full new different modem object based on whether the ID_MM_FIBOCOM_INITIAL_EPS_OFF_ON tag is found or not. Instead, we always will create the same object type, and detect whether the OFF/ON cycle is required during runtime.
2022-02-16fibocom: initial EPS settings update always available in parentAleksander Morgado
Assume that the method to change the initial EPS bearer settings is always implemented in the parent, so that we can avoid the runtime check. This also fixes the codepath that would happen if the iface_modem_3gpp_parent->set_initial_eps_bearer_settings == NULL condition was valid, as that would end up with a GTask never completed.
2022-02-16fibocom: toggle modem power after attach APNJack Song
When the attach APN settings are changed, the device will go through a radio on -> radio off -> radio on cycle so that the new changes are taken into consideration. This change is done in a Fibocom-specific MBIM modem implementation because it's working around a firmware bug that would prevent for the attach settings to be considered automatically.
2022-02-16meson,tests: fix DBus service lookup in test-plugin-genericAleksander Morgado
2022-02-09quectel: add name to device IDsDylan Van Assche
fwupd expects device IDs which are unique for each device and its variants. However, Quectel re-uses the same USB VID & PID among different variants such as EG25, EC25, EC20, etc. Moreover, each variant may have subvariants such as EG25GGB, EG25GGC, EG25AFF, EG25AFX, etc. Add the name of the modem to the device IDs to build more unique device IDs such as USB\VID_2C7C&PID_0125&REV_0001&NAME_EC25GGB.
2022-01-26quectel: add Sahara udev tag to EM05 modemsIvan Mikhanchuk
2022-01-21telit: add port hints for Telit LE910C1-EUXDaniele
2022-01-20foxconn: firmware info loading only if MBIM-QMUX enabled in libqmiAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/477
2022-01-18quectel: new ID_MM_QUECTEL_FIREHOSE udev tagAleksander Morgado
To identify which devices support the firehose update protocol.
2022-01-18quectel: combine firmware functions in mm-shared-quectelIvan Mikhanchuk
2022-01-18quectel: fix reference cycleAleksander Morgado
The 'update_settings' object must be referenced before the task is completed.
2022-01-11fibocom: Double-check connection after dialingSven Schwermer
Fibocom's documentation states that we must double-check the connection is established when setting up an ECM connection. The possible replies - according to the documentation - are: +GTRNDIS: <state>,<cid>,<ip>,<prim. dns>,<sec. dns> OK or +GTRNDIS: 0 We just care about the state value which is 1 if everything worked.
2022-01-11fibocom: Use ECM bearer if +GTRNDIS is availableSven Schwermer
Some modems might have a net port but don't support +GTRNDIS which is used by the ECM bearer. That case will be caught by this additional check.