On Mon, Aug 24, 2015 at 11:09 AM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote: >>>> Does Bluez provide a way to detect the compatibility of a Bluetooth >>>> adapter with Bluetooth 4.0/Low Energy? >>> >>> That would be the mgmt settings bit number 9 (see doc/mgmt-api.txt). >>> bluetoothd keeps track of this (and enables it automatically if >>> available) and you should also be able to see it e.g. with "btmgmt >>> info". The mgmt interface tells you both whether it's supported as well >>> as whether it's enabled. >>> >> >> Thank you! >> >> In the meantime, I found another way to do it, using >> hci_read_local_features() and checking for the appropriate bit from >> lmp_features_map, specifically features[4]&0x40. >> >> Is there any reason I should prefer one approach over the other? > > raw HCI access is a bad idea. Do not do that. The btmgmt info command is what gives you most information. > > Index list with 1 item > hci0: Primary controller > addr 98:58:8A:xx:xx:xx version 6 manufacturer 15 class 0x000000 > supported settings: powered connectable fast-connectable discoverable bondable link-security ssp br/edr hs le advertising secure-conn debug-keys privacy configuration static-addr > current settings: powered bondable ssp br/edr le secure-conn > name BlueZ > short name > hci0: Configuration options > supported options: public-address > missing options: > > It will easily tell you if LE is supported and also if it has been enabled. Actually, I already need raw HCI access because the devices I am communicating with request a LE connection interval that is unnecessarily long, and there doesn't seem to be another way to override this (http://thread.gmane.org/gmane.linux.bluez.kernel/63778/focus=63819). > The raw features are exposed via /sys/kernel/debug/bluetooth/hci0/features file. However that is not a stable API. That is for manual debugging. Got it. I'll use the mgmt_* calls for feature detection if they're more stable. Thanks, Dan -- 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