All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] Fix CDMA support with composite plugins
@ 2013-03-28 14:21 Forest Bond
  2013-03-28 14:22 ` [RFC PATCH 1/3] modem: Allow setting boolean properties Forest Bond
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Forest Bond @ 2013-03-28 14:21 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 2390 bytes --]

Hi,

Support for Huawei CDMA devices has been broken since the huaweicdma
plugin was merged into the huawei plugin.  The root cause for the
breakage is that:

1. CDMA devices rely on being automatically set to online state once
   enabled.  This is because they do not expose a SIM interface, so
   clients (e.g. ConnMan) don't have a good way to know that a device is
   ready to be set online.

2. The modem is only automatically set online if the modem driver does
   not define a set_online callback.  But since the huawei plugin
   supports both GSM and CDMA devices, it must provide a set_online
   callback.  So oFono core does not automatically set Huawei CDMA
   modems online when enabled.

On IRC Denis suggested solving this problem by splitting CDMA support
from the huawei plugin so that we can again have a huaweicdma driver
with no set_online callback.  I looked into this and of course it is
possible.  But to me it feels like a big step backward for the huawei
driver.

The split plugin approach also complicates handling of Sierra Wireless
CDMA devices (which I'm working on).  It forces us to maintain a
database of USB IDs mapped to the right driver to use.  But if we use a
single driver we can detect CDMA support when the device is enabled like
the huawei driver does.

As Denis said, CDMA support in oFono is a hack because oFono is
SIM-centric.  Right now clients have to jump through a different set of
hoops to get a CDMA device online than they do for a GSM device.  So the
root cause of the CDMA problem is that the D-BUS API exposed for CDMA
devices is crippled, which creates the need to automatically set CDMA
devices online.  The long term fix for this problem is to either further
abstract the D-Bus API from the device or make CDMA devices look more
like GSM devices.

But in the meantime what we really want is a way to tell the core to
automatically set a device online even if the modem driver provides a
set_online callback.  So I propose the following patch series as a
simple way to do this.

Thanks,
Forest

Forest Bond (3):
  modem: Allow setting boolean properties
  modem: Support modem property "AlwaysOnline"
  huawei: Set property "AlwaysOnline" for CDMA modems

 plugins/huawei.c |    3 +++
 src/modem.c      |   18 +++++++++++++++---
 2 files changed, 18 insertions(+), 3 deletions(-)

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-03-28 16:33 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-28 14:21 [RFC PATCH 0/3] Fix CDMA support with composite plugins Forest Bond
2013-03-28 14:22 ` [RFC PATCH 1/3] modem: Allow setting boolean properties Forest Bond
2013-03-28 14:52   ` Denis Kenzior
2013-03-28 14:22 ` [RFC PATCH 2/3] modem: Support modem property "AlwaysOnline" Forest Bond
2013-03-28 14:55   ` Denis Kenzior
2013-03-28 15:36     ` Forest Bond
2013-03-28 16:05       ` Denis Kenzior
2013-03-28 16:33         ` Forest Bond
2013-03-28 14:22 ` [RFC PATCH 3/3] huawei: Set property "AlwaysOnline" for CDMA modems Forest Bond
2013-03-28 14:54   ` Denis Kenzior
2013-03-28 15:34     ` Forest Bond

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.