From: Daniel Wagner <[email protected]>

Hi,

This is the 3rd attempt to get DUN done (pun!). The first and second
attempt was to expose DUN devices through the oFono API. While this
sounds like a reasonable way to go it has some - let's put it
this way - ugliness involved. 

 - No SIM interface: This is not so bad but still we have to hack around
   this problem. Since we need some uniqueness to distinguish between
   services, the Serial property of the Modem interface has to be
   abused for this.
 - No NetworkRegistration interface: DUN only specifies ATD*99# AT command.
   All other AT commands might be supported (such as AT+COPS=?) but are not
   necessarily there. That means we might not get a name for a network. Whereas
   you can rely to get this name for a regular modem you can't on DUN ones.
   And guess what you cannot distinguish between real hardware modems and
   virtual ones unless...
 - Abuse Modem.Type: ... add 'dun' type and adapt the oFono plugin. That
   _is_ though a very bad idea. We just introduce a mighty switch for 
   different oFono API behavior. Denis used strong words against this
   approach.
 - oFono internal design: oFono is not designed to handle this kind
   of modems. The dunmodem implementation is rather obscure. The result
   of this is that, as soon as a DUN device pops up, an Serial channel is
   opened (rfcomm) and kept alive. Unfortunately, there are phones outside
   in the wild which like to close the serial link after PPP stops.
   With oFono's separation of concerns this is not easy to get working.
 - Technology mess: In order to get DUN modems working you have to enable 
Cellular
   and Bluetooth technology. This is really really bad because we expose
   the implementation details to the user. Sure, DUN is kind of dying etc.
   but then, I don't think our standards are so low.

cheers,
daniel

v2: - Project was renamed to Dundee.

v1: - Elect API change: Connect()/Disconect() dropped, instead 
      SetProperty("Active", TRUE/FALSE)

v0: - initial version

Daniel Wagner (12):
  dundee: Add emply plugin
  dundee: Watch service on D-Bus
  dundee: Monitor DeviceAdded/DeviceRemoved signal
  dundee: Get modems when starting
  dundee: Parse device properties in add_device
  dundee: Create connman device
  dundee: Monitor Device.PropertyChanged signal
  dundee: Register connman_network at core
  dundee: Update network connected status
  dundee: Set device active/inactive
  dundee: Check ownership of device
  bluetooth: Check ownership of device

 Makefile.am         |    1 +
 Makefile.plugins    |   13 +
 bootstrap-configure |    1 +
 configure.ac        |    6 +
 plugins/bluetooth.c |   17 +-
 plugins/dundee.c    |  811 +++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 848 insertions(+), 1 deletions(-)
 create mode 100644 plugins/dundee.c

-- 
1.7.8.110.g4cb5d1

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to