Re: [PATCH BlueZ v5 00/14] LE General Connection Establishment procedure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



João,

On 09/04/2012 10:04 PM, João Paulo Rechi Vita wrote:
This series implement the LE General Connection Establishment procedure
for LE connections.

If there are LE bonded devices marked for auto connection they are added
to a connect_list on the adapter. When there is any device on this list
scan is performed continuously. When a device is found the connect_list
How do we stop this scan ? Do we need to remove all auto-connect settings?

is checked. If that device is on the list scan is stopped and a
connection attempt is made to that device.
Do we have a timeout for this ? What happens if we succeed ? Do we start scanning again if more devices are set to auto-connect ? What happens when we fail a connection ? Do we retry to the same or start scanning again ?


If any client tries to perform discovery and the scan for the General
Connection Establishment procedure is active, the discovery request is
queued and performed right after the GCEP scan session finishes.

I'm am having difficulties understanding the logic here. You say that as long as we have bonded devices set for auto-connect, the GCE scan will run until a connection is made?. What happens if we do not find any device ? Do we scan forever?

This is a bit of a problem - device discovery can not be queued. Discovering devices is a user initiated command, and it should run whenever a client requires it. When a user requests for a list of devices, he expects to get the list. He does not care about background logic. The proper logic here is to pause the background scanning, discover devices (if LE scan reveals bonded devices that have auto-connect setting they should connect and then resume the discovery). After Device discovery is terminated, background connect scan should be continued.


This series changes quite a lot the LE connection logic, but we've been
testing and using this code at INdT for about 4 weeks. Any comments and
more testing are appreciated.

Claudio Takahasi (6):
   core: Control connections based on adapter state
   mgmt: Add LE scanning callback
   core: Replace interleaved by LE scanning
   core: Start LE scanning when a device requests
   core: Queue discovery if scanning is active
   core: Re-connect for ECONNRESET or ECONNABORTED

João Paulo Rechi Vita (7):
   mgmt: Print error message when start_discovery fails
   core: Add compare function for bdaddr in a struct btd_device
   core: Add a list of LE devices to connect
   core: Use adapter connect list for LE connections
   core: Mutually exclude concurrent connections
   mgmt: Add address type to bonding debug message
   core: Suspend scanning before connect on pairing

Paulo Alcantara (1):
   core: Disable unnecessary auto connections

  src/adapter.c | 193 ++++++++++++++++++++++++++++++++++++++++++++-------
  src/adapter.h |   5 ++
  src/device.c  | 217 +++++++++++++++++++++++++++++-----------------------------
  src/device.h  |   2 +
  src/mgmt.c    |  44 +++++++++++-
  src/mgmt.h    |   1 +
  6 files changed, 325 insertions(+), 137 deletions(-)



BR,
Chen Ganir

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux