Commit Graph
14 Commits
Author SHA1 Message Date
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
Thomas Tuttle 0e246fb61d time: poll for timezone
Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
2012-01-27 15:14:24 -06:00
Thomas Tuttle 8121b8e319 time: implement ModemTime in ModemBase
Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
2012-01-27 14:38:52 -06:00
Eric Shienbrood e7b6b2dc1c core: keep track of all PIN retry counts
Added a PinRetryCounts property on org.freedesktop.ModemManager.Modem.
This is dictionary that records the number of PIN tries remaining
for each of the possible PIN code types for which the modem is
capable of reporting the count. Also, these counts are kept up
to date across ChangePin and EnablePin operations, not just when
an unlock is attempted.
2011-11-16 17:42:50 -06:00
Aleksander Morgado 28f64090df core: don't include private headers from glib
The "glib/gtypes.h" is now considered private, and only "glib.h" should be
included directly.
2011-10-24 21:44:30 +02:00
Aleksander Morgado 22f15b87b5 base: disable the modem if up to N consecutive commands get timed out
This feature is initially disabled for all modems, but plugins can enable it by
setting a value greater than 0 for the "max-timeouts" property when creating the
modem object.
2011-06-06 17:20:17 +02:00
Dan Williams 88c538314a core: EquipmentIdentity -> EquipmentIdentifier 2010-06-22 17:14:13 -07:00
Torgny Johansson 52929a2c92 core: add modem EquipmentIdentity property to report IMEI/ESN/MEID 2010-06-22 14:36:49 -07:00
Torgny Johansson f179a56908 gsm: add UnlockRetries property
Which reports the # of attempts remaining for the current PIN required
by the device or SIM.

Some modifications/cleanups by dcbw.
2010-06-22 14:05:09 -07:00
Dan Williams 85fc71818e core: have modem base class handle card information 2010-03-19 11:01:19 -07:00
Dan Williams d8ea5ea003 gsm: fix initial PIN checking for devices that echo by default
If the modem echoed commands by	default (since we may not have
initialized the modem yet), the echoed command would confuse
the PIN check reply parser.
2010-02-09 23:44:23 -08:00
Norbert Frese 3d0f2ecf12 core: add an UnlockRequired property that provides lock status (bgo #604551)
Clients can check the property to determine lock/unlock status and thus
unlock the modem before trying to connect if required.

Bits of the patch by dcbw (see the bug).
2010-01-31 11:06:55 -08:00
Dan Williams 49b5ffd076 core: use G_DEFINE_TYPE_* instead of rolling our own
Use the macro; save some trees.
2009-10-26 17:56:48 -07:00
Dan Williams d5a43aa862 udev: modem port refactor; convert 'hso' to udev
Create a base MMPort class to handle both tty and net ports generically,
and move plugins over to that.  Also port the 'hso' plugin to udev.
2009-06-20 10:49:09 -04:00