[PATCH] [kernel-snaps-uc22/main] Add missing Atheros firmware files

Sergio Costas Rodriguez sergio.costas at canonical.com
Thu Oct 5 13:50:15 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2025054

When using the Ubuntu Core 22 kernel in an Asus Zenbook UX22,
this error is shown in journalctl:

    usb 1-1-1: Direct firmware load for ar3k/AthrBT_0x01020200.dfu failed with error -2
    Bluetooth: Patch file not found ar3k/AthrBT_0x01020200.dfu
    Bluetooth: Loading patch file failed
    ath3k: probe of 1-1.1:1.0 failed with error -2

and, of course, bluetooth doesn't work.

This patch adds the missing files, and makes bluetooth work.

Signed-off-by: Sergio Costas Rodriguez <sergio.costas at canonical.com>
---
 trim-firmware | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/trim-firmware b/trim-firmware
index 148c964..874f06f 100755
--- a/trim-firmware
+++ b/trim-firmware
@@ -68,6 +68,18 @@ if [ -e "${DESTDIR}"/firmware/regulatory.db ] ; then
 	cp "${DESTDIR}"/firmware/regulatory.* "${DESTDIR}"/firmware.new
 fi
 
+# Copy extra AthrBT files, because they are needed for some devices
+# like the original Asus Zenbook; but do it only if the module ath3k.ko
+# is compiled. The file ath3k-1.fw is already being copied, so
+# it doesn't need to be managed here.
+if [ -n `find "${DESTDIR}"/modules -name 'ath3k.ko*'` ] ; then
+	mkdir -p "${DESTDIR}"/firmware.new/ar3k
+	cp -a "${DESTDIR}"/firmware/ar3k/AthrBT_0x*.dfu "${DESTDIR}"/firmware.new/ar3k/
+	# the "ramps_" files are also refered in the source code of the driver, so
+	# we must add them too.
+	cp -a "${DESTDIR}"/firmware/ar3k/ramps_0x*.dfu "${DESTDIR}"/firmware.new/ar3k/
+fi
+
 # Move kernel firmware files to the new firmware directory
 for d in "${DESTDIR}"/modules/* ; do
 	if [ -d "${DESTDIR}"/firmware/"${d##*/}" ] ; then
-- 
2.39.2




More information about the kernel-team mailing list