Close

X35G AX200 WIFI

stanislas-bertrandStanislas Bertrand wrote 08/22/2022 at 03:48 • 7 min read • Like

When setting up Minisforum X35G NUC as a OpenWRT router I faced an issue with the Intel AX200 Wifi.

Before going thru the whole install, I tested the X35G with OpenWRT on a USB drive.
At the time, I was able to install the required driver for the AX200 card. I used the mainline firmware since not avaiable as a OpenWRT package. I tested speed and bandwidth correctly with my laptop.

When I setup OpenWRT in the nvme storage, iwlwifi starting crapping out.

[    0.000000] Linux version 5.4.188
[...]
[    5.241045] Intel(R) Wireless WiFi driver for Linux
[    5.242581] iwlwifi 0000:2c:00.0: enabling device (0000 -> 0002)
[    5.248109] iwlwifi 0000:2c:00.0: api flags index 2 larger than supported by driver
[    5.250556] iwlwifi 0000:2c:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.22
[    5.253192] iwlwifi 0000:2c:00.0: loaded firmware version 59.601f3a66.0 cc-a0-59.ucode op_mode iwlmvm
[    5.260577] iwlwifi 0000:2c:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
[...]
[   40.039878] iwlwifi 0000:2c:00.0: Microcode SW error detected. Restarting 0x0.
[   40.041965] iwlwifi 0000:2c:00.0: Start IWL Error Log Dump:
[   40.043777] iwlwifi 0000:2c:00.0: Status: 0x00000040, count: 6
[   40.045501] iwlwifi 0000:2c:00.0: Loaded firmware version: 59.601f3a66.0 cc-a0-59.ucode
[   40.046489] iwlwifi 0000:2c:00.0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL    
[   40.047478] iwlwifi 0000:2c:00.0: 0x000022F1 | trm_hw_status0
[   40.048540] iwlwifi 0000:2c:00.0: 0x00000000 | trm_hw_status1
[   40.049545] iwlwifi 0000:2c:00.0: 0x004FAA36 | branchlink2
[   40.050605] iwlwifi 0000:2c:00.0: 0x000145FA | interruptlink1
[   40.051666] iwlwifi 0000:2c:00.0: 0x000145FA | interruptlink2
[   40.052662] iwlwifi 0000:2c:00.0: 0x0000F9E2 | data1
[   40.053711] iwlwifi 0000:2c:00.0: 0x00001000 | data2
[   40.054775] iwlwifi 0000:2c:00.0: 0x00000000 | data3
[   40.055790] iwlwifi 0000:2c:00.0: 0x00000000 | beacon time
[   40.056800] iwlwifi 0000:2c:00.0: 0x00416296 | tsf low
[   40.057817] iwlwifi 0000:2c:00.0: 0x00000000 | tsf hi
[   40.058746] iwlwifi 0000:2c:00.0: 0x00000000 | time gp1
[   40.059733] iwlwifi 0000:2c:00.0: 0x0041B92D | time gp2
[   40.060716] iwlwifi 0000:2c:00.0: 0x00000001 | uCode revision type
[   40.061700] iwlwifi 0000:2c:00.0: 0x0000003B | uCode version major
[   40.062666] iwlwifi 0000:2c:00.0: 0x601F3A66 | uCode version minor
[   40.063603] iwlwifi 0000:2c:00.0: 0x00000340 | hw version
[   40.064574] iwlwifi 0000:2c:00.0: 0x00C89000 | board version
[   40.065527] iwlwifi 0000:2c:00.0: 0x0200001C | hcmd
[   40.066382] iwlwifi 0000:2c:00.0: 0x00120000 | isr0
[   40.067211] iwlwifi 0000:2c:00.0: 0x00000000 | isr1
[   40.068050] iwlwifi 0000:2c:00.0: 0x08F80002 | isr2
[   40.068877] iwlwifi 0000:2c:00.0: 0x04C20018 | isr3
[   40.069761] iwlwifi 0000:2c:00.0: 0x00000000 | isr4
[   40.070523] iwlwifi 0000:2c:00.0: 0x0031019C | last cmd Id
[   40.071261] iwlwifi 0000:2c:00.0: 0x0000F9E2 | wait_event
[   40.072026] iwlwifi 0000:2c:00.0: 0x00000000 | l2p_control
[   40.072794] iwlwifi 0000:2c:00.0: 0x00000820 | l2p_duration
[   40.073573] iwlwifi 0000:2c:00.0: 0x00000000 | l2p_mhvalid
[   40.074334] iwlwifi 0000:2c:00.0: 0x00008000 | l2p_addr_match
[   40.075091] iwlwifi 0000:2c:00.0: 0x00000009 | lmpm_pmg_sel
[   40.075839] iwlwifi 0000:2c:00.0: 0x00000000 | timestamp
[   40.076580] iwlwifi 0000:2c:00.0: 0x00002874 | flow_handler
[   40.077350] iwlwifi 0000:2c:00.0: Start IWL Error Log Dump:
[   40.078045] iwlwifi 0000:2c:00.0: Status: 0x00000040, count: 7
[   40.078746] iwlwifi 0000:2c:00.0: 0x20003207 | ADVANCED_SYSASSERT
[   40.079484] iwlwifi 0000:2c:00.0: 0x00000000 | umac branchlink1
[   40.080229] iwlwifi 0000:2c:00.0: 0x804568FC | umac branchlink2
[   40.080970] iwlwifi 0000:2c:00.0: 0xC0084F3C | umac interruptlink1
[   40.081764] iwlwifi 0000:2c:00.0: 0x00000000 | umac interruptlink2
[   40.082507] iwlwifi 0000:2c:00.0: 0x00033907 | umac data1
[   40.083220] iwlwifi 0000:2c:00.0: 0xDEADBEEF | umac data2
[   40.083959] iwlwifi 0000:2c:00.0: 0xDEADBEEF | umac data3
[   40.084704] iwlwifi 0000:2c:00.0: 0x0000003B | umac major
[   40.085471] iwlwifi 0000:2c:00.0: 0x601F3A66 | umac minor
[   40.086211] iwlwifi 0000:2c:00.0: 0x0041B928 | frame pointer
[   40.086925] iwlwifi 0000:2c:00.0: 0xC0885E68 | stack pointer
[   40.087663] iwlwifi 0000:2c:00.0: 0x0031019C | last host cmd
[   40.088410] iwlwifi 0000:2c:00.0: 0x00000000 | isr status reg
[   40.089132] iwlwifi 0000:2c:00.0: Fseq Registers:
[   40.089986] iwlwifi 0000:2c:00.0: 0x60000000 | FSEQ_ERROR_CODE
[   40.090712] iwlwifi 0000:2c:00.0: 0x80290021 | FSEQ_TOP_INIT_VERSION
[   40.091443] iwlwifi 0000:2c:00.0: 0x00050008 | FSEQ_CNVIO_INIT_VERSION
[   40.092179] iwlwifi 0000:2c:00.0: 0x0000A503 | FSEQ_OTP_VERSION
[   40.092912] iwlwifi 0000:2c:00.0: 0x80000003 | FSEQ_TOP_CONTENT_VERSION
[   40.093738] iwlwifi 0000:2c:00.0: 0x4552414E | FSEQ_ALIVE_TOKEN
[   40.094476] iwlwifi 0000:2c:00.0: 0x00100530 | FSEQ_CNVI_ID
[   40.095197] iwlwifi 0000:2c:00.0: 0x00000532 | FSEQ_CNVR_ID
[   40.095905] iwlwifi 0000:2c:00.0: 0x00100530 | CNVI_AUX_MISC_CHIP
[   40.096608] iwlwifi 0000:2c:00.0: 0x00000532 | CNVR_AUX_MISC_CHIP
[   40.097342] iwlwifi 0000:2c:00.0: 0x05B0905B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[   40.098025] iwlwifi 0000:2c:00.0: 0x0000025B | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[   40.098857] iwlwifi 0000:2c:00.0: WRT: Collecting data: ini trigger 4 fired.
[   40.099559] ieee80211 phy0: Hardware restart was requested

The Ubuntu installation indicated using a different firmware. I tested a snapshot version of OpenWRT with firmware 66 vs 59. Same issue

[    0.000000] Linux version 5.10.136
[...]
[    6.498916] iwlwifi 0000:2c:00.0: enabling device (0000 -> 0002)
[    6.519321] iwlwifi 0000:2c:00.0: api flags index 2 larger than supported by driver
[    6.525886] iwlwifi 0000:2c:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
[    6.531351] iwlwifi 0000:2c:00.0: loaded firmware version 66.f1c864e0.0 cc-a0-66.ucode op_mode iwlmvm
[    6.540410] iwlwifi 0000:2c:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
[    6.665052] iwlwifi 0000:2c:00.0: Detected RF HR B3, rfid=0x10a100
[  157.932724] iwlwifi 0000:2c:00.0: Microcode SW error detected. Restarting 0x0.
[  157.936207] iwlwifi 0000:2c:00.0: Start IWL Error Log Dump:
[  157.938430] iwlwifi 0000:2c:00.0: Transport status: 0x0000004A, valid: 6
[  157.940749] iwlwifi 0000:2c:00.0: Loaded firmware version: 66.f1c864e0.0 cc-a0-66.ucode
[  157.942867] iwlwifi 0000:2c:00.0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL    
[  157.945359] iwlwifi 0000:2c:00.0: 0x000022F1 | trm_hw_status0
[  157.947141] iwlwifi 0000:2c:00.0: 0x00000000 | trm_hw_status1
[  157.948909] iwlwifi 0000:2c:00.0: 0x004FAA46 | branchlink2
[  157.951011] iwlwifi 0000:2c:00.0: 0x00014A04 | interruptlink1
[  157.952768] iwlwifi 0000:2c:00.0: 0x00014A04 | interruptlink2
[  157.954518] iwlwifi 0000:2c:00.0: 0x0000EC7A | data1
[  157.956162] iwlwifi 0000:2c:00.0: 0x00001000 | data2
[  157.957796] iwlwifi 0000:2c:00.0: 0x00000000 | data3
[  157.959422] iwlwifi 0000:2c:00.0: 0x00000000 | beacon time
[  157.961482] iwlwifi 0000:2c:00.0: 0x004197DE | tsf low
[  157.963247] iwlwifi 0000:2c:00.0: 0x00000000 | tsf hi
[  157.964863] iwlwifi 0000:2c:00.0: 0x00000000 | time gp1
[  157.966504] iwlwifi 0000:2c:00.0: 0x0041F47F | time gp2
[  157.968134] iwlwifi 0000:2c:00.0: 0x00000001 | uCode revision type
[  157.969978] iwlwifi 0000:2c:00.0: 0x00000042 | uCode version major
[  157.971695] iwlwifi 0000:2c:00.0: 0xF1C864E0 | uCode version minor
[  157.973392] iwlwifi 0000:2c:00.0: 0x00000340 | hw version
[  157.974972] iwlwifi 0000:2c:00.0: 0x00C89000 | board version
[  157.976568] iwlwifi 0000:2c:00.0: 0x0200001C | hcmd
[  157.978038] iwlwifi 0000:2c:00.0: 0x00120000 | isr0
[  157.979495] iwlwifi 0000:2c:00.0: 0x00000000 | isr1
[  157.981182] iwlwifi 0000:2c:00.0: 0x08F80002 | isr2
[  157.982631] iwlwifi 0000:2c:00.0: 0x00C2000C | isr3
[  157.984077] iwlwifi 0000:2c:00.0: 0x00000000 | isr4
[  157.985523] iwlwifi 0000:2c:00.0: 0x002E0103 | last cmd Id
[  157.987043] iwlwifi 0000:2c:00.0: 0x0000EC7A | wait_event
[  157.988551] iwlwifi 0000:2c:00.0: 0x00000A9F | l2p_control
[  157.990191] iwlwifi 0000:2c:00.0: 0x00000820 | l2p_duration
[  157.991697] iwlwifi 0000:2c:00.0: 0x00000003 | l2p_mhvalid
[  157.993176] iwlwifi 0000:2c:00.0: 0x0000A000 | l2p_addr_match
[  157.994692] iwlwifi 0000:2c:00.0: 0x0000000B | lmpm_pmg_sel
[  157.996177] iwlwifi 0000:2c:00.0: 0x00000000 | timestamp
[  157.997631] iwlwifi 0000:2c:00.0: 0x00003084 | flow_handler
[  157.999162] iwlwifi 0000:2c:00.0: Start IWL Error Log Dump:
[  158.000844] iwlwifi 0000:2c:00.0: Transport status: 0x0000004A, valid: 7
[  158.002500] iwlwifi 0000:2c:00.0: 0x20003207 | ADVANCED_SYSASSERT
[  158.004069] iwlwifi 0000:2c:00.0: 0x00000000 | umac branchlink1
[  158.005636] iwlwifi 0000:2c:00.0: 0x80455A96 | umac branchlink2
[  158.007179] iwlwifi 0000:2c:00.0: 0xC00811A4 | umac interruptlink1
[  158.008789] iwlwifi 0000:2c:00.0: 0x00000000 | umac interruptlink2
[  158.010561] iwlwifi 0000:2c:00.0: 0x00037457 | umac data1
[  158.012039] iwlwifi 0000:2c:00.0: 0xDEADBEEF | umac data2
[  158.013499] iwlwifi 0000:2c:00.0: 0xDEADBEEF | umac data3
[  158.014978] iwlwifi 0000:2c:00.0: 0x00000042 | umac major
[  158.016452] iwlwifi 0000:2c:00.0: 0xF1C864E0 | umac minor
[  158.017920] iwlwifi 0000:2c:00.0: 0x0041F479 | frame pointer
[  158.019434] iwlwifi 0000:2c:00.0: 0xC0885E50 | stack pointer
[  158.021128] iwlwifi 0000:2c:00.0: 0x002E0103 | last host cmd
[  158.022642] iwlwifi 0000:2c:00.0: 0x00000000 | isr status reg
[  158.024200] iwlwifi 0000:2c:00.0: IML/ROM dump:
[  158.025571] iwlwifi 0000:2c:00.0: 0x00000003 | IML/ROM error/state
[  158.027182] iwlwifi 0000:2c:00.0: 0x00005BA9 | IML/ROM data1
[  158.028730] iwlwifi 0000:2c:00.0: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
[  158.030602] iwlwifi 0000:2c:00.0: Fseq Registers:
[  158.032017] iwlwifi 0000:2c:00.0: 0x60000000 | FSEQ_ERROR_CODE
[  158.033586] iwlwifi 0000:2c:00.0: 0x80290021 | FSEQ_TOP_INIT_VERSION
[  158.035210] iwlwifi 0000:2c:00.0: 0x00050008 | FSEQ_CNVIO_INIT_VERSION
[  158.036860] iwlwifi 0000:2c:00.0: 0x0000A503 | FSEQ_OTP_VERSION
[  158.038430] iwlwifi 0000:2c:00.0: 0x80000003 | FSEQ_TOP_CONTENT_VERSION
[  158.040240] iwlwifi 0000:2c:00.0: 0x4552414E | FSEQ_ALIVE_TOKEN
[  158.041808] iwlwifi 0000:2c:00.0: 0x00100530 | FSEQ_CNVI_ID
[  158.043329] iwlwifi 0000:2c:00.0: 0x00000532 | FSEQ_CNVR_ID
[  158.044842] iwlwifi 0000:2c:00.0: 0x00100530 | CNVI_AUX_MISC_CHIP
[  158.046424] iwlwifi 0000:2c:00.0: 0x00000532 | CNVR_AUX_MISC_CHIP
[  158.048009] iwlwifi 0000:2c:00.0: 0x05B0905B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[  158.049899] iwlwifi 0000:2c:00.0: 0x0000025B | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[  158.051911] iwlwifi 0000:2c:00.0: WRT: Collecting data: ini trigger 4 fired (delay=0ms).
[  158.053755] ieee80211 phy0: Hardware restart was requested
[  163.023703] iwlwifi 0000:2c:00.0: Microcode SW error detected. Restarting 0x0.

 I then tested an Intel 9260 card, same issue. With an Intel 8260, Wifi was functional and stable. However performance was terrible.

For those tests I was using the X35G patch antennas. For fair comparison with an WRT1200AC, I changed to external antennas. There the performance was on par with the WRT1200AC (Testing only 2.4G). The only difference is the transmitted power 30dbm on WRT1200AC vs 22dbm on Intel.

Since I had the hardware open and antenna setup. I tested the Intel AX200 again.
To my benefit, no more hardware restart. I was able to connected my 4 Wifi device with the AX200 in AX 2.4G 40MHz mode. I tested the patch antenna again and the hardware restarts appeared again.

Testing the AX200 indicated that I could get more bandwidth for my laptop. The WRT1200AC is set to 40MHz width but does not transition to it (unless forced) where as the AX200 does.

Now I just need to update the antennas on the X35G.

I am still puzzled that the initial tested was ok the very first time around. My guess is that I might has fried the patch antennas with the AP mode. With damaged antenna the AX200 reports something that is handled with a hardware restart.

I have not tried any of the iwlwifi options.

Feel free to share feedback on the matter.

Like

Discussions