3 Replies Latest reply on May 4, 2019 6:57 PM by ZhengbaoZ_96

    Bluetooth with CYW43340 over 3-wire UART HCI protocol on Linux

    koric_4205916

      Hello all,

       

      I’m having a bit of an issue with the CYW43340 providing Bluetooth to an ARM-Linux host.

       

      We're using the HCI "H5" protocol to communicate with the controller over UART.

      We're using linux kernel version 4.14

      We're using Bluez5 as my BT stack (perhaps this is the problem, do I need BSA?)

       

      First, I had difficulty even getting the chip to communicate over HCI-H5 instead of HCI-H4. But, once I got past that,

      things seemed ok. Nonetheless, I'm not using hciattach 43xx. I'm using hciattach 3wire to make this happen. This is another potential problem.

      Perhaps the chip does do 3wire but also requires the proprietary HCI support from the bcm43xx mode.

       

      Second, Once I do get past that problem, and get my hci controller up and running on my host, I'm able to scan, become discoverable, etc.

      However, I don't see anything on my Google Pixel phone when I go to Bluetooth and I also don't see anything when I scan.

       

      I made sure to install and run rfkill on my image to make sure all blocks are removed.

      I have Wifi working - is it possible the wifi is not allowing access to the antenna for the Bluetooth? this seems odd to me since the chip supports advanced features like coexistence. It seems unlikely to me that I'd have to control antenna access from software.


      If anyone has gotten Bluetooth working with the 43340 or something similar on Linux, my questions are:

      Kernel version?

      BT stack and version?

      UART configuration? (do you have the CTS/RTS flow control?)

      HCI configuration? (what hci commands are you using to connect?)

      What other changes to the kernel/rootfs did you need to make - if any - to get things working?

       

       

       

       

      Thanks for the help in advance!