aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-01-15haier: new Haier plugin to handle port type hints in the CE81BAleksander Morgado
https://bugzilla.gnome.org/show_bug.cgi?id=685011 https://bugs.freedesktop.org/show_bug.cgi?id=85001
2015-01-11core: perform clean-up when terminating due to a Unix signalJakub Sitnicki
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.
2015-01-11build: add code coverage supportJakub Sitnicki
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.
2015-01-11build: include ax_code_coverage.m4 serial 5Jakub Sitnicki
So that we don't require a fairly recent version of autoconf-archive (v2014.10.15 or newer) to build.
2015-01-11build: remove incomplete support for code coverageJakub Sitnicki
Looks like make targets for generating code coverage reports with LCOV were copied from GLib but corresponding changes to configure.ac were not made. Clean it up.
2015-01-09port-probe: Increase AT probe command timeout to 7 seconds for altair.Roshan Pius
This patch increases the response timeout for the probe AT commands for altair modems. We've been noticing some altair modems taking upto 6 seconds to respond to the initial probe command after a reset which results in modem-manager timing out and sending a second probe command. The modem sends a response after about 6 seconds for the initial probe command which modem-manager treats as response to second probe command and this results in the modem-manager and modem going out of sync because the modem's second probe response is treated as response to the next initialization AT command sent by modem-manager and so on. Change-Id: Iad8b0786327b153fd95c8ee4516f352325a42cf7
2015-01-09broadband-modem-qmi: fix memleak when listing SMSAleksander Morgado
If we get multiple message lists, we need to make sure the previous one is cleared out before going to the next one.
2014-12-30mbim: use the new response checker helper methodAleksander Morgado
mbim_message_response_get_result() is available in libmbim-glib 1.11.1.
2014-12-30port-qmi: always use QMI proxyAleksander Morgado
We already require libqmi > 1.7.0 in the build.
2014-12-26iface-modem-location: don't print location info to syslog with info levelAleksander Morgado
Use debug level, which has to be explicitly requested by the user. https://bugs.freedesktop.org/show_bug.cgi?id=87498
2014-12-03port-probe: retry icera probing up to 3 times, with some time in between cmdsAleksander Morgado
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>'
2014-12-03icera: IPv6 '::' is a placeholder for 'no IPv6', so don't error out if foundAleksander Morgado
Also, allow IPDPADDR returns where only DNS IPv6 is given (i.e. no IPv6 address to set), and in that case default to DHCP method in the bearer. https://bugs.freedesktop.org/show_bug.cgi?id=85012
2014-12-03huawei: expect 'modem' and 'pcui' in ^GETPORTMODE responsesAleksander Morgado
Newer huawei modems, like the E3372, use the following ^GETPORTMODE response format: ^GETPORTMODE: TYPE: WCDMA: ,pcui:1,modem:2,ncm:3,mass:4,mass_two:5, This patch updates the parser that looks for the control TTY (pcui) and data TTY (modem). https://bugs.freedesktop.org/show_bug.cgi?id=86658
2014-11-14bearer: PDP context APN scan should be case insensitiveTyler
2014-11-14tests,port-context: joining thread takes the reference alreadyAleksander Morgado
2014-11-12qmi: retrieve MM_MODEM_3GPP_FACILITY_SIMTorsten Hilbrich
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.
2014-11-01udev: Don't mark disconnected RFCOMM ttys as candidatesLubomir Rintel
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.
2014-11-01manager: Remove devices which are deemed unfit during addition attemptLubomir Rintel
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.
2014-11-01device: Keep track of devices as they are move across sysfsLubomir Rintel
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.
2014-10-30modem-helpers: fix IP4 -> IPV4Aleksander Morgado
Stupid me, introduced a bug when manually writing the previous patch. :/
2014-10-29modem-helpers: handle "IPV4" pdp type responseOskar Enoksson
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.
2014-10-29mm-broadband-modem-qmi: avoid using NULL pointer coming from an empty GArrayAleksander Morgado
2014-10-29bearer-mbim: Implement report_connection_status() to set the port as ↵Greg Suarez
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>
2014-10-28blacklist: ignore GW Instek AFG-2225 arbitrary waveform generatorDan Williams
2014-10-17tests,fixture: fix commentAleksander Morgado
2014-10-15qcdm: don't retry probing if QCDM unescaping failsAleksander Morgado
But keep the retries when the frame marker isn't found. https://bugzilla.gnome.org/show_bug.cgi?id=708861
2014-10-07port-serial: fix forced closing after b28230411Dan Williams
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.
2014-10-05tests: increase timeout for starting ModemManager on test busBen Chan
The timeout for starting ModemManager on the test bus was 3s, which is sufficient under normal conditions. However, when running ModemManager tests on a build infrastructure under a heavy load, we've observed that the timeout isn't always sufficient and that becomes the source of false test failures. This patch increases the timeout to 30s, which shouldn't introduce any unexpected behavior under normnal conditions while addressing the timeout issue on heavily loaded systems.
2014-09-15build: remove --with-newest-qmi-commands configure optionAleksander Morgado
We don't want people to use the logic enabled by this switch, so remove it from configure to avoid confusions. Developers can still enable the related code by defining WITH_NEWEST_QMI_COMMANDS via CFLAGS; e.g.: $ NOCONFIGURE=1 ./autogen.sh $ ./configure CFLAGS="-DWITH_NEWEST_QMI_COMMANDS"
2014-09-11broadband-modem-qmi: fix registration state when built with ↵David McCullough
--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>
2014-09-11broadband-modem-qmi: fix signal strength when built with ↵David McCullough
--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>
2014-09-05broadband-modem-qmi: implement A-GPS enabling/disablingAleksander Morgado
2014-09-05broadband-modem-qmi: implement SUPL server settingAleksander Morgado
2014-09-05broadband-modem-qmi: implement SUPL server loadingAleksander Morgado
2014-09-05broadband-modem-qmi: A-GPS available by defaultAleksander Morgado
Also bump libqmi requirement to 1.11.1, which is the one exposing the new A-GPS related commands.
2014-09-05iface-modem-location: load SUPL server setup when initializing interfaceAleksander Morgado
2014-09-05iface-modem-location: handle setting SUPL serverAleksander Morgado
2014-09-05cli,location: allow enabling/disabling A-GPSAleksander Morgado
2014-09-05cli,location: allow getting/setting SUPL server addressAleksander Morgado
2014-09-05libmm-glib,location: add helpers to get/set the SUPL server addressAleksander Morgado
2014-09-05introspection,api: add SUPL server configuration in the Location interfaceAleksander Morgado
2014-09-05docs,man: renew the ModemManager man page and add several missing commandsAleksander Morgado
2014-09-05core: add --version option to the ModemManager daemonAleksander Morgado
It was actually included in the man page of the daemon, but we didn't have it.
2014-09-05zte: blacklist QMI and net interface in the MF60Aleksander Morgado
The MF60 exposes a QMI+net pair, but they are unusable as the WDS service returns error when e.g. launching a connection. So, fallback to AT+PPP in this device.
2014-09-05plugin: allow to explicitly ignore any kind of port via udevAleksander Morgado
The new 'ID_MM_PORT_IGNORE' tag will tell ModemManager to fully avoid using a given port. Note that it is key to not only flag the port probe as ignored, but also to fully ignore the ports in e.g. mm_port_probe_list_has_qmi_port() as those methods will be used to decide which kind of modem object to create. We don't want to create a QMI-based modem which may have all QMI ports blacklisted.
2014-09-05plugin: if no QMI or no MBIM still grab the WWAN ports, flagged as ignoredAleksander Morgado
E.g. this would be the result when having ModemManager compiled without QMI support, and a modem with 2 QMI/WWAN pairs: $ mmcli -m 2 /org/freedesktop/ModemManager1/Modem/2 (device id '417e4dcff7f232b62cfe6c972e2099701848fd7f') ------------------------- Hardware | manufacturer: 'Sierra Wireless, Incorporated' | model: 'MC7304' | revision: 'SWI9X15C_05.05.02.00 r19147 carmd-fwbuild1 2013/11/15 13:54:28' | supported: 'gsm-umts' | current: 'gsm-umts' | equipment id: 'unknown' ------------------------- System | device: '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7' | drivers: 'qcserial, qmi_wwan' | plugin: 'Gobi' | primary port: 'ttyUSB8' | ports: 'ttyUSB8 (at), wwp0s29u1u7i8 (unknown), ttyUSB6 (qcdm), wwp0s29u1u7i10 (unknown)' The /dev/cdc-wdm ports don't even appear (as they were not even probed), but the newly ignored WWAN ports do appear in the list, but flagged as UNKNOWN type (instead of NET).
2014-09-05base-modem: always grab ports marked as ignoredAleksander Morgado
Modems may expose ports that are either just not used (e.g. modems exposing more than 2 functional AT ports) or explicitly avoided (e.g. WWAN ports when we don't know how to use them). Those kind of ports are part of the modem, but not used by ModemManager. Still, ModemManager should list them in the list of ports available for the modem, with IGNORED type.
2014-08-22port-mbim: use the mbim-proxy by defaultAleksander Morgado
2014-08-22build: post release version bump to 1.5.0 (development)Aleksander Morgado
2014-08-22release: bump version to 1.4.0Aleksander Morgado