[elrepo] packaging firmware ar3k
Alan Bartlett
ajb at elrepo.org
Tue Apr 1 12:12:20 EDT 2014
On 1 April 2014 16:21, Leon Fauster <leonfauster at googlemail.com> wrote:
>
> Hi Alan, thanks for your reply.
>
> that file is already installed and seems to be the same with the one in the repository
>
> $ curl -s https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/ath3k-1.fw | sha256sum
> e51feca60698858fdf8150135360a26fb4742323eea73a4d42f15410f00e7683 -
>
> $ cat $(rpm -ql ath3k-firmware) | sha256sum
> e51feca60698858fdf8150135360a26fb4742323eea73a4d42f15410f00e7683 -
>
> $ rpm -q ath3k-firmware
> ath3k-firmware-1.0-1.el6.elrepo.noarch
>
> dmesg is still showing the "file not found ar3k/AthrBT_0x11020000.dfu" output.
>
>
> I see that the ar3k firmware directory is packaged via linux-firmware.rpm
> in EL7. It is packaged independently from the kernel.src.rpm [1].
>
> $ rpm -qpl http://ftp.redhat.com/pub/redhat/rhel/beta/7/x86_64/os/Packages/linux-firmware-20131106-0.1.git7d0c7a8.el7.noarch.rpm |grep ar3k
> ...
> /lib/firmware/ar3k/AthrBT_0x01020200.dfu
> /lib/firmware/ar3k/AthrBT_0x01020201.dfu
> /lib/firmware/ar3k/AthrBT_0x11020000.dfu
> /lib/firmware/ar3k/AthrBT_0x31010000.dfu
> ...
>
> for EL6 this package will conflict with the kernel-firmware.rpm and more.
>
>
> For testing i did it manually
>
> mkdir -p /lib/firmware/ar3k/ && mv ~/AthrBT_0x11020000.dfu /lib/firmware/ar3k/
> mkdir -p /lib/firmware/ar3k/ && mv ~/ramps_0x11020000_40.dfu /lib/firmware/ar3k/
>
> in el7.noarch.rpm and the repository both files are still the same.
>
> after rebooting the system these files get successfully loaded.
>
>
> $ uname -a
> Linux a.localdomain 3.13.7-1.el6.elrepo.x86_64 #1 SMP Mon Mar 24 16:34:24 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
>
> $ dmesg
> Bluetooth: Core ver 2.17
> NET: Registered protocol family 31
> Bluetooth: HCI device and connection manager initialized
> Bluetooth: HCI socket layer initialized
> Bluetooth: L2CAP socket layer initialized
> Bluetooth: SCO socket layer initialized
> usbcore: registered new interface driver btusb
> usbcore: registered new interface driver ath3k
>
>
> for this device
>
> $ lsusb -d 0489:e04e
> Bus 001 Device 005: ID 0489:e04e Foxconn / Hon Hai
>
> $ modinfo ath3k |grep -i e04e
> alias: usb:v0489pE04Ed*dc*dsc*dp*ic*isc*ip*in*
>
> this firmware files are needed
>
> $ find /lib/firmware/ar3k/ -type f
> /lib/firmware/ar3k/AthrBT_0x11020000.dfu
> /lib/firmware/ar3k/ramps_0x11020000_40.dfu
>
>
> so far ...
>
> --
> LF
>
>
> [1] http://ftp.redhat.com/pub/redhat/rhel/beta/7/source/SRPMS/linux-firmware-20131106-0.1.git7d0c7a8.el7.src.rpm
Excellent news. Many thanks for sharing the details of the steps that
you have taken.
The issue of firmware images for EL6 is a little bit "messy" and gets
rather complicated when attempting to provide the ELRepo Project's
kernel-{lt|ml}-firmware packages. As I am sure you have seen, we
recommend using the distro firmware package for normal use. If there
is a deficiency in the kernel-firmware package when using it with
kernel-{lt|ml}, then we would normally recommend manually copying the
required files into the target system's /lib/firmware/ directory
structure.
In this case, both the messages output and the module's source code
were not particularly helpful . . .
Now that you know the files required, it would be a straightforward
RPM packaging task to create your own local package to provide those
files. But is it actually worth the effort?
Alan.
More information about the elrepo
mailing list