On Thu, Sep 30, 2010 at 11:28 AM, Claudio Takahasi <claudio.takahasi@xxxxxxxxxxxxx> wrote: > On Thu, Sep 30, 2010 at 4:39 AM, Johan Hedberg <johan.hedberg@xxxxxxxxx> wrote: >> Hi Claudio, >> >> On Wed, Sep 29, 2010, Claudio Takahasi wrote: >>> StartDiscovery() triggers all the process. The adapter type: BR/EDR >>> only/LE only or dual mode is hidden from the higher layers. >>> So, your suggestion it try to hide all discovery details inside the >>> hciops as much as possible? >> >> That was the idea yes, but I'm not 100% sure that it's the best >> approach. Another question is also how do we want to represent this with >> the new management interface. Should the kernel do it "all" through a >> single request from userspace or should userspace control the separate >> BR/EDR and LE discoveries. If it's the former, then having a single >> adapter_ops callback makes sense. If it's the later then we should >> probably have two separate ones. Either way I now realize that to >> implement this with a single callback we'd need to have the HCI event >> processing moved over to hciops and that's not something that will >> happen very quickly. So maybe it's better to have these as two separate >> adapter_ops callbacks for now. >> >> Johan >> > > Another point is: scanning needs to be disabled "actively", it is not > possible to inform a scanning length like inquiry, it is necessary to > create a timeout to disable the scanning. Joining inquiry and scanning > inside a single adapter_ops callback will be hard to control the > discovery procedure "states". So for now, I prefer two separate > callbacks due the scanning timeout and HCI events processing. > > However, for the new management interface, one single request seems to > be more appropriate but extra requests will be necessary to setup the > scan and inquiry parameters. > > Claudio > New pull request! Patches rebased and a new hciops callback function has been added to export the write LE host supported command. The following changes since commit 3a8386d428e385d97b95a890623362321a7e3a19: Fix left open socket warning for attribute server (2010-09-30 17:26:55 -0300) are available in the git repository at: git://git.infradead.org/users/cktakahasi/bluez.git for-upstream Claudio Takahasi (23): Add LE start and stop scanning Remove RSSI field from the advertising report event Decoding the RSSI parameter from the advertising report event Send Discovering property "FALSE" when the interleave finishes Add length argument on hciops start discovery function Stop inquiry using the length parameter Fix remote name resolution for interleave discovery Add Write LE host supported function Set the LE host supported and disable simultaneous LE and BR/EDR flags Add extended feature mask constants definition Read the local extended features Stop LE scanning when discovery is suspended Rename hciops {start, stop}_discovery to {start, stop}_inquiry Don't enter on interleave mode if there isn't active sessions Code cleanup: improving inquiry logic Clear the remote device found list in the state transition Fix periodic inquiry signals Fixing DeviceDisappeared signal Postpone discovery if still resolving names Add adapter discovery type function Do not send another Discovering TRUE signal if still resolving names Forcing periodic inquiry exit Fix interleave scanning Vinicius Costa Gomes (1): Add BR/EDR LE interleaved discovery lib/hci.c | 29 +++++ lib/hci.h | 17 +++- lib/hci_lib.h | 1 + plugins/hciops.c | 69 +++++++++++- src/adapter.c | 301 +++++++++++++++++++++++++++++++++++++----------------- src/adapter.h | 38 ++++--- src/dbus-hci.c | 45 +++++++-- src/dbus-hci.h | 1 + src/security.c | 131 ++++++++++++++---------- 9 files changed, 449 insertions(+), 183 deletions(-) -- 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