The title is the question itself, but let me explain here in more detail what I'm trying to do.

This is actually a step of a bigger problem I'm trying to solve:

Quote Originally Posted by vinyanalista View Post
I have an Acer Aspire E15 laptop (model number E5-573-54ZV) that came with Windows 10 and a built-in Bluetooth 4.0 adapter. While using Windows, I'm able to use the Bluetooth adapter.

I've installed openSUSE Leap 42.2 in dual boot. While using openSUSE, the Bluetooth adapter is the only piece of hardware that does not work. It seems like it is not even detected.

A report made using AIDA64 for Windows shows:

Code:
04CA 3014    Qualcomm Atheros Bluetooth 4.0
It appears in the USB devices section, so it is attached to the USB bus.

Someone made it work on Linux Mint: https://forums.linuxmint.com/viewtopic.php?t=217091

How can I make that Bluetooth adapter work on openSUSE?
What I've got so far:

Quote Originally Posted by vinyanalista View Post
Now, I realized this:

Code:
# dmesg | grep 04ca
[    6.135872] usb 1-5: New USB device found, idVendor=04ca, idProduct=3014
The system somehow recognizes my Bluetooth adapter. Why it is not set up?
Quote Originally Posted by vinyanalista View Post
See those lines?

Code:
# dmesg | grep 'usb 1-5'
[    6.006708] usb 1-5: new full-speed USB device number 3 using xhci_hcd
[    6.135872] usb 1-5: New USB device found, idVendor=04ca, idProduct=3014
[    6.135875] usb 1-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[   18.318545] usb 1-5: USB disconnect, device number 3
What does dmesg mean by found and then disconnect???
Quote Originally Posted by vinyanalista View Post
I thought: maybe the kernel finds the device, does not know how to handle it and then disconnect it. So, I decided to try to load the btusb and ath3k kernel modules earlier, right at boot time, using initramfs. I followed the instructions here:

Booting a Linux System | Reference | openSUSE Leap 42.2

Code:
# echo 'force_drivers+="ath3k btusb"' > /etc/dracut.conf.d/01-bluetooth.conf
# dracut -f
# reboot
Indeed, something has changed, new messages appeared in dmesg:

Code:
# dmesg | egrep 'ath|wifi|hal'
[    5.309618] device-mapper: multipath: version 1.11.0 loaded
[    6.311336] ath3k: probe of 1-5:1.0 failed with error -2
[    6.311352] usbcore: registered new interface driver ath3k
[   19.969812] ath: phy0: WB335 2-ANT card detected
[   19.969814] ath: phy0: Set BT/WLAN RX diversity capability
[   19.976484] ath: phy0: Enable LNA combining
[   19.977581] ath: phy0: ASPM enabled: 0x42
[   19.977582] ath: EEPROM regdomain: 0x6c
[   19.977582] ath: EEPROM indicates we should expect a direct regpair map
[   19.977583] ath: Country alpha2 being used: 00
[   19.977584] ath: Regpair used: 0x6c
Code:
# dmesg | egrep -i 'bluetooth|firm'
[    0.206528] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    6.309932] Bluetooth: Core ver 2.21
[    6.309947] Bluetooth: HCI device and connection manager initialized
[    6.309950] Bluetooth: HCI socket layer initialized
[    6.309952] Bluetooth: L2CAP socket layer initialized
[    6.309959] Bluetooth: SCO socket layer initialized
[    6.311331] usb 1-5: Direct firmware load for ar3k/AthrBT_0x31010100.dfu failed with error -2
[    6.311332] Bluetooth: Patch file not found ar3k/AthrBT_0x31010100.dfu
[    6.311333] Bluetooth: Loading patch file failed
[   84.128995] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   84.128997] Bluetooth: BNEP filters: protocol multicast
[   84.129002] Bluetooth: BNEP socket layer initialized
Code:
# uname -a
Linux viny-notebook 4.4.70-18.9-default #1 SMP Wed May 31 09:09:25 UTC 2017 (c1231a7) x86_64 x86_64 x86_64 GNU/Linux
That is kernel 4.4.70 from the openSUSE Leap 42.2 Update repo, I'm going to try kernel 4.11.4 from the Kernel:stable OBS repo.
Right now, I'm using openSUSE Leap 42.2 with that kernel:

Code:
# uname -a
Linux viny-notebook 4.11.4-1.gcba98ee-default #1 SMP PREEMPT Wed Jun 7 15:14:28 UTC 2017 (cba98ee) x86_64 x86_64 x86_64 GNU/Linux
With the kernel 4.11.4, those same messages appear. It seems the ath3k kernel module is trying to load the file AthrBT_0x31010100.dfu during boot time. It is located at /lib/firmware/ar3k/, I think it is part of the kernel-firmware package, which I also downloaded from the Kernel:stable OBS repo. As the kernel module does not find that file, it gives that error message in dmesg.

So, back to the title/question: how can I insert the file AthrBT_0x31010100.dfu into initramfs?

I decided to make that specific question in an specific forum (Install/Boot/Login) because everything I found on Google was meant to other distros and does not work on openSUSE. So maybe we can make this post a reference.

Thank you in advance!