Firmware missing for WiFi on x86 miniPC BQM5

Hi! I have installed OpenWrt as
openwrt-23.05.5-x86-64-generic-ext4-combined-efi.img on a new miniPC
"BQM5", which is x86-64. Everything works nicely (Thank You, OpenWrt!)
except WiFi:
iwlwifi 0000:00:14.3: no suitable firmware found!
iwlwifi 0000:00:14.3: minimum version required: iwlwifi-so-a0-hr-b0-39
iwlwifi 0000:00:14.3: maximum version supported: iwlwifi-so-a0-hr-b0-72

I have downloaded https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/iwlwifi-so-a0-hr-b0-72.ucode
OK, but what should I do with the file? I did put it in the
/lib/firmware directory and rebooted. No change. Maybe something must
be done to make OpenWrt accept the firmware file? depmod? Some script?
Both intel.com and kernel.org recommends putting the file in
/lib/firmware.

I have installed (and rebooted):
iwlwifi, kmod-iwlwifi, iwlwifi-firmware-ax201, intel-microcode.
I can't see any wireless device, such as wlan0.

If I instead boot from a Debian Live USB memory I can see that WiFi
works as it should:
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000

In syslog (Debian) there are some complains:
iwlwifi 0000:00:14.3: firmware: direct-loading firmware iwlwifi-so-a0-hr-b0-72.ucode
iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.36
iwlwifi 0000:00:14.3: firmware: failed to load iwl-debug-yoyo.bin (-2)
firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
iwlwifi 0000:00:14.3: firmware: failed to load iwl-debug-yoyo.bin (-2)
iwlwifi 0000:00:14.3: loaded firmware version 72.daa05125.0 so-a0-hr-b0-72.ucode op_mode iwlmvm

In Debian I can run lsusb and I get:
Bus 001 Device 004: ID 8087:0026 Intel Corp. AX201 Bluetooth

From lshw in Debian I get:
capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=6.1.0-26-amd64 firmware=72.daa05125.0 so-a0-hr-b0-72.uc ip=192.168.1.188 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: iomemory:600-5ff irq:16 memory:605d1a4000-605d1a7fff

I appreciate any help on this. (Then I will continue my project of
using Docker on top of OpenWrt. It seems promising!)

Intel is a no go for AP, if that's what you're going for.

Try to write ax201 in Luci/System/Software
You will get only 2.4GHz AP support.

Thanks, but that didn't give me anything more than
iwlwifi-firmware-ax201
which I have already installed.

That's bad news for me! Anyway, I should be able to use it as a WiFi client?

Linux firmware is here:

You need to copy missing file(s) from clone of repo iwlwifi directory to /lib/firmware/iwlwifi/ on the router.
AX201 was a guess from bt module, since you do not provude lspci from ubuntu or openwrt we cannot guess wifi component model.

I found lspci in the pciutils package. Installed it and found:
00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
Nothing else about WiFi.

There was no directory /lib/firmware/iwlwifi/ but I try anyway:
leif@k1:/lib/firmware$ sudo mkdir iwlwifi
leif@k1:/lib/firmware$ sudo mv iwlwifi-so-a0-hr-b0-72.ucode iwlwifi/
leif@k1:/lib/firmware$ sudo reboot
No, still no WiFi device.

Are you using OpenWRT?
iwlwifi directory should be there since you said you installed iwlwifi firmware.
It needs different firmware likely
lspci -nn to show device ID-s.

Yes, I'm using OpenWrt:
leif@k1:~$ cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='23.05.5'
DISTRIB_REVISION='r24106-10cc5fcd00'
DISTRIB_TARGET='x86/64'
DISTRIB_ARCH='x86_64'
DISTRIB_DESCRIPTION='OpenWrt 23.05.5 r24106-10cc5fcd00'
DISTRIB_TAINTS=''

And no -- I was wrong about having iwlwifi package installed. Sorry, no such package exists! I have kmod-iwlwifi.

The package iwlwifi-firmware-ax201 puts its only file in /lib/firmware:
leif@k1:~$ opkg files iwlwifi-firmware-ax201
Package iwlwifi-firmware-ax201 (20230804-1) is installed on root and has the following files:
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-72.ucode

I now think I must somehow search for a firmware that matches what lspci -nn says:

leif@k1:~$ sudo lspci -nn | grep -i wifi
00:14.3 Network controller [0280]: Intel Corporation Raptor Lake PCH CNVi WiFi [8086:51f1] (rev 01)

So far I have not succeeded with https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/

Did you copy the files from localy cloned repo?
Yes, files go to /ib/firmware.
What is in boot messages when you upoad one file?

Great -- thank you! Now it works!

I did download directly from:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/iwlwifi-so-a0-hr-b0-72.ucode
and got some HTML garbage!
Cloning the repo (2 GB on disk!) and copying the file from there worked.
I now have this (six times smaller) file:
1470384 Oct 27 14:36 /lib/firmware/iwlwifi-so-a0-hr-b0-72.ucode
The device wlan0 appeared directly after rebooting. From syslog:

Sun Oct 27 14:58:04 2024 daemon.err procd: Could not find firmware /lib/firmware/iwl-debug-yoyo.bin: No such file or directory
Sun Oct 27 14:58:04 2024 kern.info kernel: [   12.662473] iwlwifi 0000:00:14.3: loaded firmware version 72.daa05125.0 so-a0-hr-b0-72.ucode op_mode iwlmvm
Sun Oct 27 14:58:04 2024 kern.info kernel: [   12.686327] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX201 160MHz, REV=0x370
Sun Oct 27 14:58:04 2024 kern.warn kernel: [   12.695678] thermal thermal_zone2: failed to read out thermal zone (-61)
Sun Oct 27 14:58:04 2024 kern.info kernel: [   12.726567] igc 0000:81:00.0 eth0: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX
Sun Oct 27 14:58:05 2024 kern.info kernel: [   12.818755] iwlwifi 0000:00:14.3: Detected RF HR B3, rfid=0x10a100
Sun Oct 27 14:58:05 2024 kern.info kernel: [   12.836739] igc 0000:82:00.0 eth1: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX
Sun Oct 27 14:58:05 2024 kern.info kernel: [   12.892474] iwlwifi 0000:00:14.3: base HW address: 40:ec:99:cc:b5:e6

Sometime later I will try using it as an AP. But, as frollic says, it will probably be "no go for AP". It also seems, as you said, I can't use 5 GHz.

Ask in bug tracker to upgrade the file in package?

Well, I think the fault was mine and not the git repo in kernel.org. If I click the word "plain" to the far right in Firefox, I can download the file correctly. Maybe a pedagogical problem, but not a bug.

Did you install ax201 firmware package as instructed firsthand?
Did you clone the git repo to copy files?
I suspect it was answered long ago, you just flew over advice without reading.

Yes I installed it even before asking.

Cloning the 2 GB repo wasn't really necessary. Finding the link "plain" to the right was enough. Yes, I read every word, but I didn't believe about "clone of repo". Now I know that a simple "Save link as" didn't work.

Current firmware package contains outdated/different file:
1370356 Jul 10 21:07 ./lib/firmware/iwlwifi-QuZ-a0-hr-b0-72.ucode

Yes, so the outdated file and the correct one are now both in place:

leif@k1:~$ ls -l /lib/firmware/iwlwifi*
-rw-r--r--    1 root     root       1370356 Jul 10 23:07 /lib/firmware/iwlwifi-QuZ-a0-hr-b0-72.ucode
-rw-r--r--    1 root     root       1470384 Oct 27 14:36 /lib/firmware/iwlwifi-so-a0-hr-b0-72.ucode

Got it, there are 2 AX201-s turns out.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.