aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-09-25cinterion: support QMI-based Cinterion PLXX and PHXX modulesAleksander Morgado
E.g. with a Cinterion PLS8 LTE modem: $ sudo mmcli -m 0 /org/freedesktop/ModemManager1/Modem/0 (device id '0042872f6597b3d772a3d9d3cd6f14f152af8a0b') ------------------------- Hardware | manufacturer: 'QUALCOMM INCORPORATED' | model: '0' | revision: 'M9615A-CETWMAZM-2.0.19015 1 [Jan 31 2013 00:00:00]' | supported: 'gsm-umts | lte | gsm-umts, lte' | current: 'gsm-umts, lte' | equipment id: 'unknown' ------------------------- System | device: '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7' | drivers: 'option1, qmi_wwan' | plugin: 'Cinterion' | primary port: 'cdc-wdm0' | ports: 'ttyUSB2 (at), cdc-wdm0 (qmi), wwp0s29u1u7i4 (net)' ------------------------- Numbers | own : 'unknown' ------------------------- Status | lock: 'sim-pin' | unlock retries: 'sim-pin (3), sim-pin2 (2), sim-puk (10), sim-puk2 (10)' | state: 'locked' | power state: 'on' | access tech: 'unknown' | signal quality: '0' (cached) ------------------------- Modes | supported: 'allowed: 2g, 3g, 4g; preferred: none' | current: 'allowed: 2g, 3g, 4g; preferred: none' ------------------------- Bands | supported: 'cdma-bc15-aws, dcs, egsm, u2100, u1800, u900, eutran-i, eutran-iii, eutran-vii, eutran-viii, eutran-xx' | current: 'cdma-bc15-aws, dcs, egsm, u2100, u1800, u900, eutran-i, eutran-iii, eutran-vii, eutran-viii, eutran-xx' ------------------------- IP | supported: 'ipv4, ipv6, ipv4v6' ------------------------- SIM | path: '/org/freedesktop/ModemManager1/SIM/0'
2013-09-24blacklist: add Bluegiga BLE112BAleksander Morgado
https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1229748
2013-09-24blacklist: add some missing commasAleksander Morgado
2013-09-23blacklist: Add Adafruit FloraArun Raghavan
The official PID is 8004, but I've seen the device sometimes turn up with a 0004, so adding both to be safe. https://bugzilla.gnome.org/show_bug.cgi?id=708644
2013-09-23huawei: delay processing of network-initiated disconnectionAleksander Morgado
Originally developed by: Prathmesh Prabhu <pprabhu@chromium.org> Ben Chan <benchan@chromium.org> Huawei MU736 prematurely fires a ^NDISSTAT unsolicited message upon a network-initiated disconnection. The modem can go into a bad state if a reconnect attempt happens before the disconnection completes. This patch works around the issue by delaying the reporting of the disconnection.
2013-09-23bearer: consolidate unsolicited connection status reportsAleksander Morgado
Originally developed by: Ben Chan <benchan@chromium.org> This patch replaces mm_bearer_report_disconnection() with a more generic mm_bearer_report_connection_status(), which allows reporting any connection status of a bearer. This further allows getting rid of those custom report_connection_status functions in plugic specific bearer subclasses. Note that while plugin-specific implementations can receive multiple 'MMBearerConnectionStatus' values, the generic implementation is only allowed to receive DISCONNECTED. Plugins need to make sure that they process all the other status values, and only report DISCONNECTED to the parent when required. MBM: The MBM bearer implementation of report_connection_status() expects either CONNECTED or DISCONNECTED. If any of these is received and there is an ongoing connection attempt, the corresponding operation will be completed. If there is no connection attempt, we will just handle the DISCONNECTED state, calling the parent method to notify that the modem got network-disconnected. Icera: The Icera bearer implementation of report_connection_status() expects either CONNECTED, CONNECT FAILED or DISCONNECTED. If any of these is received and there is an ongoing connection or disconnection attempt, the corresponding operation will be completed. If there is no connection or disconnection attempt, we will just handle the CONNECT FAILED and DISCONNECTED states, calling the parent method (always with DISCONNECTED) to notify that the modem got network-disconnected. Option/HSO: The Option/HSO bearer implementation of report_connection_status() expects either CONNECTED, CONNECTION FAILED or DISCONNECTED. If any of these is received and there is an ongoing connection or disconnection attempt, the corresponding operation will be completed. If there is no connection or disconnection attempt, we will just handle the CONNECTION FAILED and DISCONNECTED states, calling the parent method (always with DISCONNECTED) to notify that the modem got network-disconnected. Huawei: The Huawei bearer implementation of report_connection_status() expects either CONNECTED or DISCONNECTED. These messages are not used to process pending connection or disconnection attempts; so if they are received while one of these is on-going, it will just be ignored. CONNECTED reports are also ignored, so we will just handle the DISCONNECTED state, calling the parent method to notify that the modem got network-disconnected. Altair-LTE: The Altair-LTE bearers will only report DISCONNECTED on network-disconnected cases. There is no custom report_connection_status(). Novatel-LTE: The Novatel-LTE bearers will only report DISCONNECTED on network-disconnected cases. There is no custom report_connection_status().
2013-09-19broadband-modem-qmi: make 'internal' errors on pin check retriableAleksander Morgado
When we get an internal error while checking the lock status, tell the upper layers that we can retry the check. It's been observed that this internal error may be issued not only when e.g. there is no SIM, but also when the SIM is not yet fully ready.
2013-09-19iface-modem: consolidate new unlock required check with retriesAleksander Morgado
The new internal_load_unlock_required() method will take care of running the subclassed load_unlock_required(), if available, and also retry the check up to 6 times. This method will be used both by the standard unlock required check and by the check within the current capabilities loading for multimode devices.
2013-09-19plugins: fix linkage of huawei test programLionel Landwerlin
https://bugzilla.gnome.org/show_bug.cgi?id=704481
2013-09-19plugins: add missing linker flagsLionel Landwerlin
https://bugzilla.gnome.org/show_bug.cgi?id=704481
2013-09-18huawei: handle disconnection via ^NDISSTAT unsolicited messageBen Chan
This patch changes MMBroadbandModemHuawei to use ^NDISSTAT unsolicited messages to handle network-initiated disconnection. As a ^NDISSTAT unsolicited message is similar to a ^NDISSTATQRY response, the patch extends the ^NDISSTATQRY parser code to handle both ^NDISSTAT and ^NDISSTATQRY responses.
2013-09-18iface-modem: fix MODEM_STATE_IS_INTERMEDIATE macroBen Chan
2013-09-17altair-lte: use mm_base_modem_at_command_full{,_finish} correctlyBen Chan
This patch fixes own_enable_unsolicited_events_ready() to use mm_base_modem_at_command_full_finish(), instead of mm_base_modem_at_sequence_full_finish(), as the %STATCM=1 command is issued via mm_base_modem_at_command_full().
2013-09-17huawei: ignore ^CONNECT unsolicited messagesBen Chan
2013-09-16mtk: update udev rules to always match both VID/PID togetherDan Williams
See commit c79d266e627242b22a5e146ab157e34135e7a36a. If the rules to tag specific USB interface numbers only apply on the PID, we'll end up seeing that if the port has a parent with another PID, and that other PID also has a rule, port will get tagged multiple times.
2013-09-16mtk: add D-Link DWM-156 udev rulesDan Williams
For HW version A5 and possibly later, which are based on MediaTek chipsets instead of Qualcomm ones.
2013-09-16mtk: add plugin for various MediaTek devicesQuentin.Li
Signed-off-by: Quentin.Li <snowmanli88@gmail.com>
2013-09-16iface-modem: free GError when interface initialization is cancelledBen Chan
This patch fixes an assertion failure 'ctx->fatal_error == NULL' in initialization_context_complete_and_free(), which happens if 'fatal_error' of the initialization context is set during the modem interface initialization and the initialization is later cancelled.
2013-09-13broadband-modem: use InProgress instead of WrongState when appropriateBen Chan
This patch changes MMBroadbandModem to report an org.freedesktop.ModemManager1.Error.Core.InProgress error, instead of an org.freedesktop.ModemManager1.Error.Core.WrongState error, when one tries to initialize a modem that is already being initialized, or to enable a modem that is already being enabled.
2013-09-11mbm: add another H5321gw IDBjørn Mork
This device ID is used in a Lenovo Thinkpad T430. Link: http://bugs.debian.org/705942 Reported-by: Etienne Bagnoud <etienne.bagnoud@irovision.ch> Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-09-11broadband-modem: only used CIND? for signal quality if actually reportedAleksander Morgado
The Huawei MU736 supports CIND? but not for signal quality reporting: AT+CIND=? +CIND : ("call",(0,1)), ("message",(0,1)), ("roam",(0,1)) OK AT+CIND? +CIND:0,0,0 OK Which ended up with the following during execution: ModemManager[3044]: (ttyUSB1) Could not parse CIND signal quality results; signal index (255) outside received range (0-3) Just avoid this, and make CIND? be used for signal quality retrieval only if (1) CIND? is actually supported and (2) CIND? reports signal quality information.
2013-09-11error-helpers: don't warn when unknown errors are foundAleksander Morgado
Just add the messages with debug level, so that they don't get reported at syslog. Having this kind of warnings in syslog is not useful, specially because we wouldn't know which was the specific command that issued the warning. Errors due to critical issues will anyway be reported in syslog in some way or another.
2013-09-10qmi-port: use the new qmi-proxy if availableAleksander Morgado
2013-09-10libmm-glib: don't include internal header from public headerColin Walters
This broke gnome-control-center in gnome-ostree. It should be included in the C file where stuff from the private header is actually used.
2013-09-10sim-huawei: fix refcountAleksander Morgado
g_async_result_get_source_object() returns a full reference, which needs to get unref-ed when no longer used.
2013-09-10sim-huawei: add SIM class to handle ICCID requestDan Williams
Use AT^ICCID if possible to read the ICCID.
2013-09-10core: add helper for parsing and validating the ICCIDDan Williams
2013-09-09iface-modem-oma: fix OMA session state reportingAleksander Morgado
Reported by Arman Uguray <armansito@google.com>
2013-09-09libmm-glib: fix return typeAleksander Morgado
Reported by Arman Uguray <armansito@google.com>
2013-09-09mmcli,oma: support for the new OMA interfaceAleksander Morgado
2013-09-09broadband-modem-qmi: implement OMA CancelSession()Aleksander Morgado
2013-09-09iface-modem-oma: ensure the session id is known when accepting/rejecting itAleksander Morgado
2013-09-09broadband-modem-qmi: never add UNKNOWN OMA session types to the pending listAleksander Morgado
2013-09-09broadband-modem-qmi: implement OMA AcceptNetworkInitiatedSession()Aleksander Morgado
2013-09-09broadband-modem-qmi: implement OMA StartClientInitiatedSession()Aleksander Morgado
2013-09-09broadband-modem-qmi: implement OMA Setup()Aleksander Morgado
2013-09-09broadband-modem-qmi: implement OMA feature loadingAleksander Morgado
2013-09-09broadband-modem-qmi: handle OMA indicationsAleksander Morgado
2013-09-09broadband-modem-qmi: check support for OMA capabilitiesAleksander Morgado
2013-09-09iface-modem-oma: new object interface to handle the OMA DBus interfaceAleksander Morgado
2013-09-09libmm-glib: support for the 'OMA' interfaceAleksander Morgado
2013-09-09introspection,api: new 'Oma' interfaceAleksander Morgado
2013-09-06telit: install udev rulesDan Williams
2013-09-05build: require libqmi 1.6.0Aleksander Morgado
We were already requiring some features from 1.5.0 (dev version), so depend on the stable 1.6.0 now that it's out.
2013-09-05huawei: check NDISDUP support in the port onceAleksander Morgado
Don't query udev for the tag every time we recreate a bearer, just do it once. For some reason, re-querying the same tag after the first time doesn't always return the proper result.
2013-09-05huawei: fix uninitialized variable issuesBen Chan
This patch fixes the following uninitialized variable issues, which was introduced in the previous commit "huawei: retry connect/disconnect attempt upon ^NDISSTATQRY? failures" (commit 57c657bd066366db6892ac2a8adfec2ca209ccbe). huawei/mm-broadband-bearer-huawei.c:127:9: error: variable 'ipv4_available' is used uninitialized whenever '||' condition is true [-Werror,-Wsometimes-uninitialized] if (!response || ^~~~~~~~~ huawei/mm-broadband-bearer-huawei.c:141:9: note: uninitialized use occurs here if (ipv4_available && ipv4_connected) { ^~~~~~~~~~~~~~ huawei/mm-broadband-bearer-huawei.c:127:9: note: remove the '||' if its condition is always false if (!response || ^~~~~~~~~~~~ huawei/mm-broadband-bearer-huawei.c:115:28: note: initialize the variable 'ipv4_available' to silence this warning gboolean ipv4_available; ^ = 0 huawei/mm-broadband-bearer-huawei.c:484:9: error: variable 'ipv4_available' is used uninitialized whenever '||' condition is true [-Werror,-Wsometimes-uninitialized] if (!response || ^~~~~~~~~ huawei/mm-broadband-bearer-huawei.c:498:9: note: uninitialized use occurs here if (ipv4_available && !ipv4_connected) { ^~~~~~~~~~~~~~ huawei/mm-broadband-bearer-huawei.c:484:9: note: remove the '||' if its condition is always false if (!response || ^~~~~~~~~~~~ huawei/mm-broadband-bearer-huawei.c:472:28: note: initialize the variable 'ipv4_available' to silence this warning gboolean ipv4_available; ^ = 0
2013-09-04huawei: retry connect/disconnect attempt upon ^NDISSTATQRY? failuresPrathmesh Prabhu
The Huawei MU736 modem sometimes responds to the ^NDISSTATQRY? query with a '+CME ERROR: 100' error. This patch works around the issue by ignoring a few of these error responses in a connect / disconnect attempt. The overall timeout for the connect/disconnect operation is not affected by this change.
2013-09-02mbm: add udev rule for Toshiba branded H5321gw moduleBjørn Mork
Reported-by: Thomas Schäfer <tschaefer@t-online.de> Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-09-02huawei: ignore ^DSDORMANT unsolicited messagesBen Chan
2013-09-02iface-modem: allow reset and factory reset operation in every stateBen Chan