We want to enable unsolicited responses on secondary ports too,
so that if the modem only sends unsolicited responses on the ports
on which they were enabled, that we can get resposnes off the
secondary port when the primary port is connected. But we can't
always trust devices to actually send them on the secondary port,
so we enable the unsolicited responses on both the primary and
secondary ports just in case.
If the device only has one AT port that's being used for data and
thus we can't do more specific registration checking in MMGenericCdma
using AT commands, but generic registration checking was successful,
just use the less specific state.
Previously, an error would be returned when no AT port was available
even though less specific QCDM registration checking worked. That
was just stupid.
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.
If the modem's IP Method changes after construction because the
modem's full capabilities were only discovered after it was created,
make sure the change notification gets emitted.
This can be used by a connection manager to decide to respond in a different way
to certain kinds of disconnects (e.g. intentional versus unintentional versus
suspension).
TEST=None
This change introduces no additional code, so testing it in isolation is not
possible.
BUG=chromium-os:6744
Change-Id: Ie371e20ec7a003333eba013af3ad61c0e494a4ad
Signed-Off-By: Elly Jones <ellyjones@chromium.org>
Review URL: http://codereview.chromium.org/3413011
(cherry picked from commit 29a9674b818fd64c19bad84f526f6fa68edec174)
BUG=6885
TEST=inspect mm-modem.h, build cromo et al against new mm-modem.h
Change-Id: Id8c849b6cffbadb9d5d2aa4109257eb747cf9bb5
Review URL: http://codereview.chromium.org/3616004
(cherry picked from commit 3a50b8c28d155060ce035a1c6d5eadf3d91297a5)
Also, include the interface name in the method and signal names, to avoid name collisions. I have corresponding changes in the flimflam modemmgr plugin to accomodate the new names.
For a sample of the output, see ~ers/mm-modem.h
Review URL: http://codereview.chromium.org/2852010
(cherry picked from commit f9dbea25b8ba4414c77d6dfc94545bf7b5c26e68)