The following steps are required to use the CYW20735B1 evaluation kit as normal HCI device on Linux with BlueZ.
1. Setup as HCI device
You need to set the baud rate to 3 Mbit/s. Replace
/dev/ttyUSB0 with your device.
btattach -B /dev/ttyUSB0 -S 3000000
If this does not work directly, use:
stty -F /dev/ttyUSB0 3000000 btattach -B /dev/ttyUSB0
Sometimes, you need to plug/unplug the evaluation board multiple times and run a combination of the commands above.
If setup was successful can be checked with
hciconfig. A MAC address with all zeros indicates that the baud rate
was not set correctly and you need to try again.
2. Use with BlueZ
Assuming that you already have a regular Bluetooth device, you new device is
hciconfig hci1 up
You can list your HCI devices:
3. Command line tools for connections
Scanning for devices:
hcitool scan hcitool lescan
Connections and pairing:
bluetoothctl command prompt:
power on agent on default-agent scan on
Optional - accept connections:
advertise on pairable on discoverable on
Do a pairing and then connect:
pair aa:bb:cc:dd:ee:ff connect aa:bb:cc:dd:ee:ff
On some devices, diagnostic logging for LMP and LCP already works out of the box. Note that diagnostics can do more, but the additional features are currently not integrated into BlueZ or the Linux kernel.
To enable diagnostics, execute:
echo 1 > /sys/kernel/debug/bluetooth/hci0/vendor_diag
By default, this entry is only created for Intel and Broadcom chips. The evaluation board claims to be Cypress, a different vendor ID, thus the vendor diagnostics are missing. BlueZ already comes with a monitor that decodes some parts of the diagnostic traffic, simply run: