Commit Graph

480 Commits

Author SHA1 Message Date
Aleksander Morgado
46d16d5c99 libmm-common: new common uint/int/str parsers 2012-03-18 17:28:14 +01:00
Aleksander Morgado
8f488d6049 hso,option: plugins fully ported 2012-03-16 14:53:27 +01:00
Aleksander Morgado
3a7270930a hso: custom disconnection implementation 2012-03-16 14:53:26 +01:00
Aleksander Morgado
93b4256fb6 broadband-bearer: pass down CID to the 3GPP-specific disconnection logic 2012-03-16 14:53:26 +01:00
Aleksander Morgado
51956459dc hso: custom IP config retrieval implementation 2012-03-16 14:53:26 +01:00
Aleksander Morgado
327a69ed16 novatel: assume only IPv4 supported for now 2012-03-16 14:53:26 +01:00
Aleksander Morgado
70c70a61ab hso: let modem report connection status to the bearer
Connection status notifications are unsolicited; the modem will receive them
and it will forward them to the available bearer.
2012-03-16 14:53:26 +01:00
Aleksander Morgado
5a8a5d0f22 hso: always create a HSO-specific broadband bearer 2012-03-16 14:53:26 +01:00
Aleksander Morgado
7de8b588b6 hso: setup connection sequence 2012-03-16 14:53:26 +01:00
Aleksander Morgado
d374b995f9 hso: new `MMBroadbandBearerHso'
Includes handling of user and password.
2012-03-16 14:53:26 +01:00
Aleksander Morgado
52ac88824e hso: setup ports
Only the primary port will get the OWANCALL unsolicited messages, so we only
setup not to remove the echo in that specific port.
2012-03-16 14:53:26 +01:00
Aleksander Morgado
db052c2e50 hso: started porting the High-Speed Option plugin
Just skeleton for now.
2012-03-16 14:53:26 +01:00
Aleksander Morgado
1b394ebfe7 option: allow setting allowed/preferred modes 2012-03-16 14:53:25 +01:00
Aleksander Morgado
63926eac02 option: load initial allowed/preferred modes 2012-03-16 14:53:25 +01:00
Aleksander Morgado
346de780be option: completely ignore +PACSP0 unsolicited messages 2012-03-16 14:53:25 +01:00
Aleksander Morgado
dda9e2a37f option: enable and disable unsolicited messages 2012-03-16 14:53:25 +01:00
Aleksander Morgado
00094fcad2 option: setup and cleanup unsolicited messages 2012-03-16 14:53:25 +01:00
Aleksander Morgado
657f728025 option: reset expected unsolicited message handlers 2012-03-16 14:53:25 +01:00
Aleksander Morgado
39e0f953b0 option: need to wait some seconds after power up 2012-03-16 14:53:25 +01:00
Aleksander Morgado
a20441f4c0 nokia: don't even bother checking for messaging support
Nokia modems/handsets use their own protocol (phonet) for all messaging related
operations, currently unsupported, so don't bother trying to check messaging
support with the generic implementation.
2012-03-16 14:53:24 +01:00
Aleksander Morgado
4b64d3dcf0 nokia: new `MMSimNokia'
Nokia phones don't support AT+CRSM.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
25e8bfd2a3 nokia: expect only one AT port
This speeds up probing, as we cancel other AT probings as soon as we grab the
first AT port.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
cdd339f802 base-modem: implement new modem-wide cancellable, and rework AT commands
Instead of the `_in_port()' variants, we'll provide more generic
`_full()' methods. These should be used either if we want to send commands
to a specific port, or if we want to use a specific user-provided GCancellable.

In addition to this user-provided GCancellable, we keep the internal modem-wide
one.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
cc6d4a97fb base-modem: new port getters and peekers
* mm_base_modem_peek_port_* () will return either a port object (no new
reference), or NULL if none available.

You would usually peek() a port if you're going to use it just in the current
method, as there is no way to that reference to get invalid (we're single
threaded).

 * mm_base_modem_get_port_* () will return either NEW references to valid
port objects, or NULL if none available.

And, you would usually get() a port, whenever you want the port object to be
valid even out of the current method, for example when keeping it in the
context of an async operation.

Also, we need to consider that the primary AT port MAY BE NULL when you
peek() or get() it. This is due to the fact that we may be releasing ports
(due to device disconnection) in the middle of async operations.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
690777986b port-probe: refactor AT command handling
Make it use a GVariant in the response processor, as the AT command handling in
the MMBaseModem.
2012-03-16 14:53:22 +01:00
Aleksander Morgado
478b9c5f36 cinterion: no need to complete in idle in sleep_ready() 2012-03-16 14:53:21 +01:00
Aleksander Morgado
d306bb082f libmm-common: `MMBearerProperties' won't be considered internal any more
Renamed `MMCommonBearerProperties' to `MMBearerProperties', and removed the
`MMBearerProperties' provided in libmm-glib. We'll just use the original one
from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado
323df60ed9 libmm-common: `MMBearerIpConfig' won't be considered internal any more
Renamed `MMCommonBearerIpConfig' to `MMBearerIpConfig', and removed the
`MMBearerIpConfig' provided in libmm-glib. We'll just use the original one
from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado
1701230f51 plugin-base: remove the SORT_LAST property
Plugins that need to get sorted last by the PluginManager can now be determined
just by looking at the post probing filters.
2012-03-16 14:53:18 +01:00
Nathan Williams
8e640d3adc novatel: new plugin for the Novatel E362 2012-03-16 14:53:14 +01:00
Aleksander Morgado
680e292914 build: fix header dependencies
We shouldn't depend on any header file from the previous implementation.
2012-03-16 14:28:15 +01:00
Aleksander Morgado
8396d8a82f option: implement default access technology loading 2012-03-16 14:28:14 +01:00
Aleksander Morgado
205313b783 option: start porting the Option plugin 2012-03-16 14:28:14 +01:00
Aleksander Morgado
725745399a generic: new Generic-specific source directory 2012-03-16 14:28:14 +01:00
Aleksander Morgado
ab3d537416 motorola: fully ported the moto-c plugin 2012-03-16 14:28:14 +01:00
Aleksander Morgado
d255902f9b gobi: remove old sources, plugin fully ported 2012-03-16 14:28:14 +01:00
Aleksander Morgado
ecc5b4f260 gobi: new Gobi-specific source directory 2012-03-16 14:28:14 +01:00
Aleksander Morgado
d09dfbb7d1 gobi: access technology loading implementation 2012-03-16 14:28:14 +01:00
Aleksander Morgado
39eaeb2c4e nokia: new Nokia-specific source directory 2012-03-16 14:28:14 +01:00
Aleksander Morgado
213706c503 cinterion: remove old sources, plugin fully ported 2012-03-16 14:28:13 +01:00
Aleksander Morgado
a9c406e3c0 cinterion: new Cinterion-specific source directory 2012-03-16 14:28:13 +01:00
Aleksander Morgado
fdddafd1ca iridium: new Iridium-specific source directory 2012-03-16 14:28:13 +01:00
Aleksander Morgado
bf7d0c712f cinterion: implement frequency band setting 2012-03-16 14:28:13 +01:00
Aleksander Morgado
91416a3e3d cinterion: implement current band list loading 2012-03-16 14:28:13 +01:00
Aleksander Morgado
76e52236a4 iridium: create a MMBearerIridium 2012-03-15 14:15:08 +01:00
Aleksander Morgado
6d8404a6ab iridium: implement custom SMS indication enabling 2012-03-15 14:15:08 +01:00
Aleksander Morgado
4e55b16f9a iridium: close and open the port during disconnection
The Iridium modem doesn't seem to like only the port flashing during the
disconnection, so we fully close and open again the port.
2012-03-15 14:15:08 +01:00
Aleksander Morgado
b14bf797f1 iridium: override generic initialization
We must send ATZ alone and once reply received, wait some time before sending
the next initialization commands. Otherwise, the next commands will receive
garbage as reply. The only way to handle this is to override the whole generic
initialization phase.
2012-03-15 14:15:08 +01:00
Aleksander Morgado
7e31470066 iridium: set bearer service type to 9600bps V.110 2012-03-15 14:15:07 +01:00
Aleksander Morgado
4492adae2e iridium: allow up to 200s to get a proper IP connection 2012-03-15 14:15:07 +01:00