Commit Graph

558 Commits

Author SHA1 Message Date
Aleksander Morgado
1ca46cc0ec plugins: use default port grabbing on those plugins without special requirements 2012-08-06 20:06:46 +02:00
Aleksander Morgado
9b0f6c83f2 plugin: renamed custom-init' property to custom-at-probe'
The `custom-at-probe' property is just to modify the way we check for AT port
support.
2012-08-06 20:06:46 +02:00
Aleksander Morgado
a9075b0c09 port-probe: rename _get_port() to _peek_port() as there is no ownership transfer 2012-08-06 20:06:45 +02:00
Aleksander Morgado
e5e46f489e core: merge MMPluginBase' and MMPlugin'
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.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
815693661c core: compile all ports before creating the modem object
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).
2012-08-06 20:06:44 +02:00
Aleksander Morgado
b300110055 hso: use common integer string parsers 2012-07-19 16:22:45 +02:00
Aleksander Morgado
487cd29d8b hso: unsolicited %IPDPACT may come before the AT command reply 2012-07-19 16:22:40 +02:00
Aleksander Morgado
c63f42a20c hso: plug memleak when finishing dialling with error 2012-07-19 16:22:32 +02:00
Aleksander Morgado
b43ee56d06 hso: fix cid to report to 2012-07-19 16:22:27 +02:00
Aleksander Morgado
431b6a0fc5 broadband-modem: remove `USE_WS46' property
3GPP modems will all try to use AT+WS46=? by default to gather supported modes.
2012-07-16 08:34:01 +02:00
Dan Williams
ab5e9a49cf zte: try to handle Icera devices that use PPP
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.
2012-06-06 11:47:28 -05:00
Aleksander Morgado
97baa44b04 novatel: report error if not properly disconnected
When we request to disconnect, and the disconnection status check fails, return
a proper error.
2012-05-06 17:12:36 +02:00
Aleksander Morgado
b2d376696c novatel: minor coding style fixes 2012-05-06 17:12:36 +02:00
Aleksander Morgado
caeeae2721 bearer: simplify handling of the bearer configuration
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.
2012-05-06 17:12:36 +02:00
Aleksander Morgado
1984c155ad wavecom: plugin fully ported 2012-05-06 15:34:13 +02:00
Aleksander Morgado
6c26e90610 wavecom: implement custom band setting 2012-05-06 15:34:13 +02:00
Aleksander Morgado
8b329c1012 wavecom: setup custom serial parser
AT+CPIN? replies come without trailing 'OK'; which we need to handle.
2012-05-06 15:34:13 +02:00
Aleksander Morgado
43d7f4f17a wavecom: implement custom current bands loading 2012-05-06 15:34:13 +02:00
Aleksander Morgado
513f5d5f20 wavecom: implement custom supported bands loading 2012-05-06 15:34:13 +02:00
Aleksander Morgado
aeb38e0f30 wavecom: implement custom access technology loading 2012-05-06 15:34:13 +02:00
Aleksander Morgado
3885bb365d wavecom: implement setting allowed/preferred modes 2012-05-06 15:34:13 +02:00
Aleksander Morgado
1447dfee3c wavecom: implement loading of initial allowed/preferred modes 2012-05-06 15:34:13 +02:00
Aleksander Morgado
7bd2ba6973 wavecom: implement custom supported mode loading 2012-05-06 15:34:13 +02:00
Aleksander Morgado
c3cc8f8410 wavecom: implement custom power up sequence 2012-05-06 15:34:13 +02:00
Aleksander Morgado
8ce1e26e1b wavecom: implement custom flow control handling 2012-05-06 15:34:13 +02:00
Aleksander Morgado
65b92dfba5 wavecom: implement custom power down sequence 2012-05-06 15:34:12 +02:00
Aleksander Morgado
b7d423288a wavecom: start porting the Wavecom plugin 2012-05-06 15:34:12 +02:00
Aleksander Morgado
c7d39e2c28 cinterion: simplify loop when loading 2G bands 2012-05-06 15:34:12 +02:00
Dan Williams
90f4a034b2 modem-helpers: recognize 3GPP2 access tech strings too
Various Gobi-based devices (USB551L, probably Gobis too) can report
EVDO and 1X as the current RAT from CNTI so parse that here too.
2012-05-04 17:38:36 -05:00
Nathan Williams
1c1a6a16ec novatel: Poll for whether the connection still exists.
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
2012-05-02 21:05:06 +02:00
Nathan Williams
83bc51edcb novatel: Add support for connecting to specific APNs and specifying username/password.
While here, pass through the other relevant bearer properties.

Change-Id: If925ac78d2edcc744e834e108029f5abdbb375a1
2012-05-02 21:05:06 +02:00
Nathan Williams
67698b43c4 novatel: Use the ALLOWED_SINGLE_AT property. Saves 5 seconds on probing.
Change-Id: I0b0c2cb07781eb32ba6eb4294868ed123f57fd9f
2012-05-02 21:05:05 +02:00
Nathan Williams
81665fe379 novatel: Remove band-setting implementation to improve connections
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
2012-05-02 17:27:23 +02:00
Nathan Williams
baa6425726 novatel: Implement load_access_technologies.
Change-Id: Ib503d900850d3754d79525dbc9a40b7b9c221dd7
2012-05-02 12:13:39 +02:00
Aleksander Morgado
e8bc2f41e7 simtech: implement custom allowed/preferred mode setting 2012-04-14 16:04:18 +02:00
Aleksander Morgado
b97890a012 simtech: plugin fully ported 2012-04-14 16:04:18 +02:00
Aleksander Morgado
9e89e88ce9 simtech: implement custom allowed/preferred mode loading 2012-04-14 16:04:18 +02:00
Aleksander Morgado
c9214bd54f simtech: implement custom access technology loading 2012-04-14 16:04:17 +02:00
Aleksander Morgado
281cada39d simtech: implement custom unsolicited events enabling/disabling 2012-04-14 16:04:17 +02:00
Aleksander Morgado
1cea1e5bbe simtech: implement custom unsolicited events setup/cleanup 2012-04-14 16:04:17 +02:00
Aleksander Morgado
8cd4b29fde simtech: new `MMBroadbandModemSimtech' object 2012-04-14 16:04:17 +02:00
Aleksander Morgado
ba7761f664 simtech: include udev rules 2012-04-14 16:04:17 +02:00
Aleksander Morgado
43be521ef6 build: split includes for plugin specific udev rules
Let each plugin block include its own udev rules, instead of having them all
together at the end of the Makefile.
2012-04-14 16:04:17 +02:00
Aleksander Morgado
7183216d9d simtech: start porting the SimTech plugin 2012-04-14 16:04:17 +02:00
Aleksander Morgado
d379b9ea2a bearer: allow subclasses to report disconnection
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.
2012-04-10 23:27:25 +02:00
Aleksander Morgado
dac1021e4c cinterion: no need for custom supported modes loading 2012-04-10 18:28:33 +02:00
Aleksander Morgado
e89a8a42a9 novatel: no need for custom supported modes loading 2012-04-10 18:28:33 +02:00
Aleksander Morgado
f183a5d73d iridium: remove previous modem implementation 2012-03-31 14:56:54 +02:00
Aleksander Morgado
c2a096f9a1 linktop: plugin fully ported 2012-03-31 14:54:27 +02:00
Aleksander Morgado
0d8cf160e5 broadband: ensure 3GPP location info gets updated when enabling the source
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.
2012-03-29 17:20:37 +02:00