BUG=chromeos-partner:2999, chromeos-partner:3215
TEST=network_LockedSIM
Change-Id: I17c25c52fa5cf4cffa94e73bd827eaae9e687df0
Signed-off-by: Elly Jones <ellyjones@chromium.org>
Signed-off-by: Jason Glasgow <jglasgow@chromium.org>
Signed-off-by: Jun Woo Lee <jw86.lee@samsung.com>
Two issues here, first we dont' need to chain up to the parent
because it's not doing anything we need (it's mainly for PPP-based
devices) and second we need to wait a bit for the disconnect command
to complete by specifying a callback, otherwise the command may get
discarded when the port is shut down afterward.
Don't need init retries since the modem seems pretty sane, and we
also don't need to call AT+CFUN=1 twice. Just once should be
fine. We also don't need any "flashing" since the modem doesn't
really do PPP and thus shouldn't need any of the serial port
carrier stuff to get its attention, since we'll never be using
PPP on any of its ports.
Use standard vendor/device id detection mechanisms and handle the
net port like other net ports are handled, by just claiming it. Also
reject CDMA modems for now.
BUG=chrome-os-partner:2394
TEST=gmerge modemmanager, watch logs, see detected as Samsung modem, connect to AT&T network
Review URL: http://codereview.chromium.org/6614026
Patch from Jun Woo Lee <jw86.lee@samsung.com>.
Change-Id: I913628ff4a1cd16c8180e3c808644b0134e69e31
Implement connect, disconnect, and IP4 config stuff.
Also fix handling of Icera private data. After creation we
need to use MM_MODEM_ICERA_GET_INTERFACE(m)->priv to get the
private data instead of just dereferencing the MMModemIcera,
for reasons that I don't know. If this isn't done, data
gets silently corrupted because writes to the private data
are going into a random location in the object. This a
side-effect of the slightly hack-ish way that MMModemIcera
is a GInterface with private data.
-1 = no APN set, so use modem default. We'll have to fix a few
more things up for modems like hso/mbm that don't use ATDT and
require CIDs, but this gets us halfway there for other devices.
Some devices (8775 specifically) get angry if you don't check for
a PS attach before dialing. The next time they try to connect,
they'll continuously report "searching" as the registration status
and return CME ERROR 30 (No Network Service) for lots of requests.
So initiate a PS attach (which should return OK if the modem is
already attached) before dialing, and if that fails cancel the
dial attempt.
See http://mail.gnome.org/archives/networkmanager-list/2010-October/msg00072.html
"I talked about this problem with a contact at SierraWireless. He said that
a firmware upgrade will not help in this case. But what can help is checking
for PS attach and dial only if PS attach status is attached. Dialing without
PS attach can bring modem into unwanted condition that sometimes restart is
needed to recover."
Depending on when the core requested the ICCID, the port may or may
not be open. Stuff that needs an open serial port needs to make sure
that the port gets opened itself.
An obfuscated SimIdentifier that may be available before the PIN has
been entered, for use in auto-unlocking a device. If this value is
present, it should be used in preference to DeviceIdentifier as it
is SIM-specific like the PIN code.