Bug 201975 - iwlwifi: 8260: BAD_COMMAND upon GEO_TX_POWER_LIMIT
Summary: iwlwifi: 8260: BAD_COMMAND upon GEO_TX_POWER_LIMIT
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: network-wireless (show other bugs)
Hardware: All Linux
: P1 high
Assignee: DO NOT USE - assign "network-wireless-intel" component instead
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-12 12:33 UTC by Ta-Lun Yen
Modified: 2018-12-14 20:37 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.19.6
Subsystem:
Regression: No
Bisected commit-id:


Attachments
partial dmesg (189.70 KB, text/plain)
2018-12-12 12:33 UTC, Ta-Lun Yen
Details
lspci -nnk (4.96 KB, text/plain)
2018-12-12 12:34 UTC, Ta-Lun Yen
Details
fix (1.45 KB, patch)
2018-12-13 13:57 UTC, Emmanuel Grumbach
Details | Diff

Description Ta-Lun Yen 2018-12-12 12:33:43 UTC
Created attachment 279967 [details]
partial dmesg

Tried this with 8000C-36 and 8000C-34. Card is 8260 rev 2a (8086:24f3)

I'm looking at a continuously crash under kernel >= 4.19.6 while having iwlwifi enabled. Downgrading to 4.19.2 will stop this and works smoothly.

Restarts are constant, network does not connect and neither bluetooth

As attached is partial dmesg and output from `lcpci -nnk`.
Comment 1 Ta-Lun Yen 2018-12-12 12:34:07 UTC
Created attachment 279969 [details]
lspci -nnk
Comment 2 Emmanuel Grumbach 2018-12-12 12:53:40 UTC
can you please try to revert c74c926 ?

Thanks.
Comment 3 Luca Coelho 2018-12-12 13:39:44 UTC
Alternatively, could you try to capture trace-cmd logs while reloading the driver with fw_restart=0?

To run trace-cmd:

https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/debugging#tracing

...and reload the module with:

sudo modprobe -r iwlmvm
sudo modprobe iwlwifi fw_restart=0

This will allow us to see what the SAR ACPI tables look like in your machine.
Comment 4 Luca Coelho 2018-12-12 13:47:56 UTC
Sorry, that wasn't clear enough.  If you run trace-cmd and then reload the modules, it won't work.

Maybe the easiest is to just run trace-cmd for some seconds while the continuous FW restarts are happening.
Comment 5 Luca Coelho 2018-12-13 09:30:04 UTC
We found the issue and will provide a fix ASAP.
Comment 6 Ta-Lun Yen 2018-12-13 10:01:33 UTC
Was about to fire up the kernel version in question — That means I won’t have to provide a trace and can wait for patch, right?
Comment 7 Luca Coelho 2018-12-13 10:11:27 UTC
Right, you don't need to provide this information anymore.  We used to have a bug that was causing this command not to be sent at all.  This commit fixed that:

commit 29d920ba59c30caf9cd8e829f47124de3d200618
Author:     Matt Chen <matt.chen@intel.com>
AuthorDate: Fri Aug 3 14:29:20 2018 +0800
Commit:     Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CommitDate: Sat Dec 1 09:37:26 2018 +0100

    iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE

But we now realized that there are some firmware/NIC versions that don't support it, which is the case of your system.

So we need to figure out how to reliably detect if the FW supports it or not, because we didn't implement the marker (Capabilities TLV) which we usually us for this kind of stuff...

If you can upgrade your firmware to the latest version[1] it may start working for you, though I haven't checked if that version really supports this command...

[1] https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git/tree/iwlwifi-8000C-36.ucode
Comment 8 Emmanuel Grumbach 2018-12-13 13:57:55 UTC
Created attachment 279993 [details]
fix

please check the patch.
Comment 9 Ta-Lun Yen 2018-12-14 09:54:40 UTC
After applying this patch, recompiling iwlmvm.ko and placing it under /lib/modules/`uname -a`/extra then reboot to use it, `iwlwifi` no longer crashes.
Comment 10 Luca Coelho 2018-12-14 20:37:02 UTC
The patch that fixes this has been sent upstream for 4.20 and it should reach it soon.  Then it will be backported to 4.19.

Note You need to log in before you can comment on or make changes to this bug.