summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* sms: move all non-AT logic to the parent base SMS objectaleksander/reorder-sourcesAleksander Morgado2016-02-158-10/+810
|
* build: don't include libmm-glib as part of libhelpersAleksander Morgado2016-02-154-6/+12
|
* at: moved AT implementation to its own subdirectoryAleksander Morgado2016-02-1514-7/+54
|
* sim: move all non-AT logic to the parent base SIM objectAleksander Morgado2016-02-1520-683/+825
|
* broadband-modem: move all non-AT logic to the parent base modem objectAleksander Morgado2016-02-1530-2185/+2111
|
* modem: moved 'Modem' interface details to its own subdirectoryAleksander Morgado2016-02-1518-2/+49
|
* 3gpp: moved '3GPP' interface details to its own subdirectoryAleksander Morgado2016-02-1511-4/+43
|
* cdma: moved 'CDMA' interface details to its own subdirectoryAleksander Morgado2016-02-158-2/+39
|
* simple: moved 'Simple' interface details to its own subdirectoryAleksander Morgado2016-02-155-3/+37
|
* messaging: moved 'Messaging' interface details to its own subdirectoryAleksander Morgado2016-02-1513-18/+55
|
* location: moved 'Location' interface details to its own subdirectoryAleksander Morgado2016-02-047-2/+38
|
* signal: moved 'Signal' interface details to its own subdirectoryAleksander Morgado2016-02-046-2/+37
|
* firmware: moved 'Firmware' interface details to its own subdirectoryAleksander Morgado2016-02-046-10/+45
|
* time: moved 'Time' interface details to its own subdirectoryAleksander Morgado2016-02-046-2/+37
|
* oma: moved 'OMA' interface details to its own subdirectoryAleksander Morgado2016-02-046-2/+37
|
* voice: moved 'Voice' interface details to its own subdirectoryAleksander Morgado2016-02-0410-6/+41
|
* mbim: moved MBIM implementation to its own subdirectoryAleksander Morgado2016-02-0412-19/+53
|
* qmi: moved QMI implementation to its own subdirectoryAleksander Morgado2016-02-0412-16/+54
|
* helpers: moved to its own subdirectoryAleksander Morgado2016-02-0424-60/+82
|
* libport: moved to its own subdirectoryAleksander Morgado2016-02-0423-72/+99
|
* build: ignore telit unit testAleksander Morgado2016-02-041-0/+1
|
* plugin: telit: add current mode loadingDaniele Palmas2016-02-041-0/+82
| | | | This patch adds current mode loading in Telit plugin
* plugin: telit: add supported modes loadingDaniele Palmas2016-02-041-0/+104
| | | | This patch add supported modes loading in Telit plugin.
* sim-qmi: port to GTaskAleksander Morgado2016-01-301-275/+176
|
* broadband-modem-qmi: plug memleak when listing SMS messagesAleksander Morgado2016-01-301-0/+1
|
* broadband-modem-qmi: locked states also indicate readiness of the SIM cardAleksander Morgado2016-01-301-2/+7
| | | | | When the card application is flagged as needing PIN or PUK, then the card can be considered as being ready.
* telit: minor coding style fixesAleksander Morgado2016-01-253-27/+30
|
* telit: add load_supported_bands interfaceCarlo Lobrano2016-01-254-4/+671
|
* telit: add udev rule for Telit LE910 V2 modemCarlo Lobrano2016-01-251-0/+3
|
* broadband-modem-qmi: use "UIM Get Card Status" if "DMS UIM" command unavailableAleksander Morgado2016-01-241-62/+390
| | | | | The newer modules like the MC7455 which support multiple SIM cards won't implement the legacy "DMS UIM" commands.
* bearer-qmi: use static IP if LLP is raw-ipAleksander Morgado2016-01-243-5/+31
| | | | | When using raw-ip we'll default to request static IP setup for now, so that we don't rely on the DHCP client supporting raw-ip interfaces.
* port-qmi: support new Qualcomm chipsets working always in raw-ipAleksander Morgado2016-01-242-58/+295
| | | | | | | | | | | | | | | | The port opening logic is changed completely. Before this change, the logic would only try 802.3 setting via CTL when the QmiDevice was being open. With this new change, instead, we'll use WDA and the new libqmi APIs to query the link layer protocol expected by both the device and the kernel. If the LLP matches in both, we assume we're done; if they differ we'll try to update the LLP expected by the kernel to the one setup in WDA. This change will allow us to run with the modem using raw-ip if that is what WDA reports by default. Also bumped the libqmi version to 1.13.6, which has support for the new required APIs.
* build: require GLib 2.36Aleksander Morgado2016-01-242-16/+7
| | | | We now need it for GTask support.
* port-serial: rework response parsingAleksander Morgado2016-01-235-148/+194
| | | | | | | | | | | | | | | | | | Response parsing was being done in different places for AT and QCDM subclasses; in the case of AT it was being done early, before returning the byte array in the mm_serial_port_command_finish() response. In the case of QCDM, it was being done after mm_serial_port_command_finish(), and that was forcing every caller to cleanup the response buffer once the response was processed. With the new logic in this patch, the response is always parsed (i.e. looked for a valid response or an error detected) before mm_serial_port_command_finish() returns, and actually this method now returns a totally different GByteArray, not the internal response buffer GByteArray, so there's no longer any need for the caller to explicitly clean it up. The one doing the cleanup is the parser method itself in every case. This change also allows us to return serial port responses in idle, but that's not changed for now as there's no immediate need.
* port-serial: remove response buffer when an error is returnedAleksander Morgado2016-01-231-4/+16
| | | | | | | | | | | | | | | | | | | | | When valid responses were returned to the caller of the serial command, the caller itself was responsible for removing from the GByteArray the data that it was successfully processed (all the data in AT, just 1 message in QCDM). But, the same logic was missing for the case of errors; we were not explicitly removing the response and therefore in some cases we would see it propagated into the next command response. It was common to see this issue when the echo removal was disabled in the serial port, as in Option/HSO modems: <debug> (ttyHS3): --> 'AT+CNUM<CR>' <debug> (ttyHS3): <-- '<CR><LF>+CME ERROR: 14<CR><LF>' <debug> Got failure code 14: SIM busy <debug> (ttyHS3) device open count is 1 (close) <warn> couldn't load list of Own Numbers: 'Failed to parse NV MDN command result: -17' <debug> (ttyHS3) device open count is 2 (open) <debug> (ttyHS3): --> 'AT_OPSYS?<CR>' <debug> (ttyHS3): <-- '<CR><LF>_OPSYS: 1,2<CR><LF><CR><LF>OK<CR><LF>' <warn> couldn't load current allowed/preferred modes: 'Couldn't parse OPSYS response: '+CME ERROR: 14 _OPSYS: 1,2''
* libmm-glib: make C++ happy by not using 'class'Dan Williams2016-01-202-5/+5
|
* bearer-qmi: print IP details at 'info' log levelDan Williams2016-01-191-21/+21
|
* broadband-modem: plug memleaks when processing QCDM responsesAleksander Morgado2016-01-171-0/+2
|
* broadband-modem,time: make sure that error is set when operation failsAleksander Morgado2016-01-161-5/+9
|
* tests,generic: rename basic DBus testAleksander Morgado2016-01-161-3/+3
|
* tests,port-context: explicitly close the socket that is added to the listenerAleksander Morgado2016-01-161-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Since GLib 2.42, the sockets that are added to socket listeners may no longer be closed automatically when the listener is finalized. In order to avoid that, we will keep our own socket reference and close/unref it ourselves. This issue was preventing adding new test cases with the same port names. $ ./test-service-generic --verbose GTest: random seed: R02S889153ee0f2e59c570f4edff9caa4176 GTest: run: /MM/Service/Generic/enable-disable Activating service name='org.freedesktop.ModemManager1' Successfully activated service 'org.freedesktop.ModemManager1' (MSG: DEBUG: client connection closed) (MSG: MESSAGE: Found modem at '/org/freedesktop/ModemManager1/Modem/0') ** Message: Found modem at '/org/freedesktop/ModemManager1/Modem/0' (MSG: DEBUG: client connection closed) GTest: result: OK GTest: run: /MM/Service/Generic/cme-error-detected Activating service name='org.freedesktop.ModemManager1' Successfully activated service 'org.freedesktop.ModemManager1' (MSG: FATAL-ERROR: Cannot bind socket: Error binding to address: Address already in use) ** (/home/aleksander/Development/foss/ModemManager/plugins/.libs/lt-test-service-generic:32043): ERROR **: Cannot bind socket: Error binding to address: Address already in use
* tests,test-fixture: don't rely on other threads to update dbus propertiesAleksander Morgado2016-01-161-66/+43
| | | | | | | | | | | | We were wrongly using a main loop in the port context thread to manage the global main context. That was silently making the DBus property notifications kind of work, as they were being updated via another thread, so here we could just sleep() and recheck the property values. Given that having that unrelated thread updating the dbus properties of our MMManager object is not a good thing, we'll instead totally ignore that and fully re-create the MMManager in each iteration with the sync() method, which has its own internal thread.
* tests,port-context: properly setup per-thread main contextAleksander Morgado2016-01-161-4/+25
| | | | | | Instead of creating a new main context to be used in the thread, we were using the global context. So, fix that, and create a totally new pair of main context and main loop to be used within the thread.
* libqcdm: fix mixed whitespace in test-qcdm.cDan Williams2016-01-131-8/+8
|
* broadband-modem,voice: fix regex leakAleksander Morgado2016-01-121-0/+1
|
* mbm: query supported modes to the modem with +CFUN=?Aleksander Morgado2016-01-106-116/+281
| | | | | | | | | | | | | | | | | | | | | | | | | We were trying to load the generic modes supported reported by either *CNTI=2 or AT+WS46=?, so that then we could filter out the MBM-specific modes unsupported. But, this may not be ideal, as both these two commands may fail: [mm-broadband-modem.c:1612] modem_load_supported_modes(): loading supported modes... [mm-port-serial.c:1237] mm_port_serial_open(): (ttyACM1) device open count is 3 (open) [mm-port-serial.c:1294] _close_internal(): (ttyACM1) device open count is 2 (close) [mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'AT*CNTI=2<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- '<CR><LF>ERROR<CR><LF>' [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure code 100: Unknown error [mm-broadband-modem.c:1546] supported_modes_cnti_ready(): Generic query of supported 3GPP networks with *CNTI failed: 'Unknown error' [mm-port-serial.c:1237] mm_port_serial_open(): (ttyACM1) device open count is 3 (open) [mm-port-serial.c:1294] _close_internal(): (ttyACM1) device open count is 2 (close) [mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'AT+WS46=?<CR>' [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- '<CR><LF>ERROR<CR><LF>' [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure code 100: Unknown error [mm-broadband-modem.c:1494] supported_modes_ws46_test_ready(): Generic query of supported 3GPP networks with WS46=? failed: 'Unknown error' [mm-iface-modem.c:3974] load_supported_modes_ready(): couldn't load Supported Modes: 'Couldn't retrieve supported modes' Instead, we'll ask the modem for the list of modes supported, and return that directly.
* cli: validate SUPL server before showing itAleksander Morgado2015-12-191-2/+6
|
* cli: allow enabling/disabling location signaling via DBusAleksander Morgado2015-12-191-5/+36
| | | | | | | Not making them '--location-enable|disable-signal' because that's the pattern used to enable/disable location sources. Instead, use the '--location-set-*' pattern, as that is what we're already using for the other location setup update.
* location: support updating the GPS refresh timeAleksander Morgado2015-12-196-7/+339
| | | | | | | | | | | | | | | | | | | | The default setup uses a refresh time of 30s, which means that even if the GPS location updates are received at a higher frequency, the DBus interface will still expose at most one update every 30s. This patch includes a new "SetGpsRefreshTime()" method in the Location interface, which takes a single 'u' parameter, specifying the refresh rate to use, in seconds. This method also allows 0 being passed, which will make the implementation to publish the GPS location updates are soon as ModemManager detects them. Along with the new method, a "GpsRefreshTime" read-only property is exposed to specify the refresh time in effect. The new method and property will only be applicable if the device has GPS capabilities. https://bugs.freedesktop.org/show_bug.cgi?id=89924
* build: don't redefine test_modem_helpers_telit_LDADDAleksander Morgado2015-12-191-1/+0
|