Bug 209855

Summary: [ath10] compiled in firmware blobs neglected
Product: Drivers Reporter: vtolkm
Component: network-wirelessAssignee: drivers_network-wireless (drivers_network-wireless)
Severity: high    
Priority: P1    
Hardware: ARM   
OS: Linux   
Kernel Version: 5.1 & next-20201023 Subsystem:
Regression: No Bisected commit-id:

Description vtolkm 2020-10-26 00:39:27 UTC
device: Turris Omnia (armv7l)

kernel (kconfig attached) compiled:

* no kmods
* qca 988x firmware blobs (board.bin firmware-5.bin) compiled in


It is expected that the ath10 driver utilises those firmware blobs but apparently does not:

logread -e ath10

ath10k_pci 0000:02:00.0: enabling device (0140 -> 0142)
ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
ath10k_pci 0000:02:00.0: Failed to find firmware-N.bin (N between 2 and 6) from ath10k/QCA988X/hw2.0: -2
ath10k_pci 0000:02:00.0: could not fetch firmware files (-2)
ath10k_pci 0000:02:00.0: could not probe fw (-2)


Since the increase in the kernel image is evident and corresponds with the blobs' size it is assumed that the blobs are actually compiled in, notwithstanding the kernel image compiles without an issue.
Comment 1 vtolkm 2020-10-27 21:29:03 UTC
strangely it works as expected for the 2 regulatory related blobs but not for the ath10 blobs

Symbol: EXTRA_FIRMWARE_DIR [=/srv/fw]
 Type  : string
 Defined at drivers/base/firmware_loader/Kconfig:63
   Prompt: Firmware blobs root directory
   Depends on: FW_LOADER [=y] && EXTRA_FIRMWARE [=regulatory.db regulatory.db.p7s board.bin firmware5.bin]!=
    -> Device Drivers
      -> Generic Driver Options
        -> Firmware loader
          -> Firmware loading facility (FW_LOADER [=y])
            -> Build named firmware blobs into the kernel binary (EXTRA_FIRMWARE [=regulatory.db regulatory.db.p7s board.bin firmware-5.bin])
Comment 2 vtolkm 2020-10-27 22:31:51 UTC
Apparently the ath10 driver expects a specific path prefix > ath10k/QCA988X/hw2.0