Commit Graph
26 Commits
Author SHA1 Message Date
Aleksander Morgado 1746949277 ports: add port initialization sequences instead of iface-modem's modem_init()
Instead of a custom modem_init() step in the 'Modem' interface, just add a
sequence of port initialization commands in each port.

While enabling for the first time a non-hotplugged modem, we will issue the
port initialization commands only after having run the enabling_modem_init()
step (i.e. after ATZ usually).
2013-02-18 13:47:35 +01:00
Aleksander Morgado 30639606d3 broadband-modem: new step during 'enabling_started' to initialize the modem
We previously had the modem initialization command merged with some other port
setup commands in the 'modem_init' step of the 'Modem' interface. Instead of
doing this, we now split the logic into two separate steps:

A first 'enabling_modem_init' modem initialization step is to be run just after
the ports have been opened, but only during the first enabling operation, and
only if the modem was not hotplugged. A hotplugged modem is assumed to be
properly initialized already, so no need to ATZ-it. Also, we will now wait 500ms
by default after the modem initialization command has been sent, to let it
settle down.

The second 'modem_init' step will be run during the 'Modem' interface
initialization, and it currently only holds specific setup of the primary and
secondary serial ports. We'll be modifying this logic a bit in the next commits,
so no big deal to have that step name unchanged.
2013-02-18 13:47:34 +01:00
Aleksander Morgado eec5d00a97 core,plugins: remove initial power down sequence
We no longer power down the modem during initialization, so remove that
implementation.
2013-01-11 10:05:46 +01:00
Aleksander Morgado f79f3b8770 nokia: ignore initial power state loading
No need to initially power-up the modem.
2013-01-11 10:05:45 +01:00
Aleksander Morgado 8e4d93c04e nokia,icera: setup custom AT probing as in the generic Nokia plugin 2012-10-22 14:03:43 +02:00
Aleksander Morgado c900aa7c0b nokia: run vendor string probing, in order to grab Bluetooth DUN devices 2012-10-22 13:08:31 +02:00
Aleksander Morgado c250fa3797 libmm-glib: remove the `libmm-common.h' header
Both the ModemManager daemon and the mmcli will now include `libmm-glib.h' only.

We also handle two new special `_LIBMM_INSIDE_MM' and `LIBMM_INSIDE_MMCLI'
symbols, which if included before the `libmm-glib.h' library allow us to:

 * Don't include the libmm-glib high level API in the ModemManager daemon, as
   the object names would clash with those in the core.

 * Define some of the methods of helper objects to be included only if compiling
   ModemManager daemon or the mmcli.
2012-10-04 10:17:12 +02:00
Aleksander Morgado 814bb21e9b nokia: ensure we skip power down during init 2012-10-01 16:40:52 +02:00
Aleksander Morgado 0436b3e457 api,introspection: report list of drivers, not just one
Different ports of the same modem may get handled by different drivers. We
therefore need to provide a list of drivers (new `Modem.Drivers' property with
signature 'as') instead of just one (removed `Modem.Driver' property with
signature 's').

$ sudo mmcli -m 0 | grep drivers
           |        drivers: 'qcserial, qmi_wwan'
2012-08-24 13:34:51 +02:00
Aleksander Morgado b2ada906b0 nokia: fix SIM object creation 2012-08-23 18:56:21 +02:00
Aleksander Morgado 6c9a7c5450 nokia: implement custom supported modes loading
Nokia handsets report incorrect modes in AT+WS46?, so just fully skip that.
2012-08-09 11:48:27 +02:00
Aleksander Morgado bdcc4becab nokia: no need specific port grabbing
The udev tags for port grabbing hints are for Icera-based Nokia modems only.
2012-08-06 20:07:27 +02:00
Aleksander Morgado 5c2df4a0ca nokia-icera: new plugin to handle Icera-based Nokia modems
We have a whole new plugin because the whole probing process is different
between the Icera and non-Icera based Nokia modems.
2012-08-06 20:07:27 +02:00
Aleksander Morgado 3b6a20dfb6 nokia: don't support Icera-based modems
Nokia CS Internet sticks are based on Icera chipsets; the default Nokia plugin
shouldn't handle them.
2012-08-06 20:07:27 +02:00
Dan Williams 8740f0b72f trivial: comment spelling fix 2012-08-06 20:07:26 +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 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 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 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 39eaeb2c4e nokia: new Nokia-specific source directory 2012-03-16 14:28:14 +01:00