Score:0

AX201 WLAN detected as AX101 by iwlwifi

ws flag

I have tried bot ubuntu 22.04 and 23.04, both with the same problem. lspci lists my wlan device as an AX201 but iwlwifi wants to load a firmware for an AX101 card.

lspci output:

00:00.0 Host bridge: Intel Corporation Device 4e12
00:02.0 VGA compatible controller: Intel Corporation JasperLake [UHD Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation Dynamic Tuning service
00:14.0 USB controller: Intel Corporation Device 4ded (rev 01)
00:14.2 RAM memory: Intel Corporation Device 4def (rev 01)
00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 160MHz (rev 01)
00:15.0 Serial bus controller: Intel Corporation Serial IO I2C Host Controller (rev 01)
00:15.1 Serial bus controller: Intel Corporation Serial IO I2C Host Controller (rev 01)
00:15.2 Serial bus controller: Intel Corporation Device 4dea (rev 01)
00:15.3 Serial bus controller: Intel Corporation Device 4deb (rev 01)
00:16.0 Communication controller: Intel Corporation Management Engine Interface (rev 01)
00:17.0 SATA controller: Intel Corporation Device 4dd3 (rev 01)
00:19.0 Serial bus controller: Intel Corporation Device 4dc5 (rev 01)
00:1e.0 Communication controller: Intel Corporation Device 4da8 (rev 01)
00:1e.3 Serial bus controller: Intel Corporation Device 4dab (rev 01)
00:1f.0 ISA bridge: Intel Corporation Device 4d87 (rev 01)
00:1f.3 Multimedia audio controller: Intel Corporation Jasper Lake HD Audio (rev 01)
00:1f.4 SMBus: Intel Corporation Jasper Lake SMBus (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Jasper Lake SPI Controller (rev 01)

dmesg output:

[    7.262257] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX101, REV=0x351
[    7.262359] thermal thermal_zone4: failed to read out thermal zone (-61)
[    7.344988] loop8: detected capacity change from 0 to 8
[    8.395377] iwlwifi 0000:00:14.3: WRT: Collecting data: ini trigger 13 fired (delay=0ms).
[    8.396512] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[    8.396517] iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 6
[    8.396520] iwlwifi 0000:00:14.3: Loaded firmware version: 72.daa05125.0 QuZ-a0-hr-b0-72.ucode
[    8.396523] iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN       
[    8.396525] iwlwifi 0000:00:14.3: 0x000022F0 | trm_hw_status0
[    8.396527] iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
[    8.396529] iwlwifi 0000:00:14.3: 0x004CC13E | branchlink2
[    8.396531] iwlwifi 0000:00:14.3: 0x004C25DE | interruptlink1
[    8.396532] iwlwifi 0000:00:14.3: 0x004C25DE | interruptlink2
[    8.396534] iwlwifi 0000:00:14.3: 0x004CADF8 | data1
[    8.396536] iwlwifi 0000:00:14.3: 0x01000000 | data2
[    8.396537] iwlwifi 0000:00:14.3: 0x00000000 | data3
[    8.396539] iwlwifi 0000:00:14.3: 0x00000000 | beacon time
[    8.396541] iwlwifi 0000:00:14.3: 0x0010B6B3 | tsf low
[    8.396542] iwlwifi 0000:00:14.3: 0x00000000 | tsf hi
[    8.396544] iwlwifi 0000:00:14.3: 0x00000000 | time gp1
[    8.396545] iwlwifi 0000:00:14.3: 0x00111249 | time gp2
[    8.396547] iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
[    8.396548] iwlwifi 0000:00:14.3: 0x00000048 | uCode version major
[    8.396550] iwlwifi 0000:00:14.3: 0xDAA05125 | uCode version minor
[    8.396552] iwlwifi 0000:00:14.3: 0x00000351 | hw version
[    8.396553] iwlwifi 0000:00:14.3: 0x18C89001 | board version
[    8.396555] iwlwifi 0000:00:14.3: 0x8002FC12 | hcmd
[    8.396557] iwlwifi 0000:00:14.3: 0x00020000 | isr0
[    8.396558] iwlwifi 0000:00:14.3: 0x00000000 | isr1
[    8.396560] iwlwifi 0000:00:14.3: 0x08F00002 | isr2
[    8.396561] iwlwifi 0000:00:14.3: 0x00C0000C | isr3
[    8.396563] iwlwifi 0000:00:14.3: 0x00000000 | isr4
[    8.396564] iwlwifi 0000:00:14.3: 0x00000000 | last cmd Id
[    8.396566] iwlwifi 0000:00:14.3: 0x004CADF8 | wait_event
[    8.396568] iwlwifi 0000:00:14.3: 0x00000000 | l2p_control
[    8.396569] iwlwifi 0000:00:14.3: 0x00000000 | l2p_duration
[    8.396571] iwlwifi 0000:00:14.3: 0x00000000 | l2p_mhvalid
[    8.396572] iwlwifi 0000:00:14.3: 0x00000000 | l2p_addr_match
[    8.396574] iwlwifi 0000:00:14.3: 0x0000000B | lmpm_pmg_sel
[    8.396575] iwlwifi 0000:00:14.3: 0x00000000 | timestamp
[    8.396577] iwlwifi 0000:00:14.3: 0x00000020 | flow_handler
[    8.396631] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[    8.396633] iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 7
[    8.396635] iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
[    8.396637] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[    8.396638] iwlwifi 0000:00:14.3: 0x80455E9C | umac branchlink2
[    8.396640] iwlwifi 0000:00:14.3: 0x8047257E | umac interruptlink1
[    8.396642] iwlwifi 0000:00:14.3: 0xC0081524 | umac interruptlink2
[    8.396643] iwlwifi 0000:00:14.3: 0x01000000 | umac data1
[    8.396645] iwlwifi 0000:00:14.3: 0xC0081524 | umac data2
[    8.396646] iwlwifi 0000:00:14.3: 0x00000000 | umac data3
[    8.396648] iwlwifi 0000:00:14.3: 0x00000048 | umac major
[    8.396649] iwlwifi 0000:00:14.3: 0xDAA05125 | umac minor
[    8.396651] iwlwifi 0000:00:14.3: 0x00111247 | frame pointer
[    8.396653] iwlwifi 0000:00:14.3: 0xC0887EFC | stack pointer
[    8.396654] iwlwifi 0000:00:14.3: 0x00010C00 | last host cmd
[    8.396656] iwlwifi 0000:00:14.3: 0x00000004 | isr status reg
[    8.396691] iwlwifi 0000:00:14.3: IML/ROM dump:
[    8.396693] iwlwifi 0000:00:14.3: 0x00000003 | IML/ROM error/state
[    8.396729] iwlwifi 0000:00:14.3: 0x000056EF | IML/ROM data1
[    8.396738] iwlwifi 0000:00:14.3: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
[    8.396744] iwlwifi 0000:00:14.3: Fseq Registers:
[    8.396764] iwlwifi 0000:00:14.3: 0x60000000 | FSEQ_ERROR_CODE
[    8.396786] iwlwifi 0000:00:14.3: 0x80290033 | FSEQ_TOP_INIT_VERSION
[    8.396807] iwlwifi 0000:00:14.3: 0x00090006 | FSEQ_CNVIO_INIT_VERSION
[    8.396829] iwlwifi 0000:00:14.3: 0x0000A482 | FSEQ_OTP_VERSION
[    8.396851] iwlwifi 0000:00:14.3: 0x00000003 | FSEQ_TOP_CONTENT_VERSION
[    8.396872] iwlwifi 0000:00:14.3: 0x4552414E | FSEQ_ALIVE_TOKEN
[    8.396894] iwlwifi 0000:00:14.3: 0x20000302 | FSEQ_CNVI_ID
[    8.396916] iwlwifi 0000:00:14.3: 0x00000501 | FSEQ_CNVR_ID
[    8.396937] iwlwifi 0000:00:14.3: 0x20000302 | CNVI_AUX_MISC_CHIP
[    8.396961] iwlwifi 0000:00:14.3: 0x00000501 | CNVR_AUX_MISC_CHIP
[    8.396982] iwlwifi 0000:00:14.3: 0x05B0905B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[    8.397004] iwlwifi 0000:00:14.3: 0x0000025B | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[    8.753035] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110
[    8.765571] iwlwifi 0000:00:14.3: retry init count 2

what can i do to solve this? can i somehow convince iwlwifi to load an AX201 firmware? Thanks in advance.

nobody avatar
gh flag
Is this working? https://askubuntu.com/questions/1352653/intel-ax201-wi-fi-6-is-not-working-on-ubuntu-21-04
Roku avatar
ws flag
trying that gives me some sort of stacktrace in dmesg after iwlwifi loads...thanks tho
Score:1
ws flag

got it working. I reinstalled ubuntu 22.04 and downloaded the kernel source. I then made changes to drivers/net/wireless/intel/iwlwifi/pcie/drv.c

First i commented out the following lines starting from line number 989 which detected the card as an AX101, although this might not be neccessary:

    /* QuZ */
    _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY,
              IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY,
              IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY,
              IWL_CFG_ANY, IWL_CFG_ANY, IWL_CFG_NO_CDB, IWL_CFG_ANY,
              iwl_quz_a0_hr1_b0, iwl_ax101_name),

then i added an entry for my card, which has the pci id 0x4df0 0x0244. Starting at line number 255 there are entries for AX201 cards. I added to the bottom of the block which says "Qu with Hr". The block starts like this:

/* AX200 */
    IWL_DEV_INFO(0x2723, IWL_CFG_ANY, iwl_ax200_cfg_cc, iwl_ax200_name),
    IWL_DEV_INFO(0x2723, 0x1653, iwl_ax200_cfg_cc, iwl_ax200_killer_1650w_name),
    IWL_DEV_INFO(0x2723, 0x1654, iwl_ax200_cfg_cc, iwl_ax200_killer_1650x_name),

    /* Qu with Hr */
    IWL_DEV_INFO(0x43F0, 0x0070, iwl_ax201_cfg_qu_hr, NULL),
    IWL_DEV_INFO(0x43F0, 0x0074, iwl_ax201_cfg_qu_hr, NULL),
    IWL_DEV_INFO(0x43F0, 0x0078, iwl_ax201_cfg_qu_hr, NULL),
    IWL_DEV_INFO(0x43F0, 0x007C, iwl_ax201_cfg_qu_hr, NULL),

The line which I added is this:

    IWL_DEV_INFO(0x4DF0, 0x0244, iwl_ax201_cfg_qu_hr, NULL),

which is my card ID.

The rest was just building the kernel with

make bindeb-pkg

and installing the packages with

dpkg -i 
Score:0
ls flag

Thanks to Roku answering their own question, I was able to get this to work also on Ubuntu 20.04.6 LTS, Linux kernel v5.15.0-72-generic.

NOTE: It is absolutely required to remove the _IWL_DEV_INFO entry, or the device gets detected as AX101 and will fail. The entry to remove, as seen in Roku's answer, is the one with IWL_CFG_MAC_TYPE_QUZ and IWL_CFG_RF_TYPE_HR1.

I now have WiFi on my BeeLink, yay!

The Bluetooth wasn't working, in dmesg it complained about missing firmware at /lib/firmware/intel/ibt-19-0-3.sfi. I went to https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/intel and got both the sfi and ddc files. Then I used "sudo" to copy them into the /lib/firmware/intel directory.

After a reboot, Bluetooth is working. My Bose headphones are dropping the connection though, so perhaps more work is needed.

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.