Age | Commit message (Collapse) | Author |
|
AT+CFUN=4 will be used to go to standby mode.
|
|
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.
|
|
|
|
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.
|
|
WMC is a proprietary protocol observed on various Verizon devices
and implemented by the UML290.
|
|
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.
|
|
Due to kernel bugs and such.
|
|
|
|
|
|
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.
|
|
Tabs -> spaces
|
|
That's what the udev replay gives us these days (as of udev-152).
|
|
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)
|
|
Otherwise make can't find build-time dependencies.
|
|
|
|
CFUN=4 disables the radios but still allows useful operations
like getting PIN lock status. So use that instead.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
The 2G-preferred and 3G-preferred modes are not supported on dual
2G/3G cinterion modems.
|
|
|
|
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).
|
|
|
|
|
|
|
|
configuration
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
modem removal
|
|
We try to avoid a memory leak when info->error is reset, as well as a second
re-schedule of the info.
|
|
Change-Id: I1f7dabc8209d9757b573a59abb788a2346f72ad5
|
|
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>
|