Commit Graph
428 Commits
Author SHA1 Message Date
Aleksander Morgado 060ca3ff49 iridium: set baudrate to 9600 bps
This will be set after flashing the port during modem enabling.
2012-03-15 14:15:07 +01:00
Aleksander Morgado 1357880686 iridium: only CS mode supported by the Iridium modems 2012-03-15 14:15:07 +01:00
Aleksander Morgado b57d32acbe iridium: don't try to scan for networks
The Iridium network will be the only one reported in the scan results.
2012-03-15 14:15:07 +01:00
Aleksander Morgado 35f0b773ef iridium: implement specific operator name and code retrieval 2012-03-15 14:15:07 +01:00
Aleksander Morgado 1bcecc9e1d iridium: use +CSQF to get signal quality 2012-03-15 14:15:07 +01:00
Aleksander Morgado 50c5d69be6 iridium: use SM storage for mem1, mem2 and mem3 2012-03-15 14:15:07 +01:00
Aleksander Morgado 2a351a6910 iridium: don't try to load SIM identifier or operator info 2012-03-15 14:15:07 +01:00
Aleksander Morgado 789cf58ace iridium: setup RTS/CTS flow control 2012-03-15 14:15:07 +01:00
Aleksander Morgado 8456dae53d iridium: no need to power up/down the modem 2012-03-15 14:15:07 +01:00
Aleksander Morgado 64542961a3 iridium: start porting the Iridium plugin to the '06-api' codebase 2012-03-15 14:15:07 +01:00
Aleksander Morgado 5589df8946 cinterion: implement custom SMS indication enabling 2012-03-15 14:15:06 +01:00
Aleksander Morgado 8b7b614105 core: rework port grabbing and organization
Make port roles more flexible.  We have modems that do PPP
on interfaces other than the primary interface, and that
wasn't possible with the old code.  So clean up all that
logic and move the port organization code into the core
so we can reduce code in the plugins.

In the new world order, the plugins say whether the port
is a QCDM port, an AT port, or ignored.  If it's an AT
port the plugins get to tag it as primary, secondary, or
PPP, or any combination of the 3.  This allows for modems
where PPP should really be done on the secondary port
(Huawei E220, Sierra devices) so that the primary port
stays open for command and status.

After all ports are grabbed by the generic classes, they get
"organized", which assigns various ports to the roles of
PRIMARY, SECONDARY, DATA, and QCDM based on specific rules
and hints that the plugin provided (which are expressed as
MMAtPortFlags).

The plugin code is responsible for determining the port
hints (ie MMAtPortFlags) at probe time, instead of having
a combination of the plugin and the modem class do the
job.  This simplifies things greatly for the plugins at
the expense of more complicated logic in the core.

This is the port of commit 96505d42ed62327101dcee7c2bf31177b0bb1c9f
to the 06-api branch.
2012-03-15 14:15:05 +01:00
Aleksander Morgado 8c8e5efa14 cinterion: SMS storage mem3 doesn't support 'ME' 2012-03-15 14:15:03 +01:00
Aleksander Morgado a826e7c8ae cinterion: fix power down sequence
Need to complete the operation result at some point!
2012-03-15 14:15:02 +01:00
Aleksander Morgado a8ca3df9be plugins: always set a proper error domain in GErrors 2012-03-15 14:15:00 +01:00
Aleksander Morgado 18531e5a2d cinterion: implement supported bands loading logic 2012-03-15 14:14:56 +01:00
Aleksander Morgado 45ca92ee2e cinterion: implement allowed modes setting logic 2012-03-15 14:14:56 +01:00
Aleksander Morgado a6301ee0c4 cinterion: implement access technology loading logic 2012-03-15 14:14:56 +01:00
Aleksander Morgado 6d5c98b30c cinterion: implement custom unsolicited events enabling command 2012-03-15 14:14:56 +01:00
Aleksander Morgado 15f2c56f89 cinterion: avoid after-power-up step
Split the after power up step into:
 * querying supported functionality status during the first power-down request.
 * querying supported networks during supported modes loading.
2012-03-15 14:14:51 +01:00
Aleksander Morgado 771e3c4ff7 nokia: plugin fully ported to the new codebase 2012-03-15 14:14:50 +01:00
Aleksander Morgado 983f081f30 nokia: include port type hints
Ported commit 44194ac to the new codebase.
2012-03-15 14:14:50 +01:00
Aleksander Morgado c0e0649a82 core,plugins: handle missing `last_command' flags
These didn't get compilation errors when `MMBaseModemAtResponseProcessor'
was changed, as we're doing an explicit casting.
2012-03-15 14:14:50 +01:00
Dan Williams ded020efeb gobi: ensure QCDM ports are correctly grabbed
Need to suggest that it's QCDM since the MMPortProbe stuff
doesn't get passed through to mm_base_modem_grab_port() so
we can't detect QCDM ports automatically there.
2012-03-15 14:14:48 +01:00
Dan Williams 0ccfcbd986 gobi: port to 06-api 2012-03-15 14:14:48 +01:00
Aleksander Morgado 41bf841334 generic: allow QCDM ports 2012-03-15 14:14:42 +01:00
Aleksander Morgado 7b506bc8a6 iface-modem: renamed modem_flow_control' to setup_flow_control'
Changed broadband modem and Cinterion plugin accordingly.
2012-03-15 14:14:40 +01:00
Aleksander Morgado 0384483121 nokia: start porting the Nokia plugin to the new codebase 2012-03-15 14:14:33 +01:00
Aleksander Morgado 88cc35b850 cinterion: ignore non-AT ports 2012-03-15 14:14:33 +01:00
Aleksander Morgado 71bf6b0048 cinterion: start porting features from the old implementation
Currently ported:
 * Power Down
 * Flow control
 * After power up setup:
   ** Available functionality status
   ** Supported networks
2012-03-15 14:14:31 +01:00
Aleksander Morgado c345f5fe63 cinterion: re-enabled Cinterion plugin
Just dummy plugin for now.
2012-03-15 14:14:31 +01:00
Aleksander Morgado c58db4e015 core: start using our newly defined errors 2012-03-15 14:14:25 +01:00
Aleksander Morgado 86aa9df849 core: start using MMBroadbandModem objects
We chain up the Generic plugin created MMBroadbandModem objects within the
GDBusObjectManagerServer in MMManager, so that they get properly exported in
DBus.
2012-03-15 14:14:24 +01:00
Aleksander Morgado 2588c17ad3 generic: rewrite the plugin to use the new port probing 2012-03-15 14:14:21 +01:00
Aleksander Morgado 7b687b4aae build: temporarily disable compilation of plugins 2012-03-15 14:14:21 +01:00
Aleksander Morgado 6b69605633 build: chain up new 0.6 API and link against libmm-common
Also removed the MMSerialError implementation from `src/mm-errors.[h|c]', as it
is now included in the new `include/ModemManager-errors.h' header file. All the
other enums and errors without clashing names will be ported afterwards to the
new base code.
2012-03-15 14:14:19 +01:00
Aleksander Morgado da99e8ddad build: use common CPPFLAGS and LDFLAGS for all plugins
Also include $(top_srcdir)/generated and $(top_builddir)/generated in the
common preprocessor flags.
2012-03-15 14:14:18 +01:00
Aleksander Morgado 8e83a10c1e hso: disable echo removal
Built-in echo removal conflicts with _OWANCALL unsolicited messages, which are
not coming prefixed with <CR><LF>.

Fixes LP#953294
2012-03-13 20:14:58 +01:00
Aleksander Morgado 7c9ba7faf2 samsung: remove unused variables 2012-03-05 16:59:52 +01:00
Dan Williams 30e7063094 iridium: convert to new port grabbing scheme 2012-02-28 10:06:04 -06:00
Dan Williams 4dad94d500 core: rework port grabbing and organization
Make port roles more flexible.  We have modems that do PPP
on interfaces other than the primary interface, and that
wasn't possible with the old code.  So clean up all that
logic and move the port organization code into the core
so we can reduce code in the plugins.

In the new world order, the plugins say whether the port
is a QCDM port, an AT port, or ignored.  If it's an AT
port the plugins get to tag it as primary, secondary, or
PPP, or any combination of the 3.  This allows for modems
where PPP should really be done on the secondary port
(Huawei E220, Sierra devices) so that the primary port
stays open for command and status.

Modem subclasses no longer get asked to handle port grabbing
themselves.  Instead, that's now done by the generic classes
(MMGenericCdma and MMGenericGsm) and the plugins are notified
when a port is grabbed so they can add unsolicited response
handlers for it.  After all ports are grabbed by the generic
classes, they get "organized", which assigns various ports
to the roles of PRIMARY, SECONDARY, DATA, and QCDM based
on specific rules and hints that the plugin provided (which
are expressed as MMAtPortFlags).  The plugins then have
a chance to perform fixups on the primary port if they choose.

The plugin code is responsible for determining the port
hints (ie MMAtPortFlags) at probe time, instead of having
a combination of the plugin and the modem class do the
job.  This simplifies things greatly for the plugins at
the expense of more complicated logic in the core.
2012-02-28 10:06:04 -06:00
Aleksander Morgado f2af208f05 iridium: don't try to update signal quality if not registered
Seems that launching AT+CSQF when not registered ends up timing out. AT+CSQF
is meant to be the fast version to get the signal quality, and is expected to
return instantly with the last cached signal quality value. But if we never
got registered, there is no such cached value, so it probably waits to get the
first one.
2012-02-17 13:25:03 +01:00
Aleksander Morgado 5371cce11d iridium: ensure cached capabilities get checked 2012-02-17 13:25:03 +01:00
Aleksander Morgado fc88c53fad iridium: handle Motorola-branded Iridium modems 2012-02-17 13:25:03 +01:00
Aleksander Morgado 8b1016f4e1 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-02-17 13:25:03 +01:00
Aleksander Morgado d52b38b1f2 iridium: set bearer service type to 9600bps V.110 2012-02-17 13:25:03 +01:00
Aleksander Morgado 707647da45 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.

We will also avoid sending any power-up command, as not needed.
2012-02-17 13:25:03 +01:00
Aleksander Morgado c0f390470e iridium: allow up to 200s to configure IP 2012-02-17 13:25:03 +01:00
Aleksander Morgado e6d085246f iridium: ensure 9600 baudrate is used 2012-02-17 13:25:03 +01:00
Aleksander Morgado 4b0cd28baf iridium: fix operator name and code to be reported 2012-02-17 13:25:02 +01:00