I am running into what appears to be a corner case bug in bluetoothd and I would like to run a standalone/modified version to confirm.
I know from the Tachyon docs that the bluez shipped with Tachyon is a customized version of bluez 5.56. Are the customizations proprietary and if not, could someone help me understand all of the dependencies to get bluez to build. The obvious path (apt-get build-dep bluez; ./bootstrap-configure) is coming up short for me.
There are a handful of patches from our vendor that are applied to the bluez 5.56 source. The primary one adds support for the qca hciattach option that is needed to communicate with the qualcomm bluetooth hardware in the 20.04 build. Im investigating if this has proprietary information in it or if we can share it.
One other option is to try the 24.04 build. You can flash it via particle tachyon setup (it will do a complete system erase/flash, so backup anything on your device before doing this). The 24.04 build has stock bluez 5.72, which does work with the bluetooth controller hardware without any patches.
You can downgrade with the same particle tachyon setup process, it will reflash the whole system back to 20.04. Again, noting that the user file system will be erased in the process
Hi @sbrust, I’ve been trying to work with 24.04 but it is not stable enough for me to make progress. After a clean particle tachyon setup (last install was 1.1.24), it runs well for a while (a few hours) but eventually ends up in crash/reboot loop, crashing every 2-3 minutes while I try to build bluez. Happy to send logs if you can point me in the right direction, but also wondering if you’ve had any luck determining if 20.04 patch source can be made available.
Hi @sbrust, I was able to get bluez/bluetoothd 5.56 to build on tachyon/ubuntu 20.04 and as far as I can tell, it is functional/interfacing well with the other kernel space components of the bluez stack. So, I’m all set up for debugging now, thank you for your help.
Just to add some extra context, the 20.04 build adds the qca HCI attach option, which we found was needed to talk to the bluetooth hardware. Its possible the hardware supports other options, especially since the 24.04 build of bluez does not have this custom HCI protocol built in.