I'm running Ubuntu 20.04.03 with kernel 5.11.
I have a Gigabyte B460M DS3H motherboard with a Core i5 CPU. I have installed a TPLink AX3000 Wifi 6 adapter that uses Intel's AX200 chipset. It is installed in the (only) PCIe slot.
The Bluetooth works but the WiFi does not. There is no Wireless option that appears in the settings menu.
I understand from Intel's website that this chipset has been supported in the kernel since 5.1.
First I checked lspci
and I can see that the device is recognized.
$ lspci
01:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
(Here's the verbose output)
$ sudo lspci -vv -s 01:00.0
01:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
Subsystem: Intel Corporation Wi-Fi 6 AX200
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at b1200000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [c8] Power Management version 3
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [40] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+ FLReset-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <8us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s (ok), Width x1 (ok)
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range B, TimeoutDis+, NROPrPrP-, LTR+
10BitTagComp-, 10BitTagReq-, OBFF Via WAKE#, ExtFmt-, EETLPPrefix-
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
FRS-, TPHComp-, ExtTPHComp-
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 16ms to 55ms, TimeoutDis-, LTR+, OBFF Via WAKE#
AtomicOpsCtl: ReqEn-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [80] MSI-X: Enable+ Count=16 Masked-
Vector table: BAR=0 offset=00002000
PBA: BAR=0 offset=00003000
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
HeaderLog: 00000000 00000000 00000000 00000000
Capabilities: [14c v1] Latency Tolerance Reporting
Max snoop latency: 71680ns
Max no snoop latency: 71680ns
Capabilities: [154 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=30us PortTPowerOnTime=18us
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
T_CommonMode=0us LTR1.2_Threshold=0ns
L1SubCtl2: T_PwrOn=10us
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
I looked at modprobe iwlwifi
and I didn't see anything concerning there. I can reproduce the output if needed, but it doesn't seem to be. The module exists and is loaded, I don't see any errors.
When I look at dmesg
, I see the following output:
[ 6.901606] iwlwifi 0000:01:00.0: SecBoot CPU1 Status: 0x5625, CPU2 Status: 0x3
[ 6.901617] iwlwifi 0000:01:00.0: UMAC PC: 0x804766c0
[ 6.901625] iwlwifi 0000:01:00.0: LMAC PC: 0xd0
[ 6.901627] iwlwifi 0000:01:00.0: WRT: Collecting data: ini trigger 13 fired.
[ 6.901694] iwlwifi 0000:01:00.0: Start IWL Error Log Dump:
[ 6.901695] iwlwifi 0000:01:00.0: Status: 0x00000000, count: 6
[ 6.901696] iwlwifi 0000:01:00.0: Loaded firmware version: 59.601f3a66.0 cc-a0-59.ucode
[ 6.901697] iwlwifi 0000:01:00.0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
[ 6.901698] iwlwifi 0000:01:00.0: 0x002022F0 | trm_hw_status0
[ 6.901699] iwlwifi 0000:01:00.0: 0x00000000 | trm_hw_status1
[ 6.901700] iwlwifi 0000:01:00.0: 0x004FAA36 | branchlink2
[ 6.901701] iwlwifi 0000:01:00.0: 0x004F0E12 | interruptlink1
[ 6.901702] iwlwifi 0000:01:00.0: 0x004F0E12 | interruptlink2
[ 6.901703] iwlwifi 0000:01:00.0: 0x004F3D2A | data1
[ 6.901703] iwlwifi 0000:01:00.0: 0x00001000 | data2
[ 6.901704] iwlwifi 0000:01:00.0: 0x00000000 | data3
[ 6.901705] iwlwifi 0000:01:00.0: 0x00000000 | beacon time
[ 6.901706] iwlwifi 0000:01:00.0: 0x0000CCF8 | tsf low
[ 6.901707] iwlwifi 0000:01:00.0: 0x00000000 | tsf hi
[ 6.901707] iwlwifi 0000:01:00.0: 0x00000000 | time gp1
[ 6.901708] iwlwifi 0000:01:00.0: 0x00012423 | time gp2
[ 6.901709] iwlwifi 0000:01:00.0: 0x00000001 | uCode revision type
[ 6.901710] iwlwifi 0000:01:00.0: 0x0000003B | uCode version major
[ 6.901711] iwlwifi 0000:01:00.0: 0x601F3A66 | uCode version minor
[ 6.901712] iwlwifi 0000:01:00.0: 0x00000340 | hw version
[ 6.901712] iwlwifi 0000:01:00.0: 0x00C89000 | board version
[ 6.901713] iwlwifi 0000:01:00.0: 0x8001FF03 | hcmd
[ 6.901714] iwlwifi 0000:01:00.0: 0x00020000 | isr0
[ 6.901715] iwlwifi 0000:01:00.0: 0x00000000 | isr1
[ 6.901716] iwlwifi 0000:01:00.0: 0x08F00002 | isr2
[ 6.901716] iwlwifi 0000:01:00.0: 0x00C0001C | isr3
[ 6.901717] iwlwifi 0000:01:00.0: 0x00000000 | isr4
[ 6.901718] iwlwifi 0000:01:00.0: 0x00000000 | last cmd Id
[ 6.901719] iwlwifi 0000:01:00.0: 0x004F3D2A | wait_event
[ 6.901719] iwlwifi 0000:01:00.0: 0x00000000 | l2p_control
[ 6.901720] iwlwifi 0000:01:00.0: 0x00000020 | l2p_duration
[ 6.901721] iwlwifi 0000:01:00.0: 0x00000000 | l2p_mhvalid
[ 6.901722] iwlwifi 0000:01:00.0: 0x00000000 | l2p_addr_match
[ 6.901722] iwlwifi 0000:01:00.0: 0x00000009 | lmpm_pmg_sel
[ 6.901723] iwlwifi 0000:01:00.0: 0x00000000 | timestamp
[ 6.901724] iwlwifi 0000:01:00.0: 0x0000F81C | flow_handler
[ 6.901748] iwlwifi 0000:01:00.0: Start IWL Error Log Dump:
[ 6.901749] iwlwifi 0000:01:00.0: Status: 0x00000000, count: 7
[ 6.901750] iwlwifi 0000:01:00.0: 0x20100222 | ADVANCED_SYSASSERT
[ 6.901751] iwlwifi 0000:01:00.0: 0x00000000 | umac branchlink1
[ 6.901751] iwlwifi 0000:01:00.0: 0x804568FC | umac branchlink2
[ 6.901752] iwlwifi 0000:01:00.0: 0xC0085328 | umac interruptlink1
[ 6.901753] iwlwifi 0000:01:00.0: 0x00000000 | umac interruptlink2
[ 6.901754] iwlwifi 0000:01:00.0: 0xDEADBEEF | umac data1
[ 6.901755] iwlwifi 0000:01:00.0: 0xDEADBEEF | umac data2
[ 6.901755] iwlwifi 0000:01:00.0: 0xDEADBEEF | umac data3
[ 6.901756] iwlwifi 0000:01:00.0: 0x0000003B | umac major
[ 6.901757] iwlwifi 0000:01:00.0: 0x601F3A66 | umac minor
[ 6.901757] iwlwifi 0000:01:00.0: 0x0001241D | frame pointer
[ 6.901758] iwlwifi 0000:01:00.0: 0xC0886AD4 | stack pointer
[ 6.901759] iwlwifi 0000:01:00.0: 0x00000000 | last host cmd
[ 6.901760] iwlwifi 0000:01:00.0: 0x00000000 | isr status reg
[ 6.901765] iwlwifi 0000:01:00.0: Fseq Registers:
[ 6.901767] iwlwifi 0000:01:00.0: 0x60000000 | FSEQ_ERROR_CODE
[ 6.901770] iwlwifi 0000:01:00.0: 0x80290021 | FSEQ_TOP_INIT_VERSION
[ 6.901772] iwlwifi 0000:01:00.0: 0x00050008 | FSEQ_CNVIO_INIT_VERSION
[ 6.901775] iwlwifi 0000:01:00.0: 0x0000A503 | FSEQ_OTP_VERSION
[ 6.901778] iwlwifi 0000:01:00.0: 0x80000003 | FSEQ_TOP_CONTENT_VERSION
[ 6.901780] iwlwifi 0000:01:00.0: 0x4552414E | FSEQ_ALIVE_TOKEN
[ 6.901783] iwlwifi 0000:01:00.0: 0x00100530 | FSEQ_CNVI_ID
[ 6.901786] iwlwifi 0000:01:00.0: 0x00000532 | FSEQ_CNVR_ID
[ 6.901788] iwlwifi 0000:01:00.0: 0x00100530 | CNVI_AUX_MISC_CHIP
[ 6.901793] iwlwifi 0000:01:00.0: 0x00000532 | CNVR_AUX_MISC_CHIP
[ 6.901798] iwlwifi 0000:01:00.0: 0x05B0905B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[ 6.901802] iwlwifi 0000:01:00.0: 0x0000025B | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[ 6.901805] iwlwifi 0000:01:00.0: Failed to start RT ucode: -110
[ 6.973724] r8169 0000:03:00.0 enp3s0: Link is Down
[ 7.267768] iwlwifi 0000:01:00.0: Failed to run INIT ucode: -110
[ 7.341627] loop13: detected capacity change from 0 to 8
[ 8.282620] rfkill: input handler disabled
It seems that the firmware is not able to be initialized, with error code -110
. I haven't managed to find out exactly what this means.
I tried using the firmware supplied on the previously linked Intel site by copying it into my /lib/firmware
directory and removing the old one. dmesg
did report the changed version number, but the error was exactly the same. This doesn't seem super surprising, Intel offers v46 of the firmware, but Ubuntu came installed with v59.
I found this support thread which seems to describe my exact problem. The thread concludes with the representative stating that the adapter just isn't compatible with the motherboard. That seems hard to believe. The user there claimed that the adapter worked fine in Windows, so there shouldn't be an hardware compatibility issues. I haven't personally tried the adapter in Windows, but I have a hard time believing the motherboard doesn't support it. This is a popular adapter with a chipset that has been supported for a long time.
I am beginning to suspect that I may have just received a faulty adapter. Before I try to return it and get another, is there anything else I can do to debug that -110
error code? Is there anything else I should look up or install?