Thread (4 messages) 4 messages, 2 authors, 2015-06-22

Re: BLE Advertise and Scan at the same time?

From: dogan yazar <hidden>
Date: 2015-06-22 12:51:24

Thanks for the answer Marcel. I tried this by enabling advertisement
(hciconfig hci0 leadv) and then "btmgmt find" but then hci adapter got
into some weird state. Was not possible to disable scanning anymore.
Same problem when I did bluetoothctl scan on. Probably my chip does
not support it.

I also tried "btmgmt advertising on" rather than hciconfig leadv but
it did not do anything at all. Is "hciconfig hci0 leadv" only way to
enable advertising until we move to kernel 4.1 and do it via DBUS api?

And lastly, still I seem to need hcitool to be able to set the
advertisement data otherwise android ble clients refuse to connect
(they think it is a classic bluetooth I think). It is no longer a
issue after I set GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED via hcitool cmd
i.e. hcitool -i hci0 cmd 0x08 0x0008 3 02 01 05

On Mon, Jun 22, 2015 at 12:22 PM, Marcel Holtmann [off-list ref] wro=
te:
Hi Dogan,
quoted
Is it possible to advertise (leadv) and scan (scan on) using the same
ble adaper?
The moment that I enable scanning (scan on) with bluetoothctl, leadv
is disabled.
that depends on the Bluetooth chip you are using. Inside the kernel we cu=
rrently play it safe and disable one when we start the other. It will be ho=
wever re-enabled when the scan finished. You need to use btmgmt and not hci=
tool. Using hcitool messes with raw HCI packets. The kernel logic will alwa=
ys overwrite these as it sees fit.
To allow simultaneous states, someone would have to work on that and figu=
re out which chips support what. Once that is done, there is no problem in =
lifting some of the restrictions we imposed.
quoted
The reason I want is to have a GATT client and server at the same time.
Actually that has never been a problem. You can have a GATT client and se=
rver at the same time and most likely you do already anyway. The question y=
ou are asking is if you can be in central and peripheral role at the same t=
ime.
Regards

Marcel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help