Bluetooth Failed at Scan/Discovery for Keyboard

We previously fixed the Bluetooth unavailable issue in both Boot2qt and Toradex BSP 6 images posted here.
Now the bluetooth failed occasionally when trying to scan or discover Keyboard:

root@colibri-imx6ull-06488061:~# bluetoothctl
Agent registered
[CHG] Controller DC:F5:05:11:3D:60 Pairable: yes
[bluetooth]# devices Paired
Device D1:85:77:CA:F2:10 BLE Keyboard 6063S
[bluetooth]# remove D1:85:77:CA:F2:10
[DEL] Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_D1_85_77_CA_F2_10/service000a
00001801-0000-1000-8000-00805f9b34fb
Generic Attribute Profile
[DEL] Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_D1_85_77_CA_F2_10/service000b/char000c
00002a29-0000-1000-8000-00805f9b34fb
Manufacturer Name String
[DEL] Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_D1_85_77_CA_F2_10/service000b/char000e
00002a50-0000-1000-8000-00805f9b34fb
PnP ID
[DEL] Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_D1_85_77_CA_F2_10/service000b
0000180a-0000-1000-8000-00805f9b34fb
Device Information
[DEL] Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_D1_85_77_CA_F2_10/service0010/char0011/desc0013
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
[DEL] Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_D1_85_77_CA_F2_10/service0010/char0011
00002a19-0000-1000-8000-00805f9b34fb
Battery Level
[DEL] Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_D1_85_77_CA_F2_10/service0010
0000180f-0000-1000-8000-00805f9b34fb
Battery Service
[DEL] Device D1:85:77:CA:F2:10 BLE Keyboard 6063S
Device has been removed
[bluetooth]# [ 4554.492518] Bluetooth: hci0: Opcode 0x200c failed: -110
[ 4554.497827] Bluetooth: hci0: Unable to disable scanning: -110
[ 4554.505563] Bluetooth: hci0: command 0x200c tx timeout
[ 4554.519288] Bluetooth: hci0: stop background scanning failed: -110
[bluetooth]# scan on
[bluetooth]# sca[ 4574.091843] Bluetooth: hci0: Opcode 0x200c failed: -110
[ 4574.097249] Bluetooth: hci0: Unable to disable scanning: -110
[ 4574.104453] Bluetooth: hci0: Unable to disable scanning: -110
[ 4574.110619] Bluetooth: hci0: command 0x200c tx timeout
Failed to start discovery: org.bluez.Error.InProgress
[bluetooth]# scan off
Failed to stop discovery: org.bluez.Error.Failed
[bluetooth]# [ 4576.171821] Bluetooth: hci0: Opcode 0x200c failed: -110
[ 4576.177186] Bluetooth: hci0: Unable to disable scanning: -110
[ 4576.184399] Bluetooth: hci0: command 0x200c tx timeout
[ 4576.197797] Bluetooth: hci0: stop background scanning failed: -110
[bluetooth]# quit
root@colibri-imx6ull-06488061:~# bluetoothctl
Agent registered
[CHG] Controller DC:F5:05:11:3D:60 Pairable: yes
[bluetooth]# scaan on
[bluetooth]# scan on
[bluetooth]# scan o[ 4833.771243] Bluetooth: hci0: Opcode 0x200c failed: -110
[ 4833.776606] Bluetooth: hci0: Unable to disable scanning: -110
[ 4833.784985] Bluetooth: hci0: command 0x200c tx timeout
[ 4833.790373] Bluetooth: hci0: Unable to disable scanning: -110
Failed to start discovery: org.bluez.Error.InProgress
[bluetooth]# scan off[ 4835.851809] Bluetooth: hci0: command 0x200c tx timeout
[ 4835.857220] Bluetooth: hci0: Opcode 0x200c failed: -110
[ 4835.862686] Bluetooth: hci0: Unable to disable scanning: -110
[ 4835.868504] Bluetooth: hci0: stop background scanning failed: -110

Failed to stop discovery: org.bluez.Error.Failed
[bluetooth]#

[bluetooth]# quit
root@colibri-imx6ull-06488061:/lib/systemd/system# systemctl daemon-reload
root@colibri-imx6ull-06488061:/lib/systemd/system# systemctl restart bluetooth
[ 5271.051050] Bluetooth: hci0: Opcode 0x200c failed: -110
[ 5271.056583] Bluetooth: hci0: command 0x200c tx timeout
[ 5271.062676] Bluetooth: hci0: Unable to disable scanning: -110
root@colibri-imx6ull-06488061:/lib/systemd/system# [ 5281.768713] Bluetooth: hci0: Opcode 0x200c failed: -110
[ 5281.774075] Bluetooth: hci0: Unable to disable scanning: -110
[ 5281.780776] Bluetooth: hci0: command 0x200c tx timeout
[ 5281.787235] Bluetooth: hci0: stop background scanning failed: -110
[ 5283.850722] Bluetooth: hci0: command 0x200c tx timeout
[ 5283.856127] Bluetooth: hci0: Opcode 0x200c failed: -110
[ 5283.868187] Bluetooth: hci0: Unable to disable scanning: -110
[ 5283.874011] Bluetooth: hci0: stop background scanning failed: -110
^C
root@colibri-imx6ull-06488061:/lib/systemd/system# [ 5285.930706] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 5285.938598] Bluetooth: hci0: command 0x200c tx timeout
[ 5285.943875] Bluetooth: hci0: Opcode 0x0c52 failed: -110
[ 5288.008252] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 5288.014448] Bluetooth: hci0: command 0x200c tx timeout
[ 5290.090792] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 5290.098491] Bluetooth: hci0: command 0x200c tx timeout
[ 5292.170740] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 5292.178541] Bluetooth: hci0: command 0x200c tx timeout
[ 5294.248233] Bluetooth: hci0: command 0x200c tx timeout
[ 5294.253720] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 5296.330712] Bluetooth: hci0: command 0x200c tx timeout
[ 5296.336199] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 5298.410717] Bluetooth: hci0: command 0x200c tx timeout
[ 5298.416256] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 5300.490722] Bluetooth: hci0: command 0x200c tx timeout
[ 5300.496200] Bluetooth: hci0: Opcode 0x0c52 failed: -110
[ 5302.570738] Bluetooth: hci0: command 0x200c tx timeout
[ 5302.576221] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 5304.650730] Bluetooth: hci0: command 0x200c tx timeout
[ 5304.656262] Bluetooth: hci0: Opcode 0x0c13 failed: -110
[ 5306.730704] Bluetooth: hci0: command 0x200c tx timeout
[ 5306.736188] Bluetooth: hci0: Opcode 0x0c52 failed: -110
[ 5308.810779] Bluetooth: hci0: command 0x200c tx timeout
[ 5308.816264] Bluetooth: hci0: Opcode 0x0c52 failed: -110
[ 5310.890751] Bluetooth: hci0: command 0x200c tx timeout
[ 5310.896562] Bluetooth: hci0: Opcode 0x0c13 failed: -110

Again this issue does not always happen. But all the failures seemed to happen when scanning after a device was paired. Any help would be greatly appreciated. Thank you.

Below is hardware and software info:

root@colibri-imx6ull-06488061:~# tdx-info

Software summary

Bootloader: U-Boot
Kernel version: 6.6.69-7.1.0-00039-g0f10503b36ba #1 SMP PREEMPT Thu Jan 2 09:32:11 UTC 2025
Kernel command line: user_debug=30 ubi.mtd=ubi root=ubi0:rootfs rw rootfstype=ubifs ubi.fm_autoconvert=1 no_console_suspend=1 vt.global_cursor_default=0 console=ttymxc0,115200n8 consoleblank=0
Distro name: NAME=“TDX Wayland with XWayland Upstream”
Distro version: VERSION_ID=6.8.0-devel-20240809223737-build.0
Distro variant: -
Hostname: colibri-imx6ull-06488061

Hardware info

HW model: Toradex Colibri iMX6ULL 512MB on Colibri Evaluation Board V3
Toradex version: 0040 V1.1A
Serial number: 06488061
Processor arch: armv7l

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

I’m sorry to hear about the Bluetooth scanning issues you’re experiencing with your Colibri iMX6ULL module. Let’s go through some steps that might help resolve this problem:

  1. Update Software: Ensure your system is running the latest version of the Toradex BSP and BlueZ. Updates often include bug fixes that could address your issue.

  2. Inspect Bluetooth Configuration: Double-check your Bluetooth configuration files to ensure they are correctly set up. Misconfigurations can sometimes lead to operational issues.

  3. Examine Kernel Logs: The logs you provided show command timeouts (e.g., Opcode 0x200c failed: -110). These errors suggest communication issues between the Bluetooth stack and the hardware. Reviewing the kernel logs (dmesg) for additional error messages might provide more context.

  4. Restart Bluetooth Services: As a temporary workaround, restarting the Bluetooth service can sometimes resolve transient issues. You can do this by running systemctl restart bluetooth.

  5. Test with Different Devices: If possible, try using the Bluetooth functionality with different devices to determine if the issue is specific to the keyboard or a broader problem.

  6. Investigate Power Management Settings: Power management settings can sometimes interfere with Bluetooth operations. Ensure that the Bluetooth device is not being put into a low-power state that affects its functionality.

I hope these steps help you resolve the issue. If the problem persists, further investigation into the software environment might be necessary.

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Bluetooth Failed on Colibri iMx6ULL.

Hi @wjzhang

Thanks for the report. We have a report of similar issues that our WiFi/BT expert is investigating. It’s not clear that it is the same issue but it does look suspiciously so. I will report back when we get some results of his investigation.

Regards
Drew

Hello @wjzhang,
Could you give more details about what was the status of the module before you executed the “remove” command? Did you have the module running for a while, or was this after a reboot?
Can you consistently reproduce this behavior with the steps you mentioned?

Thanks in advance,
Rafael