Aleksander Morgado
6bb90d92e4
iface-modem-simple: try to skip initial steps in the Simple Connect sequence
2012-03-16 15:38:09 +01:00
Aleksander Morgado
295272196d
iface-modem-simple: don't request to connect the bearer if already connected
2012-03-16 15:37:37 +01:00
Aleksander Morgado
29b955afa2
iface-modem: if we are already unlocked, don't try to check it again
...
We're assuming here we are never getting locked without us knowing it.
2012-03-16 15:37:12 +01:00
Aleksander Morgado
1dbe4a12cf
iface-modem-simple: don't call the enable() methods in the class directly
...
Use the new `mm_base_modem_enable()' instead, which will pass down the
modem-wide cancellable to the enable() implementation.
2012-03-16 15:21:56 +01:00
Aleksander Morgado
686cfbb2c0
iface-modem-simple: don't assume bearer is always set
2012-03-16 15:21:01 +01:00
Aleksander Morgado
f2fee29968
broadband-bearer: pass down cancellable to the 3gpp dialing implementation
2012-03-16 15:20:40 +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
cd7d4c3019
broadband-bearer: let subclasses handle their own IP config retrieval mechanism
...
Mainly given for bearers requiring static IP addresses in net ports.
2012-03-16 14:53:26 +01:00
Aleksander Morgado
6900348b64
broadband-bearer: let subclasses know the CID being used
2012-03-16 14:53:26 +01:00
Aleksander Morgado
fe13d4cb66
broadband-bearer: ensure a result is always set
...
Just a convenience, as it is anyway not used afterwards.
2012-03-16 14:53:26 +01:00
Aleksander Morgado
473c5fee4d
bearer: properties are exposed before exporting the bearer object
...
And we let subclasses to specify which of the input properties need to be
exposed.
2012-03-16 14:53:26 +01:00
Aleksander Morgado
15e9943036
plugin-base: avoid launching AT probing on new ports if the modem expects only one
...
If we got an existing modem showing a new port, and the plugin handling that modem
said that only one AT port was expected, we shouldn't be AT-probing it any more.
2012-03-16 14:53:25 +01:00
Aleksander Morgado
29f23f2a49
base-modem: new method to check if the modem got any AT port
...
Required for the single-at logic in the plugins.
2012-03-16 14:53:25 +01:00
Aleksander Morgado
3eb4220caa
port-probe: new probing result setters
...
We make them public, so that we can set results before actually running the
probing.
2012-03-16 14:53:25 +01:00
Aleksander Morgado
d2559e2716
plugin-base: only cancel AT probing in probes of the same device
2012-03-16 14:53:25 +01:00
Aleksander Morgado
c52762ea67
build: require gudev >= 147
...
Since udev 147 the gudev API is no longer marked as experimental, and therefore
`G_UDEV_API_IS_SUBJECT_TO_CHANGE' is no longer needed.
2012-03-16 14:53:25 +01:00
Aleksander Morgado
703ab2590b
port-probe: probing may just require vendor or product probing
...
If we already had probed, e.g. AT capabilities, and a next plugin requires
Vendor AT probing, the task will only show that VENDOR_AT is requested.
2012-03-16 14:53:25 +01:00
Aleksander Morgado
56e7b15f5c
base-modem: ensure we cancel any ongoing operation when we're disposing
2012-03-16 14:53:24 +01:00
Aleksander Morgado
09026ed89a
iface-modem: treat serial errors also as fatal when checking unlock status
2012-03-16 14:53:24 +01:00
Aleksander Morgado
e2a56ba490
iface-modem-time: let initialization and enabling sequences get cancelled
2012-03-16 14:53:24 +01:00
Aleksander Morgado
9eebb75ca3
iface-modem-messaging: let initialization and enabling sequences get cancelled
2012-03-16 14:53:24 +01:00
Aleksander Morgado
2c4a69b190
iface-modem-location: let initialization and enabling sequences get cancelled
2012-03-16 14:53:24 +01:00
Aleksander Morgado
fea2ef0e5c
iface-modem-cdma: let initialization and enabling sequences get cancelled
2012-03-16 14:53:24 +01:00
Aleksander Morgado
0d4b644572
iface-modem-3gpp: let initialization and enabling sequences get cancelled
2012-03-16 14:53:24 +01:00
Aleksander Morgado
e140ff3c5f
iface-modem: let initialization and enabling sequences get cancelled
2012-03-16 14:53:24 +01:00
Aleksander Morgado
d27e40ae9a
core: new `Initializing' state in the global modem state machine
...
We need to define a state to be used while the modem is being initialized, so
that we forbid any operation on the modem on already exported interfaces, while
there are interfaces pending to get exported.
This Initializing state will also cover the state between having the SIM
unlocked (which launches re-initialization) and being completely initialized.
2012-03-16 14:53:24 +01:00
Aleksander Morgado
6de2e3f72c
sim: don't require the Modem object in the context
...
It's already easily available in self->priv->modem;
2012-03-16 14:53:24 +01:00
Aleksander Morgado
3a22128d9e
iface-modem: don't leave locked state until re-initialization is complete
2012-03-16 14:53:24 +01:00
Aleksander Morgado
be7f499aa6
broadband-modem: set cancellations in the initialization, enabling and disabling sequences
2012-03-16 14:53:23 +01:00
Aleksander Morgado
181f9c85f0
log: only include LOC and method name in debug logs if running with --debug
...
If the modem is started with --log-level=DEBUG, they will not be shown.
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
215c278082
base-modem: new modem-wide cancellable, passed to every state machine
2012-03-16 14:53:23 +01:00
Aleksander Morgado
7bfc56c2a8
base-modem-at: set error if NULL port detected
...
Users of mm_base_modem_at_command_in_port() can now directly pass the result
of mm_base_modem_peek_port_primary() or mm_base_modem_peek_port_secondary(),
which may be NULL if no such port exists in the modem. So we'll gracefully
detect the NULL port and complete the async operation with an error.
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
48285dcfdf
serial-port: forcing to close a port is an internal operation
...
Ports being forced to get closed will only happen when we get a HUP error
in the serial port (e.g. device got disconnected).
2012-03-16 14:53:23 +01:00
Aleksander Morgado
4f59a696fc
serial-port: don't warn when trying to close a port which was forced to be closed
2012-03-16 14:53:23 +01:00
Aleksander Morgado
4bdfd25de1
base-modem: when getting best AT port, assume we may have lost specific ports
...
Don't assume that primary port is always set.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
c24012ef1b
plugin-base: handle the case of expecting a single AT port
...
If we only expect a single AT port, we'll cancel all remaining AT port probings
in the other ports, as soon as we get the first one.
2012-03-16 14:53:22 +01:00
Aleksander Morgado
dc58cce7c4
port-probe: allow cancelling all AT probing steps
2012-03-16 14:53:22 +01:00
Aleksander Morgado
9fbddcb8a9
plugin-base: new property to specify that only one single AT port is expected
...
Will allow us to cancel other AT probings as soon as the first AT port is
grabbed.
2012-03-16 14:53:22 +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
1e19273340
serial-parsers: new method to check if a given error was set by the parser
2012-03-16 14:53:22 +01:00
Aleksander Morgado
ef2b1cf030
at-serial-port: allow cancelling the response timeout
2012-03-16 14:53:22 +01:00
Aleksander Morgado
5a485d74a2
qcdm-serial-port: allow cancelling the response timeout
2012-03-16 14:53:22 +01:00
Aleksander Morgado
9b38cd4f5c
serial-port: allow cancelling the response timeout
2012-03-16 14:53:22 +01:00
Aleksander Morgado
64d83737fe
serial-parsers: remove v0 and v1_e1 parsers, which are unused
...
Given that we now perform our own built-in echo removal in the v1 parser, we no
longer need the v1_e1 parser.
The v0 parser was also unused from long ago.
2012-03-16 14:53:22 +01:00
Aleksander Morgado
05e2ce862d
port-probe: log the list of probing tasks to be run
2012-03-16 14:53:22 +01:00
Aleksander Morgado
66984e77cd
port-probe: convert port probe flags to a private enum
2012-03-16 14:53:22 +01:00
Aleksander Morgado
1f250585dd
modem-helpers: refactor and reorganize sources
2012-03-16 14:53:21 +01:00
Aleksander Morgado
c824ee3106
broadband-modem: implement own numbers generic loading
2012-03-16 14:53:21 +01:00