aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-02shared-qmi: if requested config not installed, fallback to genericAleksander Morgado
If there is a known match for a specific config, but the config is not available in the module, we should fallback to the generic configuration.
2019-04-02shared-qmi: no active carrier config means default is in useAleksander Morgado
In addition to any installed MCFG file, the firmware itself as a 'default' config that will be selected when no carrier config is installed. So it is not an error if 'QMI PDC Get Selected Config' doesn't return the 'Active ID' TLV, it just means the default one is selected.
2019-04-02api,modem: new 'CarrierConfigurationRevision' propertyAleksander Morgado
Which reports the version of the currently active carrier configuration. We also update the firmware 'version' reported in the firmware settings so that carrier-specific upgrades can be performed (e.g. when the firmware stays the same but the MCFG is updated).
2019-04-02firmware: export a device id containing the carrier infoAleksander Morgado
In order to support different per-carrier upgrade paths in fwupd.
2019-04-02plugins,test: setup new simple keyfile testerAleksander Morgado
2019-04-02dell,dw5821e: install carrier config mappingAleksander Morgado
2019-04-02shared-qmi: implement QMI PDC based carrier config supportAleksander Morgado
We implement both loading the current configuration in use, as well as automatically switching to a different one if a mapping file is available.
2019-04-02iface-modem: new carrier config supportAleksander Morgado
During initialization phase we will allow querying the modem for the details of which carrier-specific configuration is being used, and will expose a description string in the API. In addition to showing the current configuration, we will also allow automatically switching the configuration based on the SIM card detected in the device. In order to allow this, plugins/modems will need to provide the expected mapping between carrier config description and MCCMNC. This mapping cannot be generic, because different manufacturers may use different description strings.
2019-04-02broadband-modem-mbim: static array to define used QMI servicesAleksander Morgado
2019-04-02broadband-modem-qmi: static array to define used QMI servicesAleksander Morgado
2019-04-02dell,dw5821e: allow unmanaged GPS even when raw/nmea enabledAleksander Morgado
The raw/nmea GPS source setup is using QMI LOC operations, so there is no point in disallowing the control of the unmanaged GPS source, as the GPS data TTY is exclusively used for unmanaged GPS.
2019-04-02iface-modem-location: allow enabling unmanaged gps even if raw/nmea enabledAleksander Morgado
But only if the plugin implementation allows to do so.
2019-04-02base-manager: fix inhibition alloc/dealloc mixupAleksander Morgado
2019-03-29ublox: fix out-of-bounds array accessesBen Chan
This patch fixes several invalid checks like this: array[i] && i < G_N_ELEMENTS (array) which should instead be: i < G_N_ELEMENTS (array) && array[i] to avoid an out-of-bounds access of the array. Fixes: c1aa658802940327369a6a4cc50d35a4a6a9b04e
2019-03-29ublox: parse +UGCNTRD stats as unsigned 64bit valuesAleksander Morgado
[1551646332.583651] (ttyACM2): --> 'AT+UGCNTRD<CR>' [1551646332.626567] (ttyACM2): <-- '<CR><LF>+UGCNTRD: 1,0,0,0,0<CR><LF><CR><LF>+UGCNTRD: 2,1397316870,113728263578,1397316870,113728263578<CR><LF><CR><LF>OK<CR><LF>' [1551646332.627120] Reloading stats failed: Couldn't load primary PDP context 2 statistics: Error parsing session RX bytes
2019-03-29libmm-glib,common: new helper methods to read guint64 valuesAleksander Morgado
We use strtoull() to read a "unsigned long long" that is always at least 64bits, even in 32bit systems.
2019-03-13ci: run distcheck on default buildAleksander Morgado
2019-03-13ci: include builds without qmi and/or without mbimAleksander Morgado
2019-03-13dell,dw5821e: firmware update support only if QMI is enabledAleksander Morgado
2019-03-03broadband-modem: reorder voice properties after messaging propertiesAleksander Morgado
2019-02-28telit: add Telit MBIM broadband modemDaniele Palmas
Modes and band support are added through AT commands.
2019-02-28telit: move shared functions to mm-shared-telitDaniele Palmas
2019-02-26dell,dw5821e: use DMS extension method to load properly formatted firmware ↵Aleksander Morgado
version And require libqmi 1.23.1.
2019-02-22port-qmi: increase qmi_device_open retriesDaniele Palmas
Telit modems LM940/960 need more time for becoming responsive to qmi requests after device appearance.
2019-02-15broadband-modem-qmi: log reason of QMI port open failureBeniamino Galvani
If ModemManager fails to open a QMI port with data format update, it retries without update. It would be useful to log the reason why the first try failed; for example on RHEL 7.6 ModemManager fails to write to sysfs due to SELinux. With this commit, the following message would be logged: <debug> QMI port open operation finished <debug> Couldn't open QMI port with data format update: Expected data format not updated properly: Failed to open file '/sys/class/net/wwp0s29u1u2i8/qmi/raw_ip' for R/W: Permission denied <debug> Opening QMI device... instead of just: <debug> QMI port open operation finished <debug> Opening QMI device... While at it, also fix the GError leak.
2019-02-14Add .gitlab-ci.ymlEric Caruso
This allows us to run unit tests on every commit to the gitlab instance.
2019-02-11po: add Danish translationscootergrisen
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/68
2019-02-11cli: report modem removal in --monitor-stateAleksander Morgado
If the modem ends up not being managed by ModemManager, detect it during the '--monitor-state' mmcli operation and report it. https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/106
2019-01-30ublox: fix parser to report only bands supported by the moduleAleksander Morgado
We were filtering the 4G bands supported by the module when parsing +UBANDSEL responses, e.g. so that we would not reply unsupported bands for a given ubandsel value. But we need the same filtering in 2G and 3G bands, because for example some modules may support a specific 4G band with a given ubandsel value, but NOT the associated 3G band. E.g. the TOBY-R200 supports EUTRAN-4 but not UTRAN-4.
2019-01-30ublox,tests: fix R-200 UBANDSEL response testerAleksander Morgado
2019-01-30ublox: use fixed array sizes when iteratingAleksander Morgado
2019-01-30ublox: fix loop looking for a specific 4g band valueAleksander Morgado
We cannot have the ubandsel value comparision inside the for(;;) stop conditions, because that would mean the loop would stop whenever the comparison fails. We want to look for a value, so we need to loop the whole array and stop once we find it only.
2019-01-30ublox: the whole list of supported bands is knownAleksander Morgado
So, assert() if for any reason we're asking to use a band that we don't find in the list.
2019-01-30ublox: don't create array with totally unrelated sizeAleksander Morgado
2019-01-30ublox: coding style fixesAleksander Morgado
2019-01-30ublox,helpers: remove unit tests for supported bandsAleksander Morgado
We're hardcoding the supported bands for each u-blox model, so there really is no point in having unit tests for them.
2019-01-30ublox,helpers: assume all SARA/LARA devices require COPSAleksander Morgado
2019-01-30ublox: COPS based registration requests with 120s AT command timeoutAleksander Morgado
2019-01-30ublox: initial power state logic only required when CFUN usedAleksander Morgado
When we're changing modes or bands, we only need to keep track of the initial power state when CFUN=4/CFUN=1 based logic is used. When using COPS, we do not need to track initial power state or recover it after the operation.
2019-01-30ublox,helpers: fix missing ubandsel support initializationsAleksander Morgado
2019-01-30ublox,helpers: rename enumAleksander Morgado
We're not going to use CFUN/COPS just for bands, but also for modes, so use more generic names.
2019-01-30ublox: fix band setting operationAleksander Morgado
If both UBANDSEL and UACT are unsupported, we were not initializing the command variable.
2019-01-30ublox: fix current bands loading completionAleksander Morgado
If both UACT and UBANDSEL are unsupported, the async operation was never completed.
2019-01-30ublox: rework support config loadingAleksander Morgado
Make mm_ublox_get_support_config() return FALSE only when GError is set. And also, prepare a preload_support_config() method to be run before using any information from the support configuration (i.e. don't do it in load_supported_bands(), do it in load_current_bands() or in set_current_bands().
2019-01-30ublox: really subclass register_in_network()Aleksander Morgado
The implemented register_in_network() was totally unused.
2019-01-30ublox: fix missing return in method definitionAleksander Morgado
acquire_power_operation (MMBroadbandModemUblox *self, ^~~~~~~~~~~~~~~~~~~~~~~ ublox/mm-broadband-modem-ublox.c:74:1: error: no previous prototype for ‘acquire_power_operation’ [-Werror=missing-prototypes]
2019-01-30ublox,helpers: remove unused variableAleksander Morgado
ublox/mm-modem-helpers-ublox.c:1291:14: error: unused variable ‘found’ [-Werror=unused-variable] gboolean found; ^~~~~
2019-01-30ublox,helpers: fix mixed declarations and codeAleksander Morgado
ublox/mm-modem-helpers-ublox.c:1298:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] guint i, j, k; ^~~~~
2019-01-30ublox: fix double task completionAleksander Morgado
If mm_ublox_get_supported_bands() and mm_ublox_get_support_config() both failed, we would be completing the GTask twice. Fix it by chaining both steps so that the second one is not run if the first one is already failed.
2019-01-30ublox: minor indentation fixesAleksander Morgado