There's no real point in maintaining a separate `MMPlugin' interface, as all the
plugins will inherit from `MMPluginBase', so just merge them and simplify
everything.
Before this, we only exported the modem to DBus when all ports were organized,
in order to make sure that we select as primary port the one we really want and
not the first AT port grabbed. Given that to get all the ports organized we also
needed to wait to get all the ports grabbed, we can now also defer the creation
of the modem object until all the ports get grabbed. This allows us to create
different types of objects based on the ports available (e.g. we can now create
QMI-supported modem objects if we see a QMI port around).
Not all devices present a network interface, and on these devices
we need to fall back to PPP using the standard setup commands. But
they appear to support the Icera custom commands for access technology
and such, so still use those.
Hopefully fixes ZTE MF665C.
The base MMBearer object will receive the MMBearerProperties configuration,
which contains every generic and plugin-specific set up. Not every configuration
parameter will be used by every implementation (e.g. not every bearer needs
user/password).
The Bearer object will expose every configuration parameter received in its
`Properties' property in the interface, even if it's not really used.
Novatel E362 firmware doesn't notify us by unsolicited message if the
connection goes away, so set up a polling loop to check.
While here, inline a method that's only used in one place so that the
containing function is single-exit and single-cleanup.
Change-Id: If72f7c6ef06de3fb22530d42f62a8dddc6fecfda
The $NWBAND command seems to disturb the internal state of the modem
such that it is unlikely to connect to the network, and produces
widely varying error codes. We don't actively use this functionality,
it's just that setting "use all bands" is part of the normal
ModemManager simple-connect sequence. Remove it so it doesn't get
triggered.
Change-Id: I9b5914291a88a59015fb51906af6fd1c78f3952b
The new `mm_bearer_report_disconnection()' allows subclasses to notify about
being disconnected, so that every layer of inheritance can chain its own code
to reset the connection status.
This commit partially disables the logic included in commit 981222. Now
subclasses (actually, no one) are not allowed to g_object_set() the
MM_BEARER_STATUS property.
Whenever 3GPP location source gets enabled, we'll launch new registration status
checks (to get updated LAC/CI) and new operator code/name checks (to get updated
MCC/MNC).
Additional changes were needed in the HSO plugin, so that the specific location
gathering enabling implemented by the HSO modem chains up parent's one first.