aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-07-07Revert "cinterion: bail earlier if the plugin doesn't support the port"Dan Williams
This reverts commit 1e1bfbf1d808e557441afdae44447af457dae7ff. Aleksander says this might break RS232<->USB converter connected Cinterion modems, so we'll need to handle this issue another way.
2011-07-06cinterion: bail earlier if the plugin doesn't support the portDan Williams
Caused a crash with the Sierra plugin due to an assertion failure; the Cinterion plugin shouldn't claim to possibly support ports it knows it won't support. In this case, it claimed to support Sierra modems, so it would try to run probing after Sierra had done so. Ideally this should work, but for now just make sure the Cinterion plugin doesn't claim to support these ports when it knows it doesn't.
2011-07-06nokia: N900 doesn't really need additional inter-character timeDan Williams
See 46d757faa768db7d7bb23d51cc2af3196f7a7e30: gsm: send init command twice to make the N900 happy (rh #583691) (lp:765516) for what I think is the real workaround for this bug.
2011-07-06gsm: send init command twice to make the N900 happy (rh #583691) (lp:765516)Dan Williams
The N900 has some odd serial characteristics in that it appears to send pieces of the commands back for whatever reason, until you've sent a few commands down to it. Almost like it's training on whatever you send and needs a bit of input to figure out the characteristics. Whatever. Just send the init command twice instead of failing when the N900 barfs the first time.
2011-07-06core: update some serial port settingsDan Williams
1) use cfsetispeed/cfsetospeed like the TTY manpage suggests 2) ignore parity/framing errors since we're not using parity anyway 3) double-check that all our TTY settings were successfully set
2011-07-06cinterion, wavecom: update copyright infoAleksander Morgado
2011-07-05gobi: support access technology reportingDan Williams
Obviously only works while disconnected since the Gobi devices only provide one AT-compatible tty.
2011-06-30gsm: set SMS storage location before enabling notificationsThomas Grenman
Fixes a firmware hang on Option GlobeTrotter Express (GE0201 with firmware 1.12.1Hd (Date: Feb 22 2007, Time: 09:20:28)) and makes sense in general too.
2011-06-30Merge remote-tracking branch 'lanedo/power-up-check-needed'Aleksander Morgado
2011-06-30samsung: add product ID for the Y3400 module.Eric Shienbrood
The Y3400 is functionally nearly identical to the Y3300.
2011-06-30Add a DBus interface for setting the log level.Nathan Williams
Lifted almost entirely from similar code in NetworkManager. BUG=chromium-os:15197 TEST='dbus-send --print-reply --system --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager org.freedesktop.ModemManager.SetLogging string:DEBUG' Also try valid log levels 'ERR', 'WARN', 'INFO', and an invalid log level, such as 'ABCDE'. Change-Id: I2bddcd0319f4966dd293b119f68e7cc1697949b7 Reviewed-on: http://gerrit.chromium.org/gerrit/3134 Tested-by: Nathan J. Williams <njw@chromium.org> Reviewed-by: Eric Shienbrood <ers@chromium.org>
2011-06-30gsm: handle case of entirely empty SPN correctlyNathan Williams
BUG=none TEST=Insert a SIM with a present but empty (all 0xFF) SPN and check the system log for a (lack of) assertion errors from mm_charset_gsm_unpacked_to_utf8(). Change-Id: I1250494b9757c9bfdce56402a4471c598f41223f Reviewed-on: http://gerrit.chromium.org/gerrit/3139 Reviewed-by: Eric Shienbrood <ers@chromium.org> Tested-by: Nathan J. Williams <njw@chromium.org>
2011-06-22cinterion: always try to use RTS/CTS flow controlAleksander Morgado
Otherwise, power-up after going to standby will not work properly
2011-06-22serial: new property to enable RTS/CTS flow controlAleksander Morgado
2011-06-22cinterion: enable power-off command to go to sleep/standby modeAleksander Morgado
AT+CFUN=4 will be used when available to go to standby mode. If not supported, (as in EGS5) AT+CFUN=7 will be used instead, which enables a CYCLIC SLEEP mode. Flow control setup was updated to RCS/CTS so that waking up from sleep mode works properly.
2011-06-22sierra: do not send power-up command if not neededAleksander Morgado
2011-06-22wavecom: enable power-off command to go to sleep/standby modeAleksander Morgado
AT+CFUN=4 will be used to go to standby mode.
2011-06-22wavecom: try to power-up without rebootingAleksander Morgado
Using AT+CFUN=1,0 so that we request to avoid resetting (<rst>=0). Works properly when powering up after having put the modem in standby mode with AT+CFUN=4. Note that the power-up command will only be sent if the check to see if power-up is needed requests it.
2011-06-22wavecom: do not send power-up command if not neededAleksander Morgado
2011-06-22gsm: allow plugins to check if they need to issue the power-up commandAleksander Morgado
Some modems only like the power-up command if not already in full functionality mode. If the power-up is sent while already in full functionality mode, they get rebooted and reseted. With this changes, plugins can check whether they need the power-up and ask the generic gsm code base to skip the command or not. By default, power-up command (if any given) is never skipped.
2011-06-17doc: add notes about Pantech UML290 and the WMC protocolDan Williams
WMC is a proprietary protocol observed on various Verizon devices and implemented by the UML290.
2011-06-15ussd: fix reception, network notifications, and network requestsDan Williams
Because the code was sending the USSD request with a "notify me via unsolicited result code" tag, the response could come from any port, and in was coming from other ports on various devices. But the code expected the response on the main port, thus it got lost. So turn the USSD response processing into an unsolicited command handler instead, which allows us to process the response no matter where it comes from. This patch also enables network-initiated USSD notifications and requests since that's easy to add once the first thing here is done.
2011-06-15serial: warn when open/close take longer than 7 secondsDan Williams
Due to kernel bugs and such.
2011-06-14build: place together samsung plugin compilation optionsAleksander Morgado
2011-06-14cinterion: check probed caps from supports taskAleksander Morgado
2011-06-13icera: report connected access technology when connectedEric Shienbrood
The NWSTATE field reports both available access technology and the actual access technology in-use when a PS connection is active, so report the actual access tech when it's available.
2011-06-09core: trivial whitespace cleanupDan Williams
Tabs -> spaces
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.