# iwlwifi Fails On Kernel 5.5.0 [solved]

## duane

I just updated to 5.5 and discovered that the iwlwifi module crashes every time it's loaded on my Motile m142. It works fine under 5.4.15.

```
03:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)
```

```
Jan 28 16:48:34 duane-laptop kernel: [  130.555871] Intel(R) Wireless WiFi driver for Linux

Jan 28 16:48:34 duane-laptop kernel: [  130.555872] Copyright(c) 2003- 2015 Intel Corporation

Jan 28 16:48:34 duane-laptop kernel: [  130.557105] iwlwifi 0000:03:00.0: loaded firmware version 29.1654887522.0 op_mode iwlmvm

Jan 28 16:48:34 duane-laptop kernel: [  130.562665] iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 3168, REV=0x220

Jan 28 16:48:34 duane-laptop kernel: [  130.582054] iwlwifi 0000:03:00.0: Can't parse phy_sku in B0, empty sections

Jan 28 16:48:34 duane-laptop kernel: [  130.582069] iwlwifi 0000:03:00.0: Failed to read NVM: -61

Jan 28 16:48:34 duane-laptop kernel: [  130.582073] iwlwifi 0000:03:00.0: Collecting data: trigger 16 fired.

Jan 28 16:48:34 duane-laptop kernel: [  130.582404] iwlwifi 0000:03:00.0: Start IWL Error Log Dump:

Jan 28 16:48:34 duane-laptop kernel: [  130.582407] iwlwifi 0000:03:00.0: Status: 0x00000040, count: 6

Jan 28 16:48:34 duane-laptop kernel: [  130.582409] iwlwifi 0000:03:00.0: Loaded firmware version: 29.1654887522.0

Jan 28 16:48:34 duane-laptop kernel: [  130.582412] iwlwifi 0000:03:00.0: 0x00000084 | NMI_INTERRUPT_UNKNOWN       

Jan 28 16:48:34 duane-laptop kernel: [  130.582420] iwlwifi 0000:03:00.0: 0x000002F0 | trm_hw_status0

Jan 28 16:48:34 duane-laptop kernel: [  130.582425] iwlwifi 0000:03:00.0: 0x00000000 | trm_hw_status1

Jan 28 16:48:34 duane-laptop kernel: [  130.582428] iwlwifi 0000:03:00.0: 0x0004171E | branchlink2

Jan 28 16:48:34 duane-laptop kernel: [  130.582433] iwlwifi 0000:03:00.0: 0x000446B2 | interruptlink1

Jan 28 16:48:34 duane-laptop kernel: [  130.582436] iwlwifi 0000:03:00.0: 0x000446B2 | interruptlink2

Jan 28 16:48:34 duane-laptop kernel: [  130.582438] iwlwifi 0000:03:00.0: 0x00000000 | data1

Jan 28 16:48:34 duane-laptop kernel: [  130.582440] iwlwifi 0000:03:00.0: 0x00000080 | data2

Jan 28 16:48:34 duane-laptop kernel: [  130.582442] iwlwifi 0000:03:00.0: 0x07030000 | data3

Jan 28 16:48:34 duane-laptop kernel: [  130.582443] iwlwifi 0000:03:00.0: 0x00000000 | beacon time

Jan 28 16:48:34 duane-laptop kernel: [  130.582445] iwlwifi 0000:03:00.0: 0x000019E1 | tsf low

Jan 28 16:48:34 duane-laptop kernel: [  130.582447] iwlwifi 0000:03:00.0: 0x00000000 | tsf hi

Jan 28 16:48:34 duane-laptop kernel: [  130.582449] iwlwifi 0000:03:00.0: 0x00000000 | time gp1

Jan 28 16:48:34 duane-laptop kernel: [  130.582450] iwlwifi 0000:03:00.0: 0x000019E1 | time gp2

Jan 28 16:48:34 duane-laptop kernel: [  130.582452] iwlwifi 0000:03:00.0: 0x00000009 | uCode revision type

Jan 28 16:48:34 duane-laptop kernel: [  130.582454] iwlwifi 0000:03:00.0: 0x0000001D | uCode version major

Jan 28 16:48:34 duane-laptop kernel: [  130.582456] iwlwifi 0000:03:00.0: 0x62A39462 | uCode version minor

Jan 28 16:48:34 duane-laptop kernel: [  130.582457] iwlwifi 0000:03:00.0: 0x00000220 | hw version

Jan 28 16:48:34 duane-laptop kernel: [  130.582459] iwlwifi 0000:03:00.0: 0x00C89200 | board version

Jan 28 16:48:34 duane-laptop kernel: [  130.582461] iwlwifi 0000:03:00.0: 0x00110188 | hcmd

Jan 28 16:48:34 duane-laptop kernel: [  130.582463] iwlwifi 0000:03:00.0: 0x00022000 | isr0

Jan 28 16:48:34 duane-laptop kernel: [  130.582464] iwlwifi 0000:03:00.0: 0x00000000 | isr1

Jan 28 16:48:34 duane-laptop kernel: [  130.582466] iwlwifi 0000:03:00.0: 0x00000002 | isr2

Jan 28 16:48:34 duane-laptop kernel: [  130.582468] iwlwifi 0000:03:00.0: 0x004000C0 | isr3

Jan 28 16:48:34 duane-laptop kernel: [  130.582469] iwlwifi 0000:03:00.0: 0x00000000 | isr4

Jan 28 16:48:34 duane-laptop kernel: [  130.582471] iwlwifi 0000:03:00.0: 0x00110188 | last cmd Id

Jan 28 16:48:34 duane-laptop kernel: [  130.582473] iwlwifi 0000:03:00.0: 0x00000000 | wait_event

Jan 28 16:48:34 duane-laptop kernel: [  130.582474] iwlwifi 0000:03:00.0: 0x000000D4 | l2p_control

Jan 28 16:48:34 duane-laptop kernel: [  130.582476] iwlwifi 0000:03:00.0: 0x00000000 | l2p_duration

Jan 28 16:48:34 duane-laptop kernel: [  130.582478] iwlwifi 0000:03:00.0: 0x00000000 | l2p_mhvalid

Jan 28 16:48:34 duane-laptop kernel: [  130.582480] iwlwifi 0000:03:00.0: 0x00000000 | l2p_addr_match

Jan 28 16:48:34 duane-laptop kernel: [  130.582481] iwlwifi 0000:03:00.0: 0x00000007 | lmpm_pmg_sel

Jan 28 16:48:34 duane-laptop kernel: [  130.582483] iwlwifi 0000:03:00.0: 0x16070617 | timestamp

Jan 28 16:48:34 duane-laptop kernel: [  130.582485] iwlwifi 0000:03:00.0: 0x00341018 | flow_handler

Jan 28 16:48:34 duane-laptop kernel: [  130.582523] iwlwifi 0000:03:00.0: Fseq Registers:

Jan 28 16:48:34 duane-laptop kernel: [  130.582570] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_ERROR_CODE

Jan 28 16:48:34 duane-laptop kernel: [  130.582615] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_TOP_INIT_VERSION

Jan 28 16:48:34 duane-laptop kernel: [  130.582661] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_CNVIO_INIT_VERSION

Jan 28 16:48:34 duane-laptop kernel: [  130.582706] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_OTP_VERSION

Jan 28 16:48:34 duane-laptop kernel: [  130.582752] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_TOP_CONTENT_VERSION

Jan 28 16:48:34 duane-laptop kernel: [  130.582797] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_ALIVE_TOKEN

Jan 28 16:48:34 duane-laptop kernel: [  130.582843] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_CNVI_ID

Jan 28 16:48:34 duane-laptop kernel: [  130.582889] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_CNVR_ID

Jan 28 16:48:34 duane-laptop kernel: [  130.582935] iwlwifi 0000:03:00.0: 0x00000000 | CNVI_AUX_MISC_CHIP

Jan 28 16:48:34 duane-laptop kernel: [  130.582982] iwlwifi 0000:03:00.0: 0x00000000 | CNVR_AUX_MISC_CHIP

Jan 28 16:48:34 duane-laptop kernel: [  130.583030] iwlwifi 0000:03:00.0: 0x00000000 | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM

Jan 28 16:48:34 duane-laptop kernel: [  130.583075] iwlwifi 0000:03:00.0: 0x00000000 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR

Jan 28 16:48:34 duane-laptop kernel: [  130.583120] iwlwifi 0000:03:00.0: Firmware not running - cannot dump error

Jan 28 16:48:34 duane-laptop kernel: [  130.595311] iwlwifi 0000:03:00.0: Failed to run INIT ucode: -61
```

I'm not really sure where to go with this. Report a kernel bug? (I've never attempted it before.) I haven't seen any other iwlwifi issues on a cursory search.Last edited by duane on Wed Apr 01, 2020 4:21 am; edited 1 time in total

----------

## duane

Found the bug report, and patch. I'm trying it out.

https://bugzilla.kernel.org/show_bug.cgi?id=206329

Edit: Yow! Don't use that patch!

It not only didn't start my wifi, it prevented the laptop from booting after the first use of the new kernel. I think it killed the efi boot record somehow. I got out my rescue drive, chroot'ed in, reinstalled grub, and everything's working under the older kernel again. /sigh

Edit 2: The patch was not responsible for the boot issues. That seems to happen irregularly when I reboot the machine several times in a row. It hasn't happened yet when I shutdown and then restart. Maybe that's supposed to be a feature?

----------

## hagar-dunor

It won't make you feel better, but same here, wifi is jinxed on my Asrock X299 Taichi XE, I reverted to 5.4.

Not only that, but my whole VFIO setup for GPU passthrough is gone: IOMMU groups not recognized anymore, dmesg complains about a firmware bug and I should contact (Asrock?) for an update. Well, was working fine since 4.18 or so... What a train wreck.

----------

## 389292

hmm... what's wrong with 5.5.. why is it so buggy...

----------

## duane

 *etnull wrote:*   

> hmm... what's wrong with 5.5.. why is it so buggy...

 

It looks like they made some major changes to the iwlwifi driver, to make it work more closely with acpi -- which never worked very well on my systems. It's definitely over my head.

Fortunately, the old driver still works in the new kernel. I may have to make another ebuild for it at this rate.

----------

## dmoulding

 *Quote:*   

> Jan 28 16:48:34 duane-laptop kernel: [  130.582054] iwlwifi 0000:03:00.0: Can't parse phy_sku in B0, empty sections

 

That specific error message with any 3168 series device should be fixed by this patch:

https://patchwork.kernel.org/patch/11353871/

I'm not sure how long it will take for this patch to work it's way into an official stable release. But until it does, apply that patch and you'll be good to go.

----------

## duane

 *dmoulding wrote:*   

> That specific error message with any 3168 series device should be fixed by this patch

 

Unfortunately, that patch didn't help me much. My Motile is failing at an earlier change (39c1a9728f93: refactor the SAR tables from mvm to acpi), which is a lot more complicated. I can't even get 5.5-rc2 to work.

For now, I can use the old driver, but I suspect I'll have to replace this wlan before it's all done. I'm trying to decide if I should go with another intel model (I keep reading about how compatible they are with linux, despite the current changes), or an atheros card. I've never had a serious problem with atheros.

----------

## dmoulding

 *Quote:*   

> Unfortunately, that patch didn't help me much. My Motile is failing at an earlier change (39c1a9728f93: refactor the SAR tables from mvm to acpi), which is a lot more complicated. I can't even get 5.5-rc2 to work.

 

I'm sorry to hear you are hitting another issue also. For people who are only seeing the problem with the phy_sku error, the patch will definitely fix that problem. For instance, anyone who had a working system on 5.5-rc7 that broke with the phy_sku error when updating to the 5.5.0 release, they'll benefit from the patch.

But I do wonder if the issue you are facing might be at least partly a firmware problem. I vaguely recall seeing BAD_COMMAND type errors when with iwlwifi in the past when the firmware version and kernel version weren't compatible. Might be worth checking if there is a linux-firmware update available for your system.

----------

## duane

 *dmoulding wrote:*   

> Might be worth checking if there is a linux-firmware update available for your system.

 

Intel says to look for newer firmware in the kernel tree. Unfortunately for me, the iwlwifi blobs are all in gentoo's linux-firmware already and installed on my system.

Edit: It seems like every time I touch an intel chip these days, some huge bug floats to the surface. : )

----------

## hagar-dunor

@dmoulding just to let you know, the patch solves the issue for me at least

----------

## bec

I opened a bug report

----------

## duane

I looks as though gentoo-sources 5.5.2-r1 has added the above patch, which should fix most people's problems with iwlwifi on the AC3168.

The motile's 3168 still doesn't work because of the BAD COMMAND error introduced earlier, so I'm still using the old driver.

----------

## duane

For those who still get a BAD_COMMAND error, there is a very simple work-around patch at the kernel.org bug report:

https://bugzilla.kernel.org/show_bug.cgi?id=206479

Or, just copy this to /etc/portage/patches/sys-kernel/gentoo-sources-5.5.2/fix-iwlwifi-on-motile.patch:

```
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c

index c09624d8d..8a7f12498 100644

--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c

+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c

@@ -753,6 +753,7 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)

        cmd.geo_cmd.ops = cpu_to_le32(IWL_PER_CHAIN_OFFSET_SET_TABLES);

 

        iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table);

+       return 0;

 

        cmd.geo_cmd.table_revision = cpu_to_le32(mvm->fwrt.geo_rev);

```

----------

## duane

gentoo-sources-5.6.0 appears to have fixed the BAD COMMAND problem. I no longer need any patches on the motile.

----------

