[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1030636: Debian Installer complains about missing firmware in ath10k, even when using image with firmware included



package: hw-detect
version: 1.154

Hello,
I saw the recent work to the installer surrounding firmware handling and thought I would test on my machines to see how this all was working. I used one of the daily sid_d-i netinst cds including firmware. I noticed some problems around the installer asking for  firmware that was not neded for ath10k. I first tried on a laptop that had QCA-6174 hw2.1. I noticed the prompt telling me about missing firmware and asking if I wanted to load it from additional media, which was puzzling for the firmware image. If I select no, the installer continues, however, I thought this  could confuse users, so I dug into it.

Before firmware atheros was loaded, the kernel tried to load versions 6 through 2 of the firmware files as well as calibration firmware files. After firmware atheros was installed, the card was brought up, and this time, only three files were missing. The cal and pre-cal files appear to be optional according to the driver source, and do not exist in linux-firmware upstream, so I think them missing is no problem. Firmware ver 6 doesn't exist yet in the upstream Linux repo so maybe this is in the driver for future use? I guess the installer still thinks there is missing firmware because of the kernel failing to load these 3 unnecessary files. After version 5 of the firmware was found, the kernel stopped trying to load versions 4 3 2, so there was many fewer missing files on the second run of check-missing-firmware.

I have another laptop with hw3.2 of QCA-6174 and on that machine, only pre-cal and cal are missing after firmware-atheros is loaded by the installer. I looked at hw-detect, and noticed there was a section in check-missing-firmware.sh ignoreing intel wifi debugging firmware, but I think trying to ignore all the correct files in that location might be a bit tricky, especially if other net drivers try to load optional firmware. It also seems possible that the PCI IDs searched by the driver could be different for cal and pre-cal for different ath10k hardware although I didn't dig into this. I hope the information I provided is enough for package maintainers to determine a correct solution. Thanks for all the great work on the installer recently to make  firmware handling work better.

Below, a bit of text from the installer log, to show the driver is loading, but the installer still thinking there is missing firmware.

Feb  5 10:35:26 check-missing-firmware: mainloop iteration #1
Feb  5 10:35:26 check-missing-firmware: lookup with /cdrom/firmware/Contents-firmware
Feb  5 10:35:26 check-missing-firmware: installing firmware package /cdrom/firmware/firmware-atheros_20221214-5_all.deb (non-free-firmware)
Feb  5 10:35:28 check-missing-firmware: removing and loading kernel module ath10k_pci
Feb  5 10:35:28 kernel: [   60.711599] DMAR: DRHD: handling fault status reg 2
Feb  5 10:35:28 kernel: [   60.711605] DMAR: [DMA Write NO_PASID] Request device [01:00.0] fault addr 0x7ee00000 [fault reason 0x05] PTE Write access is not set
Feb  5 10:35:28 kernel: [   60.711661] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
Feb  5 10:35:28 kernel: [   60.977712] ath10k_pci 0000:01:00.0: firmware: failed to load ath10k/pre-cal-pci-0000:01:00.0.bin (-2)
Feb  5 10:35:28 kernel: [   60.977724] ath10k_pci 0000:01:00.0: firmware: failed to load ath10k/pre-cal-pci-0000:01:00.0.bin (-2)
Feb  5 10:35:28 kernel: [   60.977735] ath10k_pci 0000:01:00.0: firmware: failed to load ath10k/cal-pci-0000:01:00.0.bin (-2)
Feb  5 10:35:28 kernel: [   60.977744] ath10k_pci 0000:01:00.0: firmware: failed to load ath10k/cal-pci-0000:01:00.0.bin (-2)
Feb  5 10:35:28 kernel: [   60.977755] ath10k_pci 0000:01:00.0: firmware: failed to load ath10k/QCA6174/hw2.1/firmware-6.bin (-2)
Feb  5 10:35:28 kernel: [   60.977762] ath10k_pci 0000:01:00.0: firmware: failed to load ath10k/QCA6174/hw2.1/firmware-6.bin (-2)
Feb  5 10:35:28 kernel: [   60.977973] ath10k_pci 0000:01:00.0: firmware: direct-loading firmware ath10k/QCA6174/hw2.1/firmware-5.bin
Feb  5 10:35:28 kernel: [   60.977980] ath10k_pci 0000:01:00.0: qca6174 hw2.1 target 0x05010000 chip_id 0x003405ff sub 144d:4125
Feb  5 10:35:28 kernel: [   60.977986] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
Feb  5 10:35:28 kernel: [   60.978697] ath10k_pci 0000:01:00.0: firmware ver SW_RM.1.1.1-00157-QCARMSWPZ-1 api 5 features ignore-otp,no-4addr-pad crc32 10bf8e08
Feb  5 10:35:28 kernel: [   61.040011] ath10k_pci 0000:01:00.0: firmware: direct-loading firmware ath10k/QCA6174/hw2.1/board-2.bin
Feb  5 10:35:28 kernel: [   61.040387] ath10k_pci 0000:01:00.0: board_file api 2 bmi_id N/A crc32 ae2e275a
Feb  5 10:35:29 check-missing-firmware: looking at dmesg again, restarting from timestamp: [   57.345819]
Feb  5 10:35:29 check-missing-firmware: timestamp found, truncating dmesg accordingly
Feb  5 10:35:29 check-missing-firmware: saving timestamp for a later use: [   61.040387]
Feb  5 10:35:29 check-missing-firmware: looking for firmware file ath10k/pre-cal-pci-0000:01:00.0.bin requested by ath10k_pci
Feb  5 10:35:29 check-missing-firmware: looking for firmware file ath10k/pre-cal-pci-0000:01:00.0.bin requested by ath10k_pci
Feb  5 10:35:29 check-missing-firmware: looking for firmware file ath10k/cal-pci-0000:01:00.0.bin requested by ath10k_pci
Feb  5 10:35:29 check-missing-firmware: looking for firmware file ath10k/cal-pci-0000:01:00.0.bin requested by ath10k_pci
Feb  5 10:35:29 check-missing-firmware: looking for firmware file ath10k/QCA6174/hw2.1/firmware-6.bin requested by ath10k_pci
Feb  5 10:35:29 check-missing-firmware: looking for firmware file ath10k/QCA6174/hw2.1/firmware-6.bin requested by ath10k_pci
Feb  5 10:35:29 check-missing-firmware: missing firmware files (ath10k/pre-cal-pci-0000:01:00.0.bin ath10k/pre-cal-pci-0000:01:00.0.bin ath10k/cal-pci-0000:01:00.0.bin ath10k/cal-pci-0000:01:00.0.bin ath10k/QCA6174/hw2.1/firmware-6.bin ath10k/QCA6174/hw2.1/firmware-6.bin) for ath10k_pci
Feb  5 10:35:29 kernel: [   62.211095] ath10k_pci 0000:01:00.0: htt-ver 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
Feb  5 10:35:30 kernel: [   62.299139] ath: EEPROM regdomain: 0x6a
Feb  5 10:35:30 kernel: [   62.299142] ath: EEPROM indicates we should expect a direct regpair map
Feb  5 10:35:30 kernel: [   62.299144] ath: Country alpha2 being used: 00
Feb  5 10:35:30 kernel: [   62.299145] ath: Regpair used: 0x6a
Feb  5 10:35:30 kernel: [   62.300428] ath10k_pci 0000:01:00.0 wlp1s0: renamed from wlan0
Feb  5 10:35:30 net/hw-detect.hotplug: Detected hotpluggable network interface wlp1s0
Feb  5 10:36:02 check-missing-firmware: mainloop iteration #2

Reply to: