Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Silabs multiprotocol BT HCI support #3572

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

zalatnaicsongor
Copy link

Silicon Labs has an example firmware that supports Multiprotocol (OpenThread+Zigbee+BLE) RCP. This PR adds the bt_host_cpc_hci_bridge app as per the AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-processor application note to expose a HCI PTY device.

If the support is enabled and the correct firmware is uploaded to the coordinator stick, the following output should appear in the addon logs:

[20:25:52] INFO: Starting bt_host_cpc_hci_bridge...
[I] Silicon Labs | CPC-HCI bridge
[I] CPC successfully initialized with 'cpcd_0'
[I] CPC Bluetooth endpoint opened
[I] PTY device file opened at '/dev/pts/2'

The created PTY device can then be used by the host (I used the Advanced SSH & Web Terminal addon) by executing hciattach /dev/pts/2 any 115200. Home Assistant should automatically then recognise the bluetooth adapter.

bt

Copy link

@home-assistant home-assistant bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @zalatnaicsongor

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@home-assistant
Copy link

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@home-assistant home-assistant bot marked this pull request as draft April 19, 2024 18:34
@zalatnaicsongor zalatnaicsongor marked this pull request as ready for review April 19, 2024 18:35
@zalatnaicsongor
Copy link
Author

If someone would like to run this as a separate addon, I can make one which only runs cpcd and bt_host_cpc_hci_bridge, also I can provide the BT capable firmware for the EasyIOT GW-04 1.2 stick.

@agners
Copy link
Member

agners commented Apr 25, 2024

This PR essentially does two things: Bump to Gecko SDK v4.4.2 and enables the BT HCI support.

Currently we avoid pouring more effort into the Multiprotocol effort as it didn't prove stable for a lot of people. Adding another variable (Bluetooth) certainly won't help here 🙈

@zalatnaicsongor
Copy link
Author

Yeah, technically this could work with the older version of the Gecko SDK (4.3.x) but v4.4.2 proved to be a lot more stable for me (the uptime is now an order of magnitude better than it was used to, currently the add-on has been running for 5 days).

BT HCI support is actually not very useful as EFRMG21 and MG1 chips only have one radio, and enabling BT will cause an extremely spotty and laggy zigbee connection, however if someone has spare coordinators available they could potentially use it as a makeshift BT dongle.

If there's no intention to pour more effort into the Multiprotocol addon, perhaps I could help maintaining it as for some weird reason I find it an interesting piece of work :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants