Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
On a ZTE MF626, sometimes the aux port will respond only with
"ERROR" to probing commands (while the SIM is starting up) and
previously we'd lose the port because we were only looking for
valid probe responses. But if the port returns ERROR or CME ERROR
etc we know it's an AT port and that we can use it once we've
gotten the type response (CDMA or GSM) from the main port.
|
|
When connecting, and the modem isn't yet registered or denied, poll
both CS and PS registration state instead of just CS state, because
we're really more interested in PS state anyway. If at least one
of the CS and PS state checks is successful then proceed with the
connection.
|
|
If the command-line arg doesn't look like an object path,
treat it as the modem # and make the object path.
|
|
|
|
Need to reset password to NULL after freeing it.
|
|
If there was data waiting, the task freed it, but then the port
got closed, and the data callback might have freed the data again.
|
|
It seems the Motorola Flipout with Android 2.1 doesn't like to return
configured PDP contexts via AT+CGDCONT?; it returns an error. It
seems to accept the rest of the dial sequence though, so just ignore
the error when reading existing PDP contexts.
|
|
|
|
d3c2228f7b55465f4433bedb36d47744b8d791f1 (bgo #650740)
Fix one more possible memory leak (left un-fixed by d3c2228 but not
caused by it) and ensure that modems that do want flashing get it
by default by adding the missing G_PARAM_CONSTRUCT so FLASH_OK
defaults to TRUE.
|
|
The F5521gw resets various port properties like echo when the port
is flashed, which was happening on disconnect. Since MM had already
turned of echo with ATE0, and the AT parser in-use expected no
echo, this confused MM when the port magically started echoing commands
back. We don't need flashing on the Ericsson devices because there
will always be a free AT port even if PPP is used for a secondary
PDP context, so we can just skip flashing entirely for these
devices.
|
|
Flashing is a technique to break out of the data/PPP stream and
re-enter command stream (like +++) and MM uses it in the generic
paths in various cases. But devices that don't need it (ie, ones
with at least one AT capable port that won't be used for data)
now sometimes appear to have side-effects.
The Ericsson F5521gw firmware R2A07 resets port attributes like
echo and &C and such when the port is flashed, leading to
confusion on the part of MM. Since the Ericsson devices will
always have at least one free AT port they don't need flashing
anyway.
|
|
|
|
No point in requiring these to be done from the primary port.
|
|
The 10.4 version of TS27.007 extends the range of values possible from AT+COPS?
The range of values are as follows:
3GPP TS 27.007 V10.4.0, +COPS
<AcT>: integer type; access technology selected
0 GSM
1 GSM Compact
2 UTRAN
3 GSM w/EGPRS
4 UTRAN w/HSDPA
5 UTRAN w/HSUPA
6 UTRAN w/HSDPA and HSUPA
7 E-UTRAN
All but the LTE (E-UTRAN) value can be represented in MM 0.5, this patch adds a
new constant to correct that, until the MM API is redesigned later for 0.6.
Signed-off-by: Andrew Bird <ajb@spheresystems.co.uk>
|
|
Finish most of the stuff here.
|
|
Generic code (like the QCDM CM/HDR checks) would determine the EVDO
registration state, which would then get blown away by the device-specific
registration state query method. Modems that have a more specific check
were fine, but generic devices that don't have more specific reg
state checks can simply rely on the generic checks done earlier and
don't need to update the EVDO state from real_query_registration_state().
|
|
During the explicit access technology check, the plugin would request
specific 2G (OCTI) and 3G (OWCTI) technologies explicitly. Some devices
(like Nozomi) don't support the AT_OWCTI command, which leaves us with
only AT_OSSYS for determining whether the device is registered with
the 3G network or the 2G network. So like the unsolicited mode change
handling code, when requesting access technology explicitly, ask for
generic 2G/3G tech first, and then get the specific tech. If the
device doesn't support explicit 3G tech then at least we have the
generic 3G tech from OSSYS to use.
|
|
The Nozomi cards were early CardBus devices that used a direct PCI
interface (instead of the more usual PCI<->USB controller) and the
'nozomi' kernel driver. They use the same command set as most other
early Option NV modems. Nozomi was always supposed to be driven
by the option plugin, but apparently that got broken when adding
some of the driver/vendor checks.
|
|
|
|
Fourth and final in a series.
This fixes an off-by-one (septet) error in the calculation of the
amount of data to skip in the presence of a user data header, and adds
the test case from the wild that triggered it.
|
|
Third in a series. This fixes the bug detected by the dcsf1 test in
the just-added unit tests, by more thoroughly parsing the TP-DCS
field.
|
|
Second in a series. Builds on the previous by actually unit-testing
the sms_parse_pdu() function. Note that the dcf1 test does not pass
as the code is currently written.
|
|
In preparation for adding tests.
Change-Id: If1ebd0fdd6e7470c21538042ab1735357649155c
|
|
registered
The operator name/number isn't really tied to CS or PS registration, since
we retrieve it using AT+COPS. But when one of CS or PS became unregistered
the operator name and number would get cleared out. We only want to clear
it out when *both* CS and PS are unregistered. Fixes an issue with the
location API where location would not be reported when one of CS or PS
became unregistered, because the location bits want an operator name
before they return the location.
|
|
|
|
|
|
Huawei wants the USSD as packed GSM.
|
|
since some some modems need different quirks to encode/decode USSD
messages.
|
|
|
|
|
|
|
|
Some providers (CDMA Ukraine) apparently require a specific Rm interface
protocol, so add some Simple Connect dict settings for that and use them
when dialing. Obviously requires the connection manager to also have
support for sending the right bits down to MM.
|
|
Newer Sierra devices have this (ie 306); it's the CnS port so ignore
it immediately.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
|
|
Obviously only works while disconnected since the Gobi devices only
provide one AT-compatible tty.
|
|
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.
|
|
|
|
The Y3400 is functionally nearly identical to the Y3300.
|
|
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>
|