Bug #1921915 “Bluetooth controller not detected on CM4” : Bugs : pi-bluetooth package : Ubuntu (original) (raw)

[Impact]

Without these patches, Bluetooth is inoperable on the CM4

[Test Case]

* Boot an ubuntu image (server/desktop) on a Pi CM4
* "sudo apt update"
* "sudo apt upgrade"
* If on server (not desktop)
- "sudo apt install pi-bluetooth"
- "sudo reboot"
* "bluetoothctl"
* "list" (show all available controllers) and verify there is no output
* Enable proposed (https://wiki.ubuntu.com/Testing/EnableProposed)
* "sudo apt install pi-bluetooth"
* "sudo reboot" (required as bluetooth initialization only occurs during udev activation)
* "bluetoothctl"
* "list" and verify there is a single available bluetooth controller
* "scan on" and bring another discoverable bluetooth device in range; verify it is reported under bluetoothctl

[Regression Potential]

The main concern would be the backported versions of pi-bluetooth not integrating well with other packages. We are mitigating this concern by also SRUing Bluez and linux-firmware-raspi2 to focal and groovy.

[Original Description]
Under later versions of the Ubuntu kernel (5.8) on the CM4 and (possibly?) some models of the Pi 400, the bluetooth controller is not activated by the pi-bluetooth package. This appears to be due to two issues:

* The mmcnr device is mistaken for a bluetooth controller. This in itself is harmless, but results in a spurious hci0 device. The existence of this device causes the btuart script to skip configuring the "real" bluetooth device (as it thinks it is already configured)

* The btuart script also attempts a match against the device-tree's model name looking for "Raspberry Pi 4" which doesn't match "Raspberry Pi Compute Module 4".

The upstream repository currently has commits for both these fixes but no release has been made yet. It is proposed to backport these patches into an -ubuntu2 version of the package in the meantime.