On Sun, Jan 09, 2022 at 05:32:21PM +0000, Iraklis Karagkiozoglou wrote: > Hi, > > I've added support for AX201 with subsystem id 0x0030 in if_iwx. > > I am only loading a different firmware for the specific subsystem id to > avoid introducing any regressions or bugs.
We are receiving more and more reports like yours that our iwm(4) and iwx(4) driver do not match some Intel wifi device which could be supported. So far, the devices recognized by our drivers are essentially the exact devices which were used by developers to make the drivers work. In the wild there are many devices which Intel has released which we do not recognize because the code we have to match devices is too simplistic. The Linux driver does not match your device based on subsystem ID 0x0030. Instead, it matches on the PCI product ID (0x20f0), reads the CSR_HW_RF_ID register, and maps your device to QuZ-a0-jf-b0 based on the value of this register! If you look into Linux you will see that it does not list subsystem ID 0x0030 anywhere; your device's subsystem ID is matched by the "IWL_CFG_ANY" wildcard. In order to use the correct firmware for each device Intel has shipped, the device matching code in our driver needs to be reworked to follow the same rules as Linux. Otherwise we will never get this right. Their device matching code is very complicated (see iwlwifif/pcie/drv.c). We will need to port this code over to have a proper long-term solution :-/
