Bluetooth

apt-get install bluez bluez-tools d-feet
sudo usermod -a -G bluetooth $USER
sudo setcap 'cap_net_raw,cap_net_admin+eip' `which hcitool`
sudo setcap 'cap_net_raw,cap_net_admin+eip' `which hciconfig`

debug

Enable debug output of bluetooth.service:

systemctl edit bluetooth.service
[Service]
ExecStart=
ExecStart=/usr/libexec/bluetooth/bluetoothd -dn

NOTE: empty ExecStart= is required to remove previous ExecStart (to prevent duplicate entries)

systemctl daemon-reload
systemctl restart bluetooth.service

hcitool

hciconfig
hciconfig hci0 up
hcitool dev
hcitool lescan
 
hciconfig hci0 lestates

gatttool

gatttool -b AA:BB:CC:DD:EE:FF -I

  • connect
  • characteristics
  • char-read-uuid 00002a00-0000-1000-8000-00805f9b34fb

d-feet

d-feet

CSR 4.0 USB adapter

It is based on CSR 8510 A10 aka Sitecom CNT-524 CSR = Cambridge Silicon Radio

Supports BLE:

usb 3-14: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91
usb 3-14: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 3-14: Product: CSR8510 A10

without BLE support:

usb 3-14: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=68.17
usb 3-14: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 3-14: Product: CSR8510 A10

Difference is in bcdDevice value, which corresponds to device release number.

hciconfig -a
hci1:	Type: Primary  Bus: USB
	HCI Version: 3.0 (0x5)  Revision: 0x1aa1
	LMP Version: 3.0 (0x5)  Subversion: 0x1aa1
	Manufacturer: Cambridge Silicon Radio (10)
 
hci0:	Type: Primary  Bus: USB
	HCI Version: 4.0 (0x6)  Revision: 0x22bb
	LMP Version: 4.0 (0x6)  Subversion: 0x22bb
	Manufacturer: Cambridge Silicon Radio (10)

Android APKs

  • nRF Connect for Mobile
  • nRF Toolbox for BLE
  • nRF Logger