summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* core: implemented MMIfaceModemVoice interfaceRiccardo Vangelisti2015-05-232-0/+1086
|
* core: implemented new MMBaseCall objectRiccardo Vangelisti2015-05-234-0/+1518
|
* build: request to generate the enum types support files before buildingAleksander Morgado2015-05-041-4/+4
| | | | | | Instead of providing explicit dependency rules to generate the enum types support files before they're first used, just pre-generate them before building anything. Maintaining the explicit dependency rules is not really worth it.
* blacklist: ignore all devices from Access Interface SolutionsAleksander Morgado2015-04-101-0/+4
|
* base-manager: quiet message about unsupported portsDan Williams2015-03-311-1/+1
| | | | | | | | | This message gets printed for all netdevs and ttys, including most machines normal ethernet/Wi-Fi interfaces. It seems a bit less critical than 'warning' level would indicate. ModemManager[32097]: <warn> Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:19.0': not supported by any plugin ModemManager[32097]: <warn> Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0': not supported by any plugin
* broadband-modem: default implementation of the network time interfaceJason Simmons2015-03-234-0/+253
| | | | | Add a default implementation that queries the real-time clock using the AT+CCLK? command. Also set AT+CTZU=1 in case a modem requires it.
* Adding IMC flashing device in blacklistDaniele Palmas2015-03-061-0/+3
|
* iface-modem: don't artificially forbid power updates when in OFF stateAleksander Morgado2015-03-021-16/+0
| | | | | | | | | If for any reason the modem is in OFF state and still can talk to the modem, allow running the remaining transition requests to LOW or ON. This can happen for example for modems that use CFUN:0, i.e. which can still go online with CFUN=1. https://bugs.freedesktop.org/show_bug.cgi?id=89368
* greylist: add Cypress USB<->RS232 adaptersAleksander Morgado2015-02-271-0/+10
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=89362
* bearer,qmi: also print IPv6 gateway prefixAleksander Morgado2015-02-261-1/+1
|
* bearer-qmi: avoid unref-ing arrays owned by the output bundlesAleksander Morgado2015-02-261-4/+0
| | | | | When we get an array from a libqmi output or input bundle, the array is always owned by the bundle (i.e. transfer-none).
* iface-modem-3gpp: used DENIED registration state if others are UNKNOWNDan Williams2015-02-231-4/+14
| | | | | If all other registration states are UNKNOWN, use a registration state of DENIED as the global modem state.
* plugin: add implicit QMI and MBIM forbidden drivers checkAleksander Morgado2015-02-181-2/+43
|
* plugin-manager: make sure there is some wait time before probing the first portAleksander Morgado2015-02-161-27/+68
| | | | | | | | We really do need a wait time to make sure most ports are exposed by the kernel, so that plugin filters based on "forbidden-drivers" work correctly. E.g. the "gobi" plugin now flags as forbidden the "qmi_wwan" driver, which means that modems exposing both TTYs and QMI/WWAN ports should never be handled by the Gobi plugin.
* plugin: allow having both 'drivers' and 'forbidden drivers' filtersAleksander Morgado2015-02-161-1/+2
|
* plugin: let vendor/product filter be complementaryAleksander Morgado2015-02-161-0/+8
| | | | | So that a plugin can specify a full VID and a specific PID subset of another VID as supported.
* ports: move serial parsers to the internal libportsAleksander Morgado2015-02-111-3/+3
|
* broadband-modem-qmi: don't try FCC auth if the first Set Operating Mode succeedsAleksander Morgado2015-02-101-2/+2
|
* broadband-modem-qmi: use 'DMS Set FCC Authentication' if online mode failsAleksander Morgado2015-02-071-43/+142
| | | | | | | | | | | Some new devices, like the Dell DW5770, will return an internal error when trying to bring the power mode to online. We can avoid this by sending the magic "DMS Set FCC Auth" message before retrying. Bumping libqmi version to 1.13.4, which is the one that supports this new message. https://bugzilla.kernel.org/show_bug.cgi?id=92101
* suspend: invalidate and remove modems on suspend, reprobe on resumeAleksander Morgado2015-02-073-8/+62
|
* suspend: port upower backend to GDBusAleksander Morgado2015-02-071-28/+41
|
* suspend: imported suspend/resume support from NetworkManagerAleksander Morgado2015-02-074-0/+437
| | | | | We're going to make this optional during build, not mandatory as was the case in NM.
* utils: imported singleton setup from NetworkManagerAleksander Morgado2015-02-072-0/+84
|
* helpers: avoid segfault when empty pdp type string is givenAleksander Morgado2015-01-291-0/+2
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=1183250
* plugin: avoid segfault when port driver is unknownAleksander Morgado2015-01-292-6/+5
| | | | | | | Based on a patch from Bastiaan Jacques <bastiaan@bjacques.org> https://bugzilla.redhat.com/show_bug.cgi?id=1177799 https://bugs.freedesktop.org/show_bug.cgi?id=88864
* blacklist: ignore PalmOS devices driven by 'visor'Dan Williams2015-01-261-0/+7
| | | | | | | | | MM probing appears to make 'visor' module die; and anyway most of the devices driven by 'visor' are not phones, and of the 3 that are phones they are so old (2002 - 2005 era) that nobody is likely using them for dialup anymore. http://www.spinics.net/lists/linux-usb/msg120483.html
* bearer-qmi: even if we request DHCP in the bearer, expose available IPv4 configAleksander Morgado2015-01-241-37/+37
| | | | Same as we do in IPv6. Note that NM won't use it if DHCP is requested.
* core: perform clean-up when terminating due to a Unix signalJakub Sitnicki2015-01-111-1/+1
| | | | | | | | | Since commit 2d700043abc5 ("core: use g_unix_signal_add() for more reliable Unix signal handling") we no longer have to stick to signal-safe functions in the SIGTERM/SIGINT handler. Use exit() to terminate so that the clean-up functions are ran and code coverage data gets written into files.
* build: add code coverage supportJakub Sitnicki2015-01-112-0/+6
| | | | | | | | | | | | | | | | | | Build all targets, except for CLI tools (mmcli, uml290), with special flags needed for collecting code coverage information when the build has been configured with --enable-code-coverage. Three new targets are available in the top build directory: - `check-code-coverage' runs the test suite and generates a code coverage report, - `code-coverage-capture' generates a code coverage report from already collected data, which can come in handy when one wants to see code paths touched by a particular test, - `code-coverage-clean' removes the collected coverage data and the generated reports.
* broadband-modem-qmi: fix memleak when listing SMSAleksander Morgado2015-01-091-0/+2
| | | | | If we get multiple message lists, we need to make sure the previous one is cleared out before going to the next one.
* mbim: use the new response checker helper methodAleksander Morgado2014-12-304-30/+30
| | | | mbim_message_response_get_result() is available in libmbim-glib 1.11.1.
* port-qmi: always use QMI proxyAleksander Morgado2014-12-301-7/+1
| | | | We already require libqmi > 1.7.0 in the build.
* iface-modem-location: don't print location info to syslog with info levelAleksander Morgado2014-12-261-14/+14
| | | | | | Use debug level, which has to be explicitly requested by the user. https://bugs.freedesktop.org/show_bug.cgi?id=87498
* port-probe: retry icera probing up to 3 times, with some time in between cmdsAleksander Morgado2014-12-031-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Icera-based modems need to return a correct response to the AT%IPSYS? command, so that they are properly detected as being Icera-based. Now, some modems, like the Nokia 21M-02, don't seem to return a correct response to AT%IPSYS just after being plugged in. So, setup a retry mechanism (3 retries, with 2 seconds between retries) to try to cope with this issue. https://bugs.freedesktop.org/show_bug.cgi?id=85012 Logs from the error situation: [mm-port-serial-at.c:440] debug_log(): (ttyACM0): --> 'ATE1 E0<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM2): --> 'ATE1 E0<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'ATE1 E0<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- 'E0' [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- '<CR><CR><LF>ERROR<CR><LF>' [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure code 100: Unknown error [mm-port-probe-at.c:43] mm_port_probe_response_processor_is_at(): Parsing AT got: 'Unknown error' [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM0) port is AT-capable [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <-- 'ATE1 E0' [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- ' E0' [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <-- '<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- '<CR><CR><LF>ERROR<CR><LF>' [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure code 100: Unknown error [mm-port-probe-at.c:43] mm_port_probe_response_processor_is_at(): Parsing AT got: 'Unknown error' [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM1) port is AT-capable [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <-- '<CR><LF>OK<CR><LF>' [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM2) port is AT-capable [mm-port-serial-at.c:440] debug_log(): (ttyACM0): --> 'AT%IPSYS?<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'AT%IPSYS?<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM2): --> 'AT%IPSYS?<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- 'AT%IPSYS?' [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- '<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- 'AT%IPSYS?' [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- '<CR><CR><LF>ERROR<CR><LF>'
* bearer: PDP context APN scan should be case insensitiveTyler2014-11-141-1/+1
|
* qmi: retrieve MM_MODEM_3GPP_FACILITY_SIMTorsten Hilbrich2014-11-123-5/+90
| | | | | | | | | | | | This facility cannot be retrieved via 'DMS UIM Get CK Status' and seems currently unimplemented for mm-broadband-modem-qmi. The SIM enabled status is however available via 'DMS UIM Get PIN Status'. Using this message to add the retrieval of PIN status just after the other facilities were queried. Succesfully tested with Gobi2000 (05c6:9205), both retrieval of 3gpp SIM lock status and enabling/disabling the PIN.
* udev: Don't mark disconnected RFCOMM ttys as candidatesLubomir Rintel2014-11-011-0/+4
| | | | | | | | | | | | | | Bluetooth serial devices are weird. They begin life being bound with RFCOMMCREATEDEV ioctl() and then move around the sysfs tree when they are connected and disconnected. The connection is estabilished upon the first open() and torn down upon last close(), their first user virtually being "owner" of the connection. We don't want to be that process, we're only interested in actually connected modems. However, currently we have no knowledge of that and therefore we connect and disconnect multiple times while probing. This patch marks unconnected RFCOMM devices as uninteresting to us. The actual connection and disconnection will be handled by NetworkManager.
* manager: Remove devices which are deemed unfit during addition attemptLubomir Rintel2014-11-011-56/+62
| | | | | device_added() might be called in response to a "change" or "move" attempt that might have changed a candidate device to a non-candidate one.
* device: Keep track of devices as they are move across sysfsLubomir Rintel2014-11-011-0/+10
| | | | | | | For certain devices the name changes with their status. Notably, RFCOMM devices move from /devices/virtual/ to underneath the HCI that is used for the connection as the session is estabilished, and return back when it's torn down.
* modem-helpers: fix IP4 -> IPV4Aleksander Morgado2014-10-301-1/+1
| | | | | | Stupid me, introduced a bug when manually writing the previous patch. :/
* modem-helpers: handle "IPV4" pdp type responseOskar Enoksson2014-10-291-0/+2
| | | | | | My modem (Samsung GI B3740) responded "IPV4" to "CGDCONT=?". This was not handled in mm-modem-helpers.c. The obvious fix was to return MM_BEARER_IP_FAMILY_IPV4.
* mm-broadband-modem-qmi: avoid using NULL pointer coming from an empty GArrayAleksander Morgado2014-10-291-1/+2
|
* bearer-mbim: Implement report_connection_status() to set the port as ↵Greg Suarez2014-10-291-2/+25
| | | | | | | | | | disconnected When the MBIM modem unexpectedly loses connection the port state never gets set as disconnected thus when trying to reestablish a new connection the bearer cannot find a port in the disconnected state. Signed-off-by: Greg Suarez <gpsuarez2512@gmail.com>
* blacklist: ignore GW Instek AFG-2225 arbitrary waveform generatorDan Williams2014-10-281-0/+3
|
* qcdm: don't retry probing if QCDM unescaping failsAleksander Morgado2014-10-153-6/+10
| | | | | | But keep the retries when the frame marker isn't found. https://bugzilla.gnome.org/show_bug.cgi?id=708861
* port-serial: fix forced closing after b28230411Dan Williams2014-10-071-20/+23
| | | | | | | | | b28230411 moved up the self->priv->forced_close = TRUE, which caused mm_port_serial_close() to just return without actually closing the port and cleaning up. Also, cancel the reopen separately from closing the port since the two operations are actually independent of each other.
* broadband-modem-qmi: fix registration state when built with ↵David McCullough2014-09-111-3/+5
| | | | | | | | | | | --with-newest-qmi-commands This patch fixes the registration reporting/checking when ModemManager is built with --with-newest-qmi-commands. apply_cs and apply_ps were not properly initialised and may never be true. Also fixes a CnP error for mm_ps_registration_state. Signed-off-by: David McCullough <david.mccullough@accelecon.com>
* broadband-modem-qmi: fix signal strength when built with ↵David McCullough2014-09-111-13/+13
| | | | | | | | | | | | | --with-newest-qmi-commands This patch fixes the signal strength values when using ModemManager built with --with-newest-qmi-commands. It was never getting a valid signal strength because the default (0) is always greater than a valid signal strength, and the rssi_max handling was completely wrong. Signed-off-by: David McCullough <david.mccullough@accelecon.com>
* broadband-modem-qmi: implement A-GPS enabling/disablingAleksander Morgado2014-09-051-61/+310
|
* broadband-modem-qmi: implement SUPL server settingAleksander Morgado2014-09-051-0/+139
|