Commit Graph

548 Commits

Author SHA1 Message Date
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
Aleksander Morgado
71e108fd64 hso: include support for the raw GPS location source 2012-03-29 09:18:04 +02:00
Aleksander Morgado
614a547316 hso: report received NMEA traces 2012-03-29 09:18:03 +02:00
Aleksander Morgado
2072190691 hso: open/close the raw GPS port when we enable/disable GPS gathering 2012-03-29 09:17:53 +02:00
Aleksander Morgado
97f779df1e hso: ensure GPS is disabled when we initialize the modem 2012-03-29 09:17:53 +02:00
Aleksander Morgado
ab9363011a hso: enable/disable GPS location gathering 2012-03-29 09:17:53 +02:00
Aleksander Morgado
335ba97f48 hso: include custom location capabilities loading
Will check for GPS location sources.
2012-03-29 09:17:53 +02:00
Aleksander Morgado
090e349209 hso: grab GPS-specific ports 2012-03-28 15:50:51 +02:00
Aleksander Morgado
f0b02ce321 hso: plug small memleak when building devfile
Why do we need the devfile anyway?
2012-03-28 15:50:43 +02:00
Aleksander Morgado
e07786ebb1 option: fix loading current allowed modes
The proper command to check the current allowed modes is `AT_OPSYS?'.
2012-03-26 15:23:28 +02:00
Aleksander Morgado
2d02279ba7 Revert "option: fix allowed modes response parsing"
This reverts commit 0bc824b452.

The fix is NOT to change the expected result, but to change the command itself.
2012-03-26 15:20:55 +02:00