aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-07kernel-device: return G_MAXUINT when get_property_as_int_hex() failsAleksander Morgado
2016-11-07kernel-device: ID_USB_INTERFACE_NUM should be read as an hex stringAleksander Morgado
The original g_udev_device_get_property_as_int() uses strtol() without an explicit base (i.e. 0) so that the base is autodetected from the string whenever possible (e.g. if prefixes with '0x' it is treated as a hexadecimal string). But, for ID_USB_INTERFACE_NUM, we explicitly require reading the number as an hex string, even if we don't have any '0x' prefix. Reported-by: Matthew Stanger <stangerm2@gmail.com>
2016-11-07port-probe: don't probe ignored portsAleksander Morgado
If a port has been flagged as ignored with the ID_MM_PORT_IGNORE udev property, we shouldn't open and probe the ports in any way, just flag them as ignored. We still report them in the list of modem ports, but just with "unknown" type and therefore not using them for anything.
2016-10-26Makefile: Move to AM_DISTCHECK_CONFIGURE_FLAGSSam Spilsbury
Since automake 1.11.2 it is recommended that packages use AM_DISTCHECK_CONFIGURE_FLAGS instead of DISTCHECK_CONFIGURE_FLAGS as the latter is intended to be a user variable. https://bugs.freedesktop.org/show_bug.cgi?id=95826
2016-10-25broadband-modem-qmi: add QMI_PROTOCOL_ERROR_NOT_SUPPORTED case for pin ↵Daniele Palmas
status checking Telit LE922A does not like the legacy way for checking pin status, but instead of returning QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND, it returns QMI_PROTOCOL_ERROR_NOT_SUPPORTED, making the modem not to be fully initialized. This patch adds QMI_PROTOCOL_ERROR_NOT_SUPPORTED as another error for which the new pin checking status way is tried.
2016-10-24core: use a default timeout of 300s for the scan networks operationAleksander Morgado
This is the value which we actually suggest in the manpage for the mmcli operation, so just use the same one. Scanning for 3GPP networks may really take a long time, so a specific timeout must be given: $ mmcli -m 0 --3gpp-scan --timeout=300 Found 4 networks: 21404 - Yoigo (umts, available) 21407 - Movistar (umts, current) 21401 - vodafone ES (umts, forbidden) 21403 - Orange (umts, forbidden) https://bugs.freedesktop.org/show_bug.cgi?id=98235
2016-10-24systemd: tighten the service security a bitLubomir Rintel
What's left enabled: * Access to /dev -- obviously * CAP_SYS_ADMIN -- this is needed by TIOCSSERIAL only. Too bad this also allows TIOCSTI, which allows for code injection unless something else (SELinux) disallows access to ttys with shells. Maybe kernel should use CAP_SYS_TTY_CONFIG for this. * socket(AF_NETLINK) -- udev & kernel device changes * socket(AF_UNIX) -- D-Bus
2016-10-24blacklist: ignore Sigma Sport docking stationsSławomir Bocheński
These CDC ACM class devices are docking stations for Sigma Sport bike computers. As they are sensitive to single byte commands, ModemManager probing mechanism actually caused training data on attached bike computer to be zeroed. https://bugs.freedesktop.org/show_bug.cgi?id=96430
2016-10-20telit: optimized supported and current band codeCarlo Lobrano
In place of two slightly different regexes for 2g/3g and 2g/3g/4g modems we now use only one regex with conditional patterns for both supported and current Bands detection. Adding also minor fix in test code
2016-10-19broadband-modem-qmi: don't use PIN2 lock state if unknownAleksander Morgado
2016-10-13libmm-glib,call-properties: fix wrong enum returnedAleksander Morgado
https://bugs.freedesktop.org/show_bug.cgi?id=98220
2016-10-13build: disable GLib deprecation warnings until fully ported to GTaskAleksander Morgado
Otherwise the build log is very very dense... ../../src/mm-broadband-modem-qmi.c: In function 'modem_load_own_numbers': ../../src/mm-broadband-modem-qmi.c:1406:5: warning: 'g_simple_async_result_new' is deprecated (declared at /usr/include/glib-2.0/gio/gsimpleasyncresult.h:51): Use 'g_task_new' instead [-Wdeprecated-declarations] result = g_simple_async_result_new (G_OBJECT (self), ^ ../../src/mm-broadband-modem.c: In function 'signal_quality_qcdm_ready': ../../src/mm-broadband-modem-mbim.c: In function 'modem_3gpp_scan_networks_finish': ../../src/mm-broadband-modem.c:1986:9: warning: 'g_simple_async_result_take_error' is deprecated (declared at /usr/include/glib-2.0/gio/gsimpleasyncresult.h:116) [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, error); ^ ../../src/mm-broadband-modem-mbim.c:2824:5: warning: 'g_simple_async_result_propagate_error' is deprecated (declared at /usr/include/glib-2.0/gio/gsimpleasyncresult.h:119) [-Wdeprecated-declarations] if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error)) ^
2016-10-13ublox: fix VPATH builds and distcheckAleksander Morgado
https://bugs.freedesktop.org/show_bug.cgi?id=98216
2016-10-12ublox: add README explaining all details of the pluginAleksander Morgado
2016-10-12ublox: longer timeout needed for AT probingAleksander Morgado
When the device is reset, it needs some time before the newly exposed TTYs are able to reply to our AT commands. We increase the default timeout of the AT probing commands in order to cope with that, or we'll end up with TTYs of 'unknown' type that aren't used for anything.
2016-10-12modem-helpers: implement less strict APN comparisonAleksander Morgado
u-blox modems will append a string showing the MCC and MNC info to the access point name listed in AT+CGDCONT? responses. We will try to detect when that happens, and we just accept the match. The logic doesn't just look for a string prefix; it also looks for the special MCC + MNC suffix, which is much more restrictive, to try to avoid false positives.
2016-10-12broadband-bearer: more detailed logging of why a given CID is chosenAleksander Morgado
2016-10-12ublox: implement connection statistics loadingAleksander Morgado
The implementation uses +UGCNTRD=? to query whether the per-PDP context statistics are supported by the device, and if they are, +UGCNTRD is used to query them. We only process the statistics for the specific CID we're using.
2016-10-12ublox: new +UGCNTRD? response parserAleksander Morgado
The parser returns only the results for the CID being specified as input. This is so that we can just query the statistics of the CID currently in use by the bearer.
2016-10-12base-bearer: allow deactivating stats loading if device says unsupportedAleksander Morgado
2016-10-12ublox: implement current bands settingAleksander Morgado
Reuse the logic and context used to update current modes, as we need the same steps (check current power state, go into low power, config update, and recover previous power state).
2016-10-12ublox: new +UBANDSEL=X command builderAleksander Morgado
2016-10-12ublox: implement current bands loadingAleksander Morgado
2016-10-12ublox: new +UBANDSEL? response parserAleksander Morgado
2016-10-12ublox: implement supported bands loadingAleksander Morgado
2016-10-12iface-modem: always sort supported and current bands before exposing themAleksander Morgado
2016-10-12ublox: use +UAUTHREQ to setup PDP context authenticationAleksander Morgado
2016-10-12broadband-modem: implement the Signal interfaceAleksander Morgado
Provide a generic +CESQ based implementation for the extended Signal interface, applicable to all AT-based modems. We explicitly disable this check in MBIM modems.
2016-10-12modem-helpers: new helper to parse +CESQ response into MMSignal objectsAleksander Morgado
2016-10-12modem-helpers: new +CESQ response parserAleksander Morgado
2016-10-12api,signal: new RSCP itemAleksander Morgado
2016-10-12ublox: implement PIN retry count loadingAleksander Morgado
2016-10-12ublox: new +UPINCNT response parserAleksander Morgado
2016-10-123gpp: update registration state enumeration with CSFB related statesAleksander Morgado
Introduce "sms only" and "CSFB not preferred" home/roaming states to be reported for the CS context, while already registered on LTE. Based on 3GPP TS 27.007 v13.5.0.
2016-10-12ublox: use +CEREG if LTE supportedAleksander Morgado
2016-10-12ublox: implement current modes setting and modem power up/down/off/resetAleksander Morgado
Changing current allowed/preferred modes requires the device to be in low-power mode, so we will make sure we return an error if any power operation is already ongoing when a new one is requested.
2016-10-12ublox: new +URAT=X command builderAleksander Morgado
2016-10-12ublox: implement power state loadingAleksander Morgado
2016-10-12ublox: new u-blox specific +CFUN? response parserAleksander Morgado
2016-10-12linktop: new Linktop specific +CFUN? response parserAleksander Morgado
We handle all known CFUN? response values in the new parser, and report an error if an unknown value is found.
2016-10-12mbm: new MBM specific +CFUN? response parsersAleksander Morgado
2016-10-12modem-helpers: new +CFUN? response parserAleksander Morgado
2016-10-12ublox: implement current modes loadingAleksander Morgado
2016-10-12ublox: new +URAT? response parserAleksander Morgado
2016-10-12ublox: implement supported modes loadingAleksander Morgado
AT+URAT=? provides the format expected, but looks like it isn't implemented differently for the different u-blox devices seen, so we need an additional level of filtering which currently is applied per device model string.
2016-10-12ublox: new +URAT=? response parserAleksander Morgado
2016-10-12modem-helpers: new uint list parser, including interval supportAleksander Morgado
2016-10-12broadband-modem: implement default connection monitoring logicAleksander Morgado
A default implementation to monitor the ongoing connection is provided in the generic MMBroadbandModem, based on AT+CGACT? to check whether the PDP context of the connection (identified by the cached cid) is active or not. This commit also disables the connection monitoring logic in those plugins that have custom connection methods.
2016-10-12modem-helpers: new CGACT? response parserAleksander Morgado
2016-10-12novatel: subclass the connection monitoring logicAleksander Morgado
Instead of setting up a custom timeout source to poll the connection status, use the generic logic in the base bearer object, and just re-implement the command used to check the status.