Rfkill block and unblock bluetooth has problem with custom OS

Hello,

I’m facing a weird issue here. I’m using the rtl8852ce module to enable Wi-Fi/Bluetooth function. Wi-Fi is working fine. I can turn on/off the Wi-Fi switch in Settings.

But the Bluetooth switch is not…Once I turn off the bluetooth switch, then I’m not able to turn on the Bluetooth anymore, unless I reboot the unit or install the driver again.

I checked the Bluetooth switch will run the rfkill command so I ran the rfkill directly.
Like rfkill block/unblock bluetooth. I got the same result as Setting’s Bluetooth switch.

And I did another check, I used another command, bluetoothctl, to turn off/on the Bluetooth. And it works. I don’t know what the difference between rfkill and bluetoothctl.

I have tried it JP 6.1 and JP6.2 and I got the same result both… Do I miss any configuration for rfkill? Please help me…

BTW, the rtl8852ce driver can be compiled and run on nano devkit. And the Bluetooth switch on devkit works without problem. So I assumed I might have made some mistake in my custom OS. But I have used the same config as the devkit, the rfkill still doesn’t work.

config.txt (254.7 KB)
dt.log (331.4 KB)

Additional test. bluetoothctl power off/on is working, but if I use rfkill block/unblock to have the issue occupied, then the bluetoothctl won’t be able to turn on bluetooth either.

When issue is there, bluetoothctl power on will return me a log,

Failed to set power on: org.bluez.Error.Blocked

sometimes it returns

Failed to set power on: org.bluez.Error.Busy

Hi,
So it occurs only on the custom board, and no this issue on developer kit. Is this correct?

Yes. this is correct.

Hi,
It looks to be an issue in signal quality. Would suggest do PCIe compliance test. We have tuning guide in download center. Please take a look.

Hello,

I removed the antenna of AUX. My Bluetooth can be switched. But the Bluetooth’s signal will be bad.

My interface of Bluetooth is USB. I’m a bit confused about PCIe compliance test. What’s the connection between USB and PCIe?

Is this ‘Jetson Orin NX Series and Jetson Orin Nano Series Modules Tuning and Compliance Guide’ you mentioned?

Since there are so many document, could you please past the tuning guide download link?

thanks.
Brian

Hi,
Please go to

Jetson Download Center | NVIDIA Developer

I used a workaround to solve my problem. By using udevadm to monitor the rfkill event and power on/off the Bluetooth enable pin, I was able to recover from my Bluetooth being stuck.