A fix for Bluetooth audio stuttering on the RockPro64 - Printable Version +- PINE64 (https://forum.pine64.org) +-- Forum: ROCKPRO64 (https://forum.pine64.org/forumdisplay.php?fid=98) +--- Forum: Linux on RockPro64 (https://forum.pine64.org/forumdisplay.php?fid=101) +--- Thread: A fix for Bluetooth audio stuttering on the RockPro64 (/showthread.php?tid=17139) |
A fix for Bluetooth audio stuttering on the RockPro64 - raph - 08-13-2022 Hello, I've bought the wifi+blueooth module for the RockPro64 board (https://pine64.com/product/rockpro64-1x1-dual-band-wifi-802-11ac-bluetooth-5-0-module/). I have been struggling to make Bluetooth audio work with it. It stuttered a lot, but yesterday I found a solution. Please test it and report back, I need feedback from a few people so I can submit a kernel patch with enough confidence. Quick explanation: A patch that fixes the stutters on ROCK Pi 4 boards, also based on the rk3399 board with the same BCM4345C5 Bluetooth device, also on UART0, has been submitted last November: https://patchwork.kernel.org/project/linux-rockchip/patch/20211112142359.320798-1-jagan@amarulasolutions.com/ This fix sets the correct right max-speed and compatibility configurations for the Bluetooth device to work correctly. It is already present for the Pinebook Pro. The same fix needs to be applied for the RockPro64. I'm using Armbian, so the following instructions might need to be adapted for other distributions, though the fix not to be specific to Armbian and the instructions might be generic enough. I attached 3 files to this post. Please remove the .txt extensions when downloading them. Here's how to use them. Testing quicky First, I only tested this on linux 5.18. This is not the default kernel version on Armbian for the RockPro64. The default kernel is 5.15. To install version 5.18, you can use the armbian-config tool which will install the linux-image-edge-rockchip64 kernel. 5.15 might work but I haven't tested it. So:
Code: cp /boot/dtb-5.18.0-rockchip64/rockchip/rk3399-rockpro64-v2.dtb{,.bak} And then reboot. Be aware that any kernel upgrade will probably erase these files and you'll need to copy them back after upgrade. These files actually come from a kernel build, so if you want, you can recompile the kernel with the fix. Recompiling the kernel The previous instructions are sufficient to use the fix. However, if you may want to recompile your kernel with this fix. Apply the attached patch. I'm testing this on kernel 5.18. The patch should cleanly apply on versions 5.18 and 5.19. I've not tested this on 5.15. On Armbian, you can download the kernel sources using apt install linux-source-5.18.0-edge-rockchip64. You'll find the kernel sources and the config used in Armbian for the RockPro64 in the /usr/src folder. The following is sufficient to build the dtb files: Code: make dtbs If you want to build deb packages, use make deb-pkg. RE: A fix for Bluetooth audio stuttering on the RockPro64 - raph - 10-02-2022 Note that the edge kernel is now 5.19.16. Convenience command: sudo curl https://forum.pine64.org/attachment.php\?aid\=2677 -o /boot/dtb-5.19.16-rockchip64/rockchip/rk3399-rockpro64-v2.dtb sudo curl https://forum.pine64.org/attachment.php\?aid\=2678 -o /boot/dtb-5.19.16-rockchip64/rockchip/rk3399-rockpro64.dtb RE: A fix for Bluetooth audio stuttering on the RockPro64 - raph - 01-03-2023 Starting from kernel 6.0 (today: 6.0.10), Bluetooth does not work for me. I needed to downgrade the kernel to version 5.19.16 for the Bluetooth to work again (regardless of this fix). Code: sudo apt install linux-dtb-edge-rockchip64=22.08.6 linux-image-edge-rockchip64=22.08.6 |