aboutsummaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)Author
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
2019-01-30ublox: add band detection support for additional modemsMark-Jablonsky
The u-blox plugin was originally written to support the TOBY-L4 only. This caused issues with mmcli reporting the correct supported and current bands because the logic was based only for the TOBY-L4 and the AT commands used in the implementaion are only supported by a couple of modems. There is now a hard-coded modem list that contains the supported bands and the supported modes. A hard-coded list was chosen over a logic based list because ublox modems only report the frequency of the bands they support in the current mode they are in. For further justification, the reported frequency could relate to multiple bands that are not all supported by the modem, and not all the supported bands are always caught depending on the mode the modem is in (e.g. 2G, 3G, 4G). The only realiable way to retrieve the correct supported bands is to have the list hard-coded. Based off of the modem, the code chooses whether it is appropriate to issue +UACT or +UBANDSEL to retrieve the current bands list. Additionally, the appropriate AT command of +CFUN=4 or +COPS=2 is chosen to detach from the network when the mmcli --set-current-bands command is issued. The new setup also adds a header file that contains the modem list. This should make adding support for future additional modems easier as long as future modems stick to the same AT command interface that is currently supported by the plugin.
2019-01-03dell,dw5821e: also report QMI PDC based update availableAleksander Morgado
2019-01-03api,firmware: MMModemFirmwareUpdateMethod as flags, not enumAleksander Morgado
Devices may require/support more than one update method, so instead of reporting the method as a single enum value, use a set of flags instead.
2019-01-03quectel: report fastboot-based firmware update method and settingsAleksander Morgado
We'll check for AT+QFASTBOOT support during runtime.
2019-01-03dell,dw5821e: report fastboot-based firmware update method and settingsAleksander Morgado
The DW5821e uses the AT^FASTBOOT command to reset the module in fastboot mode, ready to download new firmware. Note: we cannot use AT^FASTBOOT=? to query for support, as that command also triggers the reset :/
2018-12-18Do not pass null string to %s printf formatted stringKhem Raj
Here the string is already decided to be NULL and passing a null pointer to %s will not work Fixes error: '%s' directive argument is null Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-16ublox,tests: avoid using deprecated band symbolsAleksander Morgado
2018-12-16telit: avoid using deprecated band symbolsAleksander Morgado
2018-12-13altair-lte: use mm_autoptr instead of g_autoptrBen Chan
commit 397faef3c5ce ("mm-common-helpers: add mm_autoptr helpers for GRegex and GMatchInfo") introduces mm_autoptr(), which implements g_autoptr() that isn't available before glib 2.44. This patch fixes the code to consistently uses mm_autoptr().
2018-12-10dell: support XMM-based devicesLiuQiFeng
2018-12-07xmm,dell: add defaults for MBIM-derived objectsAleksander Morgado
For subclasses of MMBroadbandModemMbim, also apply the same property defaults. E.g. we want to avoid peridic signal quality polling and we also want to report that SIM hot swap is supported.
2018-12-04mm-common-helpers: add mm_autoptr helpers for GRegex and GMatchInfoDan Williams
Alias them to g_autoptr() on glib >= 2.44, otherwise re-implement.
2018-11-12dell: don't ignore ttyUSB1 in the DW5821eAleksander Morgado
This port was ignored because it was non-functional in early development firmware images, and made device probing very slow. This has been solved in the first production images of the DW5821e module.
2018-11-08tests: use memcmp() instead of g_assert_cmpmem() for nowBen Chan
g_assert_cmpmem() isn't available until glib 2.46, while the minimum glib version required by ModemManager is 2.36. This patch replaces the uses of g_assert_cmpmem() with memcmp() instead.
2018-10-31ublox: Add CDC-ECM support for SARA/LISA-U2xxSven Schwermer
The SARA-U2xx and LISA-U20x require the PDP context to be activated via +UCEDATA instead of +CGACT=1 when using the CDC-ECM USB profile. Furthermore, they expect the DHCP discover packet from the TE while the command is running, i.e. while the modem has not replied yet. In order to achieve that, the bearer is marked as connected as soon as the command is issued. This makes the NetworkManager start the DHCP process. If the modem replies with an error, the bearer will be marked disconnected later on. Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2018-10-26ublox: fix username and password passed to +UAUTHREQBen Chan
2018-10-26altair-lte: migrate from SubscriptionState to Pco propertyBen Chan
In preparation of deprecating the SubscriptionState property in the Modem3gpp interface, this CL updates the altair-lte plugin to update the Pco property in the Modem3gpp interface upon receiving %PCOINFO notification.
2018-10-22sierra: remove unused 'self' variable in scact_periodic_query_ready()Ben Chan
2018-10-20xmm: remove unused 'priv' variable in xact_query_bands_ready()Ben Chan
2018-10-18core: remove unnecessary NULL checks for g_match_info_free()Ben Chan
g_match_info_free() already check if the given pointer is NULL and does nothing on a NULL pointer.
2018-10-17xmm: implement A-GPS supportAleksander Morgado
2018-10-17xmm: implement XLCSLSR based GPS management and reportAleksander Morgado
2018-10-16huawei,call: check for ^CVOICE support and enable audio streamingAleksander Morgado
USB sticks only support voice if ^CVOICE returns 0. And to enable audio streaming on the "Application" port (whatever is returned by AT^DDSETEX=?) we need to send AT^DDSETEX=<port> after starting the call. After that the serial port will send and accept signed 16-bit 8000hz PCM audio, or whatever format is returned by ^CVOICE?. This patch is a rework of the original implementation by: Dan Williams <dcbw@redhat.com>
2018-10-16ublox: implement detailed call state transitions with +UCALLSTATAleksander Morgado
Among other things, we now support: * Dialing to Ringing Out transition. * Ringing Out to Active transition.
2018-10-16mm-iface-mode: provide direction and number when creating callsAleksander Morgado
Calls created from property bundles are always outgoing, while calls created as input events from URCs during runtime are always incoming. This change makes it mandatory to provide at least direction of the call when the object is created, leaving the number as an optional property that may or may not be known in advance (e.g. it would be optional only for incoming calls).
2018-10-16huawei,call: handle in-call URCs in the call object itselfAleksander Morgado
Instead of handling the URCs in the modem object and using the MMIfaceModem as a bridge to report the status read from the URC to a call obtained from the MMCallList... just handle the URCs in the call object itself.
2018-10-16huawei: ignore voice origination info URCsAleksander Morgado
These are not used for anything, so just simplify code.
2018-10-16huawei: if URCs fully ignored always, don't treat them as voice-specificAleksander Morgado
2018-10-16huawei,call: remove custom start() methodAleksander Morgado
Totally equivalent to the default one in the MMBaseCall object.
2018-10-16base-call: listen for connection error URCs in-callAleksander Morgado
In order to detect state changes while we're in-call, we have to monitor the standard connection errors we're used to, but have them processed as URCs instead of as responses to ATD requests.
2018-10-16base-call: ACTIVE after start() if detailed transitions unavailableAleksander Morgado
The most detailed call state transition flow for a new outgoing call would be: UNKNOWN -> DIALING -> RINGING -> ACTIVE But, if the modem doesn't support reporting intermediate states (e.g. DIALING or RINGING) then a successful start() should imply getting into ACTIVE state right away. For now, only the Huawei plugin implements the detailed transition support, so make them configurable via call object properties.
2018-10-09sierra-legacy: implement connection status monitoring with !SCACT?Aleksander Morgado
Devices like the Netgear AC313U require explicit context monitoring, otherwise the device may end up disconnected internally and MM would still think that the connection is ongoing.
2018-09-13xmm: increase AT command timeout when updating bands/modesAleksander Morgado
Looks like sometimes it may take a bit more than 3s.
2018-09-13xmm: minor alignment fixesAleksander Morgado
2018-09-13xmm: ensure outputs in load_values_finish() are always set if successAleksander Morgado