-
Notifications
You must be signed in to change notification settings - Fork 550
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RK3588] Radxa A8 RTL8852BE bluetooth not working #13084
Comments
Try v41, either do an upgrade to the beta or the the image from here: https://mirrors.o2switch.fr/batocera/rock-5b/butterfly/last/ |
I did multiple things to get bluetooth (with this specific card) working again:
I still need time and help to figure out:
Changes for step 2 and 3 can be found in my branch https://github.com/florian-boehm/batocera.linux/tree/fix-rtl8552be-bluetooth Output of
Scanning and pairing with |
I further investigated the root cause. Removing board/batocera/rockchip/rk3588/linux_patches/002-radxa-wireless-a8-workaround.patc and using the firmware blobs from radxa-firmware/commit/e69296a is all that is needed to get BT working. However, I am not fully satisfied since dmesg still gives some errors. It still tries to do something with the hci1 device that does not work. And for the BT card (which is hci0) it can not read codec capabilities. So I think it will only allow me to use SBC audio right now. Help appreciated since I am not sure how to fix the remaining issues:
|
Hello. I am experiencing the same issue with my Orange pi 5 plus that uses the same module (RTL8852BE). Strangely enough, I couldn't find anything documented about this anywhere on batocera. I assumed that it was supposed to work but apparently not. I also tried v41. @florian-boehm I tried replacing these files from Radxa but it doesnt seem to work in my case. I wonder though, if the real problem here is the symlink of the config file. Batocera points it to EDIT: Ok I think I now know what is happening. This chip was supported upstream from kernel 6.10. V41 of batocera is running 6.1.75 so it still doesnt support the BT part of this module. Once the kernel is bumped, it should work out of the box. v42 should solve it since it runs 6.12.6 |
Do you mean the following symlinks? In my case they point to the correct files. I did not change them.
MD5 hash sums for comparison:
If you do manual changes there, you should run "batocera-save-overlay" before rebooting. Otherwise the changes are lost. If you have a batocera version which was compiled with this patch file the kernel module "btusb" will just fully ignore the RTL8852BE. As I understand it correctly it will not even load those firmware files then. You could try to replace it with my btusb.ko.gz. Put it into /lib/modules/6.1.75/kernel/drivers/bluetooth/btusb.ko and run EDIT: Hopefully the newer kernel solves the problem 👍 |
@florian-boehm I will try to compile from master now just to check v42. I will let you know how it goes and if I even succeed compiling it as I haven't done it before 😁 PS: I don't think there is anything wrong with the firmware as they are mainline. PS2: Indeed replacing the patched file with yours and using the Radxa firmware made bluetooth work for me as well. However the batocera UI still doesnt show devices but I was able to find ALL available devices near me using PS3: The reason of the existance of this patch seems to be a conflict with the wifi chip. Using your driver file, I got both the BT and WiFi working at the same time so I think this patch is no longer needed. It's 2 years old now anyway. PS4: Actually scratch what I said about kernel 6.12.6. Obviously this is only for x86_64 since rockchip has only released 6.11 firmware for their devices. I am not that sure about the state of it though as HDMI wasn't working before but it may be patched now ( a patch was submitted in October on mainline) |
So after some tries, I think I now know what is happening. First, as @florian-boehm said, the patch that blacklists the BT USB device, needs to be removed since this is how Realtek assigns these 2 devices on this module: PCIE for WiFi and USB for BT. Then the main issue: The RK3588 has this instruction in the The problem with this is that the mainline firmware file is not compatible with the latest stable rockchip kernel for the RK3588 (v6.1.75) So what is apparently needed is to use an approach like it is done here, that is to upload the firmware files in the package itself, and then copy them to the output/target filesystem manually before we create the final image. This feels like the right approach that will not break anything with any RK3588 board since they are all still locked to the custom kernel version provided by Rockchip (Although mainline progress is made by Collabora) This also doesn't seem to affect wifi, as it seems to still work well after removing the patch. That said I created a PR that does exactly that but I am totally new to any of this so feel free to tweak it as you find best 😁 For the time being, I uploaded 2 images (v42-dev) with working BT that you can try. |
Batocera build version
40 2024/08/12 00:36
Your architecture
RK3588 Rock 5b
Your Graphic Processor Unit(s) (GPU)
Integrated Mali G610MP4
Issue description
Wifi Card: Radxa A8 RTL8852BE v1 (0bda:b85b)
Bluetooth Pairing in EmulationStation does not show any devices.
Furthermore
bluetootctl list
on CLI shows no bluetooth controllers.I am able to compile and flash images and am eager to help debugging.
Information about the Wifi+BT combo card: https://docs.radxa.com/en/accessories/wireless-a8
Detailed reproduction steps
I flashed batocera 40 to the Rock 5b.
After boot I tried to pair an Xbox Controller using the GUI.
The search for devices never stops and never shows results.
I also tried to scan manually with bluetootctl but it does not show any bluetooth controller.
Afterwards I compiled a newer version (41-dev-d1a1c59) with the same result.
Details of any attempts to fix this yourself
No response
Details of any modifications you have made to Batocera.
No modifications
Logs and data
Output of
lsusb | grep -i 'blue'
:Output of
rfkill
:Output of
dmesg | grep -Ei 'blue|firm|hci'
:Output of
lsmod
:Output of
hciconfig -a
:The text was updated successfully, but these errors were encountered: