aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-06-09core: handle udev 'change' eventsNathan Williams
That's what the udev replay gives us these days (as of udev-152).
2011-06-09icera: request specific network error codes on connect errorsEric Shienbrood
For connection failures, get additional error detail. Currently, the only error codes that are mapped are the 3GPP TS 24.008 codes for "Unknown or missing access point name" and "Requested service option not subscribed" (which is sometimes returned for an invalid APN). (random fixes and cleanups by dcbw)
2011-06-09build: ensure Samsung plugin includes common Icera codeEric Shienbrood
Otherwise make can't find build-time dependencies.
2011-06-09icera: add more access technology stringsEric Shienbrood
2011-06-09samsung: disable should use CFUN=4Eric Shienbrood
CFUN=4 disables the radios but still allows useful operations like getting PIN lock status. So use that instead.
2011-06-09gsm: fix memory leak when grabbing a new portDan Williams
2011-06-09ussd: fix leaked callback info in error casesDan Williams
2011-06-06plugins: propagate cached probing result to supports taskAleksander Morgado
We need to ensure that the supports task always has the results of the probing, no matter if the probing was just launched by the plugin grabbing the port, or by a previous plugin. We do this during supports_port(), by propagating to the supports task any possible previously cached probing results.
2011-06-06cinterion: set modem disabled if 3 consecutive AT commands get timed outAleksander Morgado
2011-06-06cinterion: enable reprobing on ports without cached capabilitiesAleksander Morgado
2011-06-06cinterion: always sort last the pluginAleksander Morgado
This is because the cinterion plugin can handle RS232 modes, and checking support for them needs to have the vendor ID probed with AT commands, so probing is almost always issued in this plugin. By sorting last, we let other plugins check support first.
2011-06-06cinterion: handle RS232 modemsAleksander Morgado
2011-06-06base: disable the modem if up to N consecutive commands get timed outAleksander Morgado
This feature is initially disabled for all modems, but plugins can enable it by setting a value greater than 0 for the "max-timeouts" property when creating the modem object.
2011-06-06manager: protect ScanDevices() d-bus method with manager control policy ruleAleksander Morgado
2011-06-06policy: new policy for manager control actionsAleksander Morgado
2011-06-06manager: new ScanDevices() d-bus method to request a new device scan loopAleksander Morgado
2011-06-06plugin base: let plugins decide if they should be sorted lastAleksander Morgado
Note that even if a plugin says it wants to be sorted last, the generic plugin will always be the last one. Also, there is no order guaranteed between two plugins that request to be sorted last.
2011-06-06plugin base: include vendor ID and product ID retrieval during AT port probingAleksander Morgado
Port probing is extended to also query for Vendor ID and Product ID. This allows plugins to check whether the reported IDs are expected, and thus we enable plugins to handle modems connected via RS232 ports (where udev doesn't give any vendor ID) or modems connected via a USB adapter (where udev gives the vendor ID of the adapter). Note that this effectively means that a plugin which expects these kind of modem connections will end up always launching port probing as they won't only rely on the vendor ID reported by udev.
2011-06-06cinterion: override CMER enabling commandAleksander Morgado
2011-06-06cinterion: override SMS indications setup commandsAleksander Morgado
2011-06-06cinterion: if modem removed don't process responseAleksander Morgado
2011-06-06cinterion: set and get bandsAleksander Morgado
2011-06-06cinterion: set and get allowed modeAleksander Morgado
The 2G-preferred and 3G-preferred modes are not supported on dual 2G/3G cinterion modems.
2011-06-06cinterion: query supported networks to detect if 2G or 3G deviceAleksander Morgado
2011-06-06cinterion: query network technology capabilitiesAleksander Morgado
We try to look for 'psinfo' indication in AT^SIND? output (available in 3G devices from Cinterion), and if that is not available, we try to use the AT^SMONG GPRS monitor (available in 2G devices from Cinterion).
2011-06-06cinterion: add initial dummy pluginAleksander Morgado
2011-06-06charsets: new utf8_to_hex() methodAleksander Morgado
2011-06-06gsm: let plugins use their own command for CMER enablingAleksander Morgado
2011-06-06gsm: let plugins use their own commands for SMS indications and storage ↵Aleksander Morgado
configuration
2011-06-06introspection: indentation fixesAleksander Morgado
2011-06-05x22x: add support for the Alcatel X200Dan Williams
Same USB IDs as the X060s which is driven by Longcheer, but uses the X22X command set so we have to do a little dance and make sure we don't claim the X060s here.
2011-06-05longcheer: ensure the Alcatel X200 is not claimedDan Williams
The X200 shares the same USB VID and PID as the X060s but the X200 does not use the same AT command set; it uses the X22X plugin instead. Since both modems also report the same +GMM and +GMI responses, we have to fall back to using +GMR even though that's a pretty sketchy way to tell them apart if the firmware ever changes.
2011-06-05core: allow plugins to stop probing and not support a modemDan Williams
Previously plugins could only stop probing, *or* stop probing and indicate support for a device. For the Alcatel X200/X060s debacle we need to stop probing and indicate that the plugin does not support the device at all.
2011-06-05x22x: support access technology reportingDan Williams
2011-06-05plugins: use MMCallbackInfo instead of custom DisableInfoAleksander Morgado
Implemented using a custom invoke method which doesn't call the callback, and instead calls parent disable passing the callback as argument. This fix ensures that if a modem gets removed, no invalid modem reference is passed to the parent disable, as info->modem would be set to NULL and we can detect it in the custom invoke method.
2011-06-05core: ensure ERROR_REMOVED error is used in MMCallbackInfo when detecting ↵Aleksander Morgado
modem removal
2011-06-05core, plugins: if modem removed don't process responseAleksander Morgado
We try to avoid a memory leak when info->error is reset, as well as a second re-schedule of the info.
2011-06-02gsm: free the string allocated by utils_hexstr2bin().Nathan Williams
Change-Id: I1f7dabc8209d9757b573a59abb788a2346f72ad5
2011-06-02Spec out and implement a command to get a GSM SIM SPN value.Nathan Williams
Using a SIM with a SPN, run the following command: dbus-send --system --dest=org.freedesktop.ModemManager --print-reply /org/freedesktop/ModemManager/Modems/0 org.freedesktop.ModemManager.Modem.Gsm.Card.GetSpn Change-Id: I8f36c8432f40fa4e3cb3f8c6ceef16b2bdadf2a1 Reviewed-on: http://gerrit.chromium.org/gerrit/1464 Reviewed-by: Nathan J. Williams <njw@chromium.org> Tested-by: Nathan J. Williams <njw@chromium.org>
2011-06-02sms_decode_address(): Add a leading "+" on international numbers.Nathan Williams
BUG=chromium-os-partner:4278 TEST=Send SMS from phone (to get +... format) and from AIM-SMS gateway (to get raw-digit format). Change-Id: I36eb9f1432a432435578180dfdb315b0e7ee5744
2011-06-02serial-parser: allow 0 or more whitespaces before error code in regular ↵Aleksander Morgado
expresions
2011-05-27sms: use correct start and length for alphanumeric dataNathan Williams
sms_parse_pdu(): Protocol ID doesn't actually affect decoding, so don't fret about its value. ChromeOS: Change-Id: Ia4cb20c415aed1026bb7b8dd4daa8ae53dd749e8
2011-05-27simtech: tag ports on Prolink PH-300Dan Williams
2011-05-19gsm: correctly set registration status when disablingNathan Williams
Chromium: Change-Id: I0629706985f273832ac3662acb260388d0e6ed83
2011-05-19samsung: split initialization sequence to ensure echo is offNathan Williams
Split the Samsung initialization sequence from "ATZ E0 V1" to "ATZ" and "ATE0 V1" - the modem is allowed to ignore the rest of the line after Z, so echoing was not being turned off, leading to getting "AT+CIMI\n\n" as part of the IMSI when it is retrieved at startup. Chromium: Change-Id: Icfd767174e779e472f8cde419acb163128e4715d
2011-05-19ussd: formatting and spacing cleanupsDan Williams
2011-05-18api: proposed new interface for MM 0.6 and laterDan Williams
Main changes are cleaning up the API and allowing for multi-mode devices that support two or more of CDMA/EVDO, GSM/UMTS, and LTE at the same time. This provides a starting discussion point for the new MM 0.6 API.
2011-05-16qcdm: add some more CDMA band classesDan Williams
2011-05-11sms: suppress duplicate SMS received notificationsNathan Williams
If the modem sends the same notification on more than one port, make sure we don't send a signal out to clients more than once.
2011-05-10build: add include dir to .gitignoreAleksander Morgado