Problems with BLE on Colibri iMX6ull

I setup a the Colibri module on an Aster carrier board with the the Anstrom image and tried to pair over BLE with an embedded device using the Just Works pairing using Secure Connection. After not getting it to work after some days (despite correct looking output in hcidump and my BLE sniffer), I updated the image on the Colibri module to the current Yocto based image (using the Toradex Easy Installer). After that the pairing worked almost instantaneously with bluetoothctl. However, I know have a lack of Python and some other packages.
Is there any way to either fix the Bluetooth installation in the Angstrom image (preferably along with fixing the GCC toolchain) or providing a Yocto image with at least Python support and a toolchain installed?

Hi @OliverH

Thanks for writing to the Toradex support.

I updated the image on the Colibri module to the current Yocto based image (using the Toradex Easy Installer).

Which Software version did you install?

However, I now have a lack of Python and some other packages. Is there any way to either fix the Bluetooth installation in the Angstrom image (preferably along with fixing the GCC toolchain) or providing a Yocto image with at least Python support and a toolchain installed?

I did not get your issue. What exactly did not work with the older Bsp.?

Regarding the Python support and the corresponding Toolchain, you need to build a custom image with its SDK as described here.

Best regards,
Jaski

Which Software version did you install?

I’m now running the 3.0b and trying to bitbake the missing packages as ipk files myself (since building a custom image takes so much time).

I did not get your issue. What exactly did not work with the older Bsp.?

I tried to pair with an ESP32 using Just Works with Secure Connection. I tried using bluetoothctl --agent NoInputNoOutput followed by scan, connect, and pair, which resulted in a Error.AuthenticationFailed. Similar result I got from btmgmt pair -c 0x03 -t 0x02 .... When I looked into the results from hcidump or using a BLE sniffer, I saw that the pairing request looked pretty much as expected and so did the response. However, instead of exchange keys afterwards, the initiator (the Colibri board) canceled the pairing process with an “unspecified reason”.

Pairing from other devices (Android or Windows) worked with the ESP32. And after moving to the V3.0b image, pairing via bluetoothctl works as well. Hence, I guess there’s either problem in the kernel driver or the bluetooth daemon.

Also, installing of pybluez or other Python libraries for bluez failed because of the broken toolchain in v2.8.

Hi Oliver

I’m now running the 3.0b and trying to bitbake the missing packages as ipk files myself (since building a custom image takes so much time).

Thanks for the Information. Let us know if you see any issue.

Pairing from other devices (Android or Windows) worked with the ESP32.

Did you try to connect to a host having Linux OS?

And after moving to the V3.0b image, pairing via bluetoothctl works as well.

These are good news.

Hence, I guess there’s either problem in the kernel driver or the bluetooth daemon.

Yeah, we will address these issues in the LTS release.

Also, installing of pybluez or other Python libraries for bluez failed because of the broken toolchain in v2.8.

Do you mean native GCC? Yeah, this is known. You need to do a cross compilation.

Best regards,
Jaski