Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
Tabs -> spaces
|
|
That's what the udev replay gives us these days (as of udev-152).
|
|
|
|
|
|
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 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.
|
|
|
|
|
|
configuration
|
|
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.
|
|
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>
|
|
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
|
|
expresions
|
|
sms_parse_pdu(): Protocol ID doesn't actually affect decoding, so
don't fret about its value.
ChromeOS:
Change-Id: Ia4cb20c415aed1026bb7b8dd4daa8ae53dd749e8
|
|
Chromium:
Change-Id: I0629706985f273832ac3662acb260388d0e6ed83
|
|
|
|
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.
|
|
|
|
|
|
It was being used in several places with different static implementations
|
|
|
|
Huawei will need this.
|
|
Instead of having two places that custom init stuff got processed
(a hook in the MMPluginBase class itself and a callback too) just
use a callback, and simplify it somewhat so that the plugin tracks
how many tries it cares about and what to do based on the response
or error.
|
|
Make sure all pending work, if any, is torn down when closing
the port, since it's closed, and is likely going to get unreffed
soon and we don't want anything running after the port is dead.
|
|
If the modem for some reason returns ERROR for a +CPIN when it's
unlocked, and subsequent PIN post-unlock pin checks return READY,
just treat the modem as unlocked don't return the +CPIN error.
|
|
|
|
|
|
|
|
Change interface to take the number of GSM characters
rather than the number of octets, so that it is possible to
distinguish the 7-character and 8-character cases.
|
|
Since we don't allow properties to be passed into the serial port
create routines we don't want a construct-only property here.
|
|
It's only used during probing where some port types (Sierra CnS
and some Icera devices) may send streams of data that we can't
understand until we close the port. It interferes with some SMS
operations, so turn it off for ports opened after probing.
|
|
|
|
|
|
Let modems we know don't suck use a zero send-delay at probe time,
which greatly reduces time required to probe AT-compatible ports.
|
|
Otherwise we don't get the expected "Incorrect password" error if the
PIN is wrong, just a generic error.
|
|
Avoids additional USB latency and groups the whole command into one
USB packet.
BUG=chromium-os:13506
|
|
|
|
New mm_serial_parser_v1_set_custom_regex() method.
|
|
So that cached values can be returned if querying while the port is connected.
|