[elrepo] kmod-ath10k firmware issues (?) with CentOS 7

Sean Hancock sean_m_hancock at yahoo.com
Wed Aug 17 18:52:48 EDT 2016


UPDATE:

I created a directory named /lib/firmware/ath10k/QCA6174/hw3.0

I then went to https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0 and copied the entire contents into the new directory. This is where I run into my first issue the github QCA6174/hw3.0 directory only contained 3 bin files:
board-2.bin
board.bin
firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1

there was no sign of a firmware-3.bin or firmware-2.bin. I did not touch the other folder in the ath10k folder (my plan if this worked to to systematically rename them to see if it mattered; I didn't get that far).

Upon restart, I still get 

[ 0.000000] tsc: Fast TSC calibration failed
[ 1.555656] ath10k_pci 0000:03:00.0: could not fetch firmware file 'ath10k/QC
A6174/hw3.0/firmware-4.bin': -2
[ 1.555719] ath10k_pci 0000:03:00.0: could not fetch firmware file 'ath10k/QC
A6174/hw3.0/firmware-3.bin': -2
[ 1.555780] ath10k_pci 0000:03:00.0: could not fetch firmware file 'ath10k/QC
A6174/hw3.0/firmware-2.bin': -2
[ 1.555842] ath10k_pci 0000:03:00.0: could not fetch board data (-2)
[ 1.555892] ath10k_pci 0000:03:00.0: could not fetch firmware files (-2)
[ 1.555942] ath10k_pci 0000:03:00.0: could not probe fw (-2)
[ 3.772474] snd_hda_intel 0000:00:1f.3 failed to add i915 component master (
-19)
Exception AttributeError:"'NoneType' object has no attribute 'udev_unref'"in<
bound method Context.__del__of <pyudev.core.Context object at 0x1621890>>ignor
ed

Given my confusion about the "missing" firmware-3.bin and firmware-2.bin and the apparent mismatch between the messages and kernel module, I went back to the start. I verified the network adapter:

# lspci -nnk | grep Wireless
03:00.0 Network controller [0280]: Qualcom Atheros QCA6714 802.11ac Wireless Ne
twork Adapter [168c:0003e] (rev 32)

ath10k seems the correct module based on Google (I don't know, I'm new to Linux).

So, then I went back and checked the ath10k messages:

# dmesg | grep ath
[     0.865212] ath: module verification failed: signature and/or required key missing - tainted kernal
[     0.868655] ath10k_pci: 0000:03:00.0: irq 127 for MSI/MSI -X
[     0.868662] ath10k_pci: 0000:03:00.0: irq 128 for MSI/MSI -X
[     0.868666] ath10k_pci: 0000:03:00.0: irq 129 for MSI/MSI -X
[     0.868668] ath10k_pci: 0000:03:00.0: irq 130 for MSI/MSI -X
[     0.868673] ath10k_pci: 0000:03:00.0: irq 131 for MSI/MSI -X
[     0.868677] ath10k_pci: 0000:03:00.0: irq 132 for MSI/MSI -X
[     0.868682] ath10k_pci: 0000:03:00.0: irq 133 for MSI/MSI -X
[     0.868686] ath10k_pci: 0000:03:00.0: irq 134 for MSI/MSI -X
[     0.868884] ath10k_pci: 0000:03:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset mode 0
[     1.014435] ath10k_pci 0000:03:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-4.bin': -2
[     1.014498] ath10k_pci 0000:03:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-3.bin': -2
[     1.014559] ath10k_pci 0000:03:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-2.bin': -2
[     1.014620] ath10k_pci 0000:03:00.0: could not fetch board data (-2)
[     1.014670] ath10k_pci 0000:03:00.0: could not fetch firmware files (-2)
[     1.014816] ath10k_pci 0000:03:00.0: could not probe fw (-2)


I am guessing my issue lies with the "tainted kernal" message, but don't know how to proceed. Any suggestions?


Sean


--------------------------------------------
On Wed, 8/17/16, Phil Perry <phil at elrepo.org> wrote:

 Subject: Re: [elrepo] kmod-ath10k firmware issues (?) with CentOS 7
 To: elrepo at lists.elrepo.org
 Date: Wednesday, August 17, 2016, 12:20 PM
 
 On 17/08/16 16:24, Sean
 Hancock via elrepo wrote:
 > I
 successfully installed the firmware package: sudo rpm -Uvh
 ath10k-firmware-2.0-1.el7.elrepo.noarch.rpm
 >
 > But, no joy:
 >
 > [ 0.000000] tsc: Fast
 TSC calibration failed
 > [ 2.736679]
 snd_hda_intel 0000:00:1f.3 failed to add i915 component
 master (
 > -.9)
 > [
 2.880797] ath10k_pci 0000:03:00.0: could not fetch firmware
 file 'ath10k/QC
 >
 A6174/hw3.0/firmware-4.bin': -2
 > [
 2.880873] ath10k_pci 0000:03:00.0: could not fetch firmware
 file 'ath10k/QC
 >
 A6174/hw3.0/firmware-3.bin': -2
 > [
 2.880934] ath10k_pci 0000:03:00.0: could not fetch firmware
 file 'ath10k/QC
 >
 A6174/hw3.0/firmware-2.bin': -2
 > [
 2.881054] ath10k_pci 0000:03:00.0: could not fetch board
 data (-2)
 > [ 2.881153] ath10k_pci
 0000:03:00.0: could not fetch firmware files (-2)
 > [ 2.881253] ath10k_pci 0000:03:00.0: could
 not probe fw (-2)
 > Exception
 AttributeError:"'NoneType' object has no
 attribute 'udev_unref'"in<
 > bound method Context.__del__of
 ,pyudev.core.Context object at 0x2947890>>ignor
 > ed
 >
 >
 
 We need
 to find the right firmware(s) for that driver.
 
  From your output above:
 
  > [ 2.880797] ath10k_pci
 0000:03:00.0: could not fetch firmware file 
 'ath10k/QC
  >
 A6174/hw3.0/firmware-4.bin': -2
  > [
 2.880873] ath10k_pci 0000:03:00.0: could not fetch firmware
 file 
 'ath10k/QC
  >
 A6174/hw3.0/firmware-3.bin': -2
  > [
 2.880934] ath10k_pci 0000:03:00.0: could not fetch firmware
 file 
 'ath10k/QC
  >
 A6174/hw3.0/firmware-2.bin': -2
 
 looks like we need
 
 ath10k/QCA6174/hw3.0/firmware-4.bin
 ath10k/QCA6174/hw3.0/firmware-3.bin
 ath10k/QCA6174/hw3.0/firmware-2.bin
 
 yet the kernel module says
 otherwise:
 
 $ modinfo
 ath10k_pci | grep firmware
 firmware:   
    ath10k/QCA988X/hw2.0/board.bin
 firmware:   
    ath10k/QCA988X/hw2.0/firmware-3.bin
 firmware:   
    ath10k/QCA988X/hw2.0/firmware-2.bin
 firmware:   
    ath10k/QCA988X/hw2.0/firmware.bin
 
 Note /QCA6174/hw3.0/ versus
 /QCA988X/hw2.0/ not to mention the different 
 firmware numbers.
 
 Which is correct? I have no clue so good luck
 working it out.
 
 So lets
 start at the beginning. There is a Wiki page with some info
 here:
 
 https://wireless.wiki.kernel.org/en/users/Drivers/ath10k/firmware
 
 At a point of reference, your
 kmod-ath10k-0.0-4.el7.elrepo.x86_64 driver 
 is backported from kernel-4.1.26.
 
 The firmware(s) that I
 packaged came from here:
 
 https://github.com/kvalo/ath10k-firmware
 
 You need to work out which
 firmware(s) you require, and copy them in 
 place under /lib/firmware/ath10k/  Don't
 be afraid to just dump 
 everything in there
 and cover all possibilities - the driver will only 
 load the firmware it needs. The only caveat is
 that the versions must be 
 correct.
 
 Keep looking in dmesg for
 clues as to what the driver is looking for.
 
 Once you have figured it out,
 let us know and we can package the 
 appropriate firmwares for the driver. I
 can't do it for you as I don't 
 have
 the hardware to test.
 
 Good
 luck!
 
 
 _______________________________________________
 elrepo mailing list
 elrepo at lists.elrepo.org
 http://lists.elrepo.org/mailman/listinfo/elrepo


More information about the elrepo mailing list