aboutsummaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)Author
2019-07-11cinterion: disable call list polling if ^SLCC is supportedAleksander Morgado
Early detect that ^SLCC is supported, and disable the call list polling in the interface if so.
2019-07-11cinterion: when ^SLCC is supported, detailed call state updates are implicitAleksander Morgado
2019-07-11cinterion: support ^SLCC URCs as part of voice managementAleksander Morgado
This command will give us URCs whenever the extended list of current calls changes, which includes information about the actual state of each call, even for calls in waiting state. Therefore, as this is a URC that applies to all calls, it's enabled and disabled as part of the modem voice interface, instead of doing it as part of the call object itself (i.e. not treated as an in-call URC).
2019-07-11cinterion: implement resetAleksander Morgado
2019-07-11cinterion: port type hints for the PLS8Aleksander Morgado
The first two ports are AT control ports (application/modem). We rely on AT^SQPORT to decide which one is which. The last two ports are unknown and we explicitly ignore them to make port probing much quicker.
2019-07-11broadband-modem,voice: disable unsolicited eventsAleksander Morgado
2019-07-10misc: use g_regex_match() for simplicityBen Chan
This CL converts a few g_regex_match_full() expressions to their equivalent g_regex_match() in order to simplify the code, i.e. g_regex_match_full (regex, str, strlen (str), 0, 0, &match_info, NULL) is equivalent to: g_regex_match_full (regex, str, -1, 0, 0, &match_info, NULL) or simply: g_regex_match (regex, str, 0, &match_info)
2019-06-13cinterion: make custom +CIEV parser much more genericAleksander Morgado
The custom +CIEV parser configured for Cinterion modems was exclusively matching the "psinfo" indicator updates, which were the ones really used afterwards. But, in order to avoid having undesired URCs mixed with other command responses, we should anyway match any +CIEV indicator reported, not only "psinfo". The text indicator ids used in +CIEV seem to bee specific to Cinterion devices when they're configured via AT^SIND, so we do a generic match for any lowercase ascii text as indicator id.
2019-06-13ublox,tests: expect error if empty band list when parsing UACT?Aleksander Morgado
2019-06-13ublox: return error when no bands are parsedAleksander Morgado
If load_current_bands_finish() returns a NULL GArray, we must set the GError or otherwise the daemon will segfault when the caller dereferences the GError: current_bands = MM_IFACE_MODEM_GET_INTERFACE (self)->load_current_bands_finish (self, res, &error); if (!current_bands) { /* Errors when getting current bands won't be critical */ mm_warn ("couldn't load current Bands: '%s'", error->message); g_error_free (error); } This may happen with an empty but balid +UACT response, e.g.: AT+UACT? +UACT: ,,, OK Or when it replies a full empty string: AT+UACT? OK
2019-06-03port-serial: allow deciding whether the command is queued last or run nextAleksander Morgado
By default all the commands we were sending through the serial port were added at the tail of the pending queue, but we may want to queue them at the head in very specific cases (e.g. while sending an SMS).
2019-05-30quectel: add port type hints for the Quectel LTE-A EG06Aleksander Morgado
ttyUSB0 (if #0): QCDM/DIAG port ttyUSB1 (if #1): GPS data port ttyUSB2 (if #2): AT primary port ttyUSB3 (if #3): AT secondary port
2019-05-28xmm,shared: don't assume parent object implements location supportAleksander Morgado
E.g. when MM is built without QMI support, the MBIM modem won't have any location support, as the only location implementation is based on QMI over MBIM. https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/125
2019-05-18telit: loading access tech should never use cached repliesAleksander Morgado
2019-04-09shared-xmm: implement support for MSB A-GPSAleksander Morgado
2019-04-09location,agps: explicitly specify that MSA A-GPS is implementedAleksander Morgado
The A-GPS based implementations we currently have assume MSA A-GPS, so rename the MMModemLocationSource enum value to reflect that.
2019-04-08altair-lte: remove unused fields in DetailedDisconnectContextBen Chan
2019-04-08plugins,dell: port type hints for the DW5820e moduleAleksander Morgado
2019-04-03via: fix memory leak in parent_setup_registration_checks_readyBen Chan
This patch fixes a potential memory leak in parent_setup_registration_checks_ready() where the allocated SetupRegistrationChecksResults may be leaked when the MMIfaceModemCdma parent's setup_registration_checks() fails.
2019-04-03ublox: add LISA/SARA-U2 alternative port typesSven Schwermer
When configuring these modems with AT+UUSBCONF=2, i.e. CDC-ECM + 4x CDC-ACM, they also enumerate with a different PID on the USB. We need to adjust the udev rules for that case in order to ignore the non-AT ports. Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2019-04-02plugins,test: setup new simple keyfile testerAleksander Morgado
2019-04-02dell,dw5821e: install carrier config mappingAleksander 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-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-13dell,dw5821e: firmware update support only if QMI is enabledAleksander 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-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.