root@b2qt-colibri-imx6ull:~# connmanctl enable bluetooth
bluetooth is not available
Then I tried to integrate Qt 6.7.2 into Linux BSP 6 in Yocto Project with instructions described here. I got similar error:
root@colibri-imx6ull-06487554:~# systemctl start bluetooth.service
root@colibri-imx6ull-06487554:~# connmanctl enable bluetooth
bluetooth is not available
Bluetooth was working just fine on a image built with Linux BSP 5 and Qt5. Any idea of what’s causing the error? This is very urgent. Thank you.
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello William,
I’m sorry to hear about the Bluetooth issues you’re experiencing with your Colibri iMX6ULL module. Let’s go through some steps to help resolve this:
Verify Hardware Compatibility: Ensure your module has integrated Bluetooth hardware or that you’re using a compatible external Bluetooth module.
Check Bluetooth Service Status:
Run systemctl status bluetooth.service to confirm the service is active. If it’s not running, use journalctl -u bluetooth.service to check for errors.
Driver and Firmware Verification:
Make sure the necessary Bluetooth drivers and firmware are included in your BSP. You might need to customize your Yocto build to include these if they’re missing.
Verify that Bluetooth support is enabled in the kernel configuration.
Use Diagnostic Tools:
Use hciconfig to check the status of Bluetooth devices. If no devices are listed, there might be an issue with hardware detection or drivers.
ConnMan Configuration:
Ensure ConnMan is configured to manage Bluetooth connections. You may need to adjust settings or restart the service.
Review BSP 6 Changes:
Since Bluetooth worked with BSP 5, review any changes in BSP 6 that might affect Bluetooth, such as updates to the BlueZ stack or kernel modules.
By following these steps, you should be able to diagnose and resolve the Bluetooth issue. I hope this helps, and please feel free to reach out if you have further questions.
Best regards,
Toradex AI Assistant
Please, also check if these links can help you solve your problem:
Below is the log following AI’s troubleshooting steps:
root@b2qt-colibri-imx6ull:~# systemctl status bluetooth.service
â bluetooth.service - Bluetooth service
Loaded: loaded (;;file://b2qt-colibri-imx6ull/lib/systemd/system/bluetooth.service/lib/systemd/system/bluetooth.service;;; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-12-20 23:45:33 UTC; 1min 31s ago
Docs: ;;man:bluetoothd(8)man:bluetoothd(8);;
Main PID: 534 (bluetoothd)
Status: “Running”
CGroup: /system.slice/bluetooth.service
ââ 534 /usr/libexec/bluetooth/bluetoothd
Dec 20 23:45:32 b2qt-colibri-imx6ull systemd[1]: Starting Bluetooth service…
Dec 20 23:45:32 b2qt-colibri-imx6ull systemd[534]: ConfigurationDirectory ‘bluetooth’ already exists but the mode is different. (File system: 755 ConfigurationDirectoryMode: 555)
Dec 20 23:45:33 b2qt-colibri-imx6ull systemd[1]: Started Bluetooth service.
root@b2qt-colibri-imx6ull:~# hciconfig
root@b2qt-colibri-imx6ull:~#
root@b2qt-colibri-imx6ull:~# rfcomm bind 0 24:6F:28:41:4B:C2
Can’t open RFCOMM control socket: Protocol not supported
root@b2qt-colibri-imx6ull:~#
root@b2qt-colibri-imx6ull:~# connmanctl enable bluetooth
bluetooth is not available
root@b2qt-colibri-imx6ull:~# journalctl -u bluetooth.service
Dec 20 23:45:32 b2qt-colibri-imx6ull systemd[1]: Starting Bluetooth service…
Dec 20 23:45:32 b2qt-colibri-imx6ull systemd[534]: ConfigurationDirectory ‘bluetooth’ already exists but the mode is different. (File system: 755 ConfigurationDirectoryMode: 555)
Dec 20 23:45:33 b2qt-colibri-imx6ull systemd[1]: Started Bluetooth service.
root@b2qt-colibri-imx6ull:~# connmanctl enable bluetooth
bluetooth is not available
Quite old? I believe the Boot2Qt image I was referring to is for Qt 6.7.2 released in 2024.Right?
Yes, I have tried the 6.8.0 image (the latest one?). It has same Bluetooth issue.
I have fixed the Bluetooth issue in the image I built with BSP 6 in Yocto project. Right now the only issue I have is in the Boot2Qt image.
Thank you for the information about your carrier board.
Could you please specify which DTB files you are using when booting the Linux kernel?
The Boot2Qt image includes 8 different DTB files, and the issue you are experiencing may be related to the use of an inappropriate DTB file.
Attached is the u-boot environment initialization file that came with the download. It seems it’s “imx6ull-colibri-eval-v3.dtb” file that’s been used. Right?
Yes, and you can double-check it by examining the boot log. For your case, you need to set the fdtfile variable either to imx6ull-colibri-wifi-iris.dtb or imx6ull-colibri-wifi-iris-v2.dtb, depending on the version of the Iris board you are using.
Actually, it’s not a Device Tree issue but rather the absence of the package called linux-firmware-sd8887. You should add that to the MACHINE_FIRMWARE variable to build a Boot2Qt image with proper Bluetooth support
Thanks for checking back with me.
Unfortunately I am still having the Bluetooth issue after adding “linux-firmware-sd8887” to the MACHINE_FIRMWARE variable. See the log below:
root@b2qt-colibri-imx6ull:~# dmesg |grep error
[ 3.994719] gpio-keys: probe of gpio-keys failed with error -16
[ 15.868905] btmrvl_sdio mmc1:0001:2: Direct firmware load for mrvl/sdsd8997_combo_v4.bin failed with error -2
[ 15.997657] Bluetooth: request_firmware(firmware) failed, error code = -2
[ 17.898566] mwifiex_sdio mmc1:0001:1: Direct firmware load for mrvl/sdsd8997_combo_v4.bin failed with error -2
[ 21.929649] I/O error, dev mtdblock0, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 21.948776] I/O error, dev mtdblock0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 21.964042] Buffer I/O error on dev mtdblock0, logical block 0, async page read
root@b2qt-colibri-imx6ull:~# systemctl start bluetooth.service
root@b2qt-colibri-imx6ull:~# [ 89.192668] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 89.201379] Bluetooth: BNEP socket layer initialized
It’s interesting that the firmware load error does not explicitly say “file not found”. Can you confirm if the /lib/firmware/mrvl/sdsd8997_combo_v4.bin file exists in your build?
Can you run tdx-info on your board and provide the output?
Can you share more details about your build? What branch of the manifest are you using? How exactly are you checking everything out and building? I’m not terribly familiar with boot2qt and would like to setup an environment identical to yours.