[PATCH] Add missing Atheros firmware files
Sergio Costas Rodriguez
sergio.costas at canonical.com
Wed Oct 4 11:11:07 UTC 2023
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.
Fix https://bugs.launchpad.net/ubuntu/+bug/2025054
Signed-off-by: Sergio Costas Rodriguez <sergio.costas at canonical.com>
---
trim-firmware | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/trim-firmware b/trim-firmware
index 148c964..e2fe269 100755
--- a/trim-firmware
+++ b/trim-firmware
@@ -68,6 +68,24 @@ if [ -e "${DESTDIR}"/firmware/regulatory.db ] ; then
cp "${DESTDIR}"/firmware/regulatory.* "${DESTDIR}"/firmware.new
fi
+# Copy all AthrBT files, because they are needed for some devices
+# like the original Asus Zenbook, but only if the module ath3k.ko
+# is compiled
+if [[ -n `find "${DESTDIR}"/modules -name ath3k.ko` ]] ; then
+ if [ -d "${DESTDIR}"/firmware/ar3k ] ; then
+ mkdir -p "${DESTDIR}"/firmware.new/ar3k
+ cp -a "${DESTDIR}"/firmware/ar3k/AthrBT_0x*.dfu "${DESTDIR}"/firmware.new/ar3k/
+ # the "ramps_" files are 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/
+ else
+ # fail if the folder doesn't exist, because that means that this
+ # script requires a rework
+ echo "The firmware folder for the Atheros Bluetoot firmware doesn't exist".
+ exit 1
+ fi
+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