<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ModemManager.git/plugins/mm-plugin-anydata.c, branch 06-api</title>
<subtitle>gitlab.freedesktop.org: mobile-broadband/ModemManager.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ModemManager.git/'/>
<entry>
<title>core: rework port grabbing and organization</title>
<updated>2012-02-28T16:06:04+00:00</updated>
<author>
<name>Dan Williams</name>
<email>dcbw@redhat.com</email>
</author>
<published>2012-02-01T07:43:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ModemManager.git/commit/?id=4dad94d5004f325e25dc3b09d87585eab38d4c3f'/>
<id>4dad94d5004f325e25dc3b09d87585eab38d4c3f</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>plugins: propagate cached probing result to supports task</title>
<updated>2011-06-06T15:21:47+00:00</updated>
<author>
<name>Aleksander Morgado</name>
<email>aleksander@lanedo.com</email>
</author>
<published>2011-06-02T10:33:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ModemManager.git/commit/?id=f9f6d1dfdb070bec05e5e7385f8d4eb95e573b6f'/>
<id>f9f6d1dfdb070bec05e5e7385f8d4eb95e573b6f</id>
<content type='text'>
We need to ensure that the supports task always has the results of the probing,
no matter if the probing was just launched by the plugin grabbing the port, or
by a previous plugin. We do this during supports_port(), by propagating to the
supports task any possible previously cached probing results.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to ensure that the supports task always has the results of the probing,
no matter if the probing was just launched by the plugin grabbing the port, or
by a previous plugin. We do this during supports_port(), by propagating to the
supports task any possible previously cached probing results.
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: allow plugins to specify probe-time send_delay</title>
<updated>2011-04-08T21:19:36+00:00</updated>
<author>
<name>Dan Williams</name>
<email>dcbw@redhat.com</email>
</author>
<published>2011-04-08T21:19:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ModemManager.git/commit/?id=ed5aefb3cb1d7db3a0b19678d4568d813719eb01'/>
<id>ed5aefb3cb1d7db3a0b19678d4568d813719eb01</id>
<content type='text'>
Let modems we know don't suck use a zero send-delay at probe time,
which greatly reduces time required to probe AT-compatible ports.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let modems we know don't suck use a zero send-delay at probe time,
which greatly reduces time required to probe AT-compatible ports.
</pre>
</div>
</content>
</entry>
<entry>
<title>core: use hardware IDs as part of DeviceIdentifier</title>
<updated>2010-10-22T16:06:48+00:00</updated>
<author>
<name>Dan Williams</name>
<email>dcbw@redhat.com</email>
</author>
<published>2010-10-22T16:06:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ModemManager.git/commit/?id=7ae8ffe21b9e3bb350dac2f2d34d0711b3255d26'/>
<id>7ae8ffe21b9e3bb350dac2f2d34d0711b3255d26</id>
<content type='text'>
Pass the device's hardware IDs through modem creation and use them
when calculating the device's identifier.  Add a bunch of testcases
for real hardware to ensure we don't break the device ID in the
future unless we really want to.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pass the device's hardware IDs through modem creation and use them
when calculating the device's identifier.  Add a bunch of testcases
for real hardware to ensure we don't break the device ID in the
future unless we really want to.
</pre>
</div>
</content>
</entry>
<entry>
<title>core: move physical device checking into the manager</title>
<updated>2010-03-30T21:50:40+00:00</updated>
<author>
<name>Dan Williams</name>
<email>dcbw@redhat.com</email>
</author>
<published>2010-03-30T21:50:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ModemManager.git/commit/?id=720e38aec0a50aa2136f01b7f3620a4e261c0406'/>
<id>720e38aec0a50aa2136f01b7f3620a4e261c0406</id>
<content type='text'>
It turns out that the manager needs to know about the physical
device so we can prevent multiple plugins from claiming ports on
the same modem.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It turns out that the manager needs to know about the physical
device so we can prevent multiple plugins from claiming ports on
the same modem.
</pre>
</div>
</content>
</entry>
<entry>
<title>core: grab probed QCDM ports for plugins where they are useful</title>
<updated>2010-03-23T08:36:00+00:00</updated>
<author>
<name>Dan Williams</name>
<email>dcbw@redhat.com</email>
</author>
<published>2010-03-23T08:36:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ModemManager.git/commit/?id=bcfb75d88de4679d1ca2dfc65395c49315534ec0'/>
<id>bcfb75d88de4679d1ca2dfc65395c49315534ec0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>anydata: add plugin for AnyData CDMA devices (rh #547294)</title>
<updated>2010-01-19T21:19:55+00:00</updated>
<author>
<name>Dan Williams</name>
<email>dcbw@redhat.com</email>
</author>
<published>2010-01-19T21:19:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ModemManager.git/commit/?id=19c988d92b67b56d7c87993f7a8efd984124df39'/>
<id>19c988d92b67b56d7c87993f7a8efd984124df39</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
