craigcabrey wrote:seems like this issue is still not fixed in mainline, just installed linux-mainline 5.5rc4-1 for testing my other issue and wifi was broken with firmware loading errors.
The patch "iwlwifi: pcie: restore support for Killer Qu C0 NICs" hasn't landed in the kernel yet as far as I can see. It is submitted to the mailing list, though.
https://lore.kernel.org/linux-wireless/ … gmail.com/
Makes sense, hopefully it's accepted soon. Just patched it locally for now.
]]>seems like this issue is still not fixed in mainline, just installed linux-mainline 5.5rc4-1 for testing my other issue and wifi was broken with firmware loading errors.
The patch "iwlwifi: pcie: restore support for Killer Qu C0 NICs" hasn't landed in the kernel yet as far as I can see. It is submitted to the mailing list, though.
https://lore.kernel.org/linux-wireless/ … gmail.com/
Edit: I've also tried all the USB ports. The USB stick blinks for about a second after hitting return and then nothing.
]]>https://git.archlinux.org/linux.git/com … 80dbd153cd
https://git.archlinux.org/linux.git/com … 7f191253cd
https://git.archlinux.org/linux.git/com … e86205cbea
Can you reproduce the issue using linux 5.4.6.arch3-1 and linux-firmware 20191220.6871bff-1 currently in testing?
Nope. I cannot:
$ uname -a
Linux arawn.nwk.io 5.4.6-arch3-1 #1 SMP PREEMPT Tue, 24 Dec 2019 04:36:53 +0000 x86_64 GNU/Linux
$ dmesg | grep iwlwifi
[ 8.276121] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 8.285073] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 58.3.35.22
[ 8.285076] iwlwifi 0000:00:14.3: Found debug destination: EXTERNAL_DRAM
[ 8.285077] iwlwifi 0000:00:14.3: Found debug configuration: 0
[ 8.285269] iwlwifi 0000:00:14.3: loaded firmware version 50.3e391d3e.0 op_mode iwlmvm
[ 8.397781] iwlwifi 0000:00:14.3: Detected Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW), REV=0x338
[ 8.404508] iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
[ 8.404885] iwlwifi 0000:00:14.3: Allocated 0x00400000 bytes for firmware monitor.
[ 8.550733] iwlwifi 0000:00:14.3: base HW address: 24:ee:9a:xx:xx:xx
[ 8.973672] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
What has been changed? It looks like there's a new b0-50 firmware blob there?
]]>Edit: Not that I ever really trusted Intel, but still.
]]>I have this same laptop and I'd be happy to help if I can with reproducibility but I'd first like to know if the drivers are FOSS before I accept the EULA on it. I see it's an Intel based chip (FOSS) but I was wondering if Killer added binary patches or something. If they did, I'm declining the EULA and returning it because they soldered the card in.
All modern Intel wifi cards have firmware blobs. The Killer firmware is provided to the linux kernel by Intel as well.
This is the license:
/usr/share/licenses/linux-firmware/LICENCE.iwlwifi_firmware
https://git.kernel.org/pub/scm/linux/ke … i_firmware
I have this same laptop and I'd be happy to help if I can with reproducibility but I'd first like to know if the drivers are FOSS before I accept the EULA on it. I see it's an Intel-based chip (FOSS) but I was wondering if Killer added binary patches or something. If they did, I'm declining the EULA and returning it because they soldered the card in.
I'm no legal expert, but I'm trying to work only via the mainline kernel. I don't think there is any need, nor should be any need, to try and download the drivers directly from Intel for this.
The drivers themselves look to be part GPL2, part BSD, and all copyright Intel (https://git.kernel.org/pub/scm/linux/ke … pcie/drv.c) and while the firmware itself is not FOSS for its source code, the binary object itself is freely distributable under their own licence (https://github.com/cernekee/linux-firmw … i_firmware).
As for the specific differences between Intel and Killer, I'm not sure. It nonetheless runs under the iwlwifi driver itself and Intel's code does have specific code to run them directly, so this should all just be managed directly with the Intel team I think.
To replicate the issue: If you're on any linux 5.4.X or 5.5rcX release and you get an error much like in the OP (ending with iwlwifi 0000:00:xx.x: Failed to run INIT ucode: -110) then you're suffering from the same issue. I think right now I need to build some test kernels with different code changes to work out if there needs to be some override from the b0 type to the c0 type firmware blob, or if one of the structs needs to be removed, or changed.
]]>I think the issue may be https://github.com/torvalds/linux/commi … bbc841d1e4 after this commit killer1650s_2ax_cfg_qu_b0_hr_b0 is never used.
Edit:
If you apply the following patch and reverse the change you made to the firmware files is the issue still present?diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c index 040cec17d3ad..4663e4133878 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -1123,6 +1123,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) iwl_trans->cfg = &iwl9560_2ac_cfg_quz_a0_jf_b0_soc; else if (iwl_trans->cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0) iwl_trans->cfg = &iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc; + else if (iwl_trans->cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) + iwl_trans->cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0; + else if (iwl_trans->cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) + iwl_trans->cfg = &killer1650i_2ax_cfg_qu_c0_hr_b0; } #endif
I haven't tried this yet, but looks interesting, given the following.
Even more interesting! Although I've checked my latest release of linux-git and the kernel output and it looks like this patch doesn't fix it:
$ uname -a
Linux arawn.nwk.io 5.5.0-rc2-1-git-00385-gb8e382a185eb #1 SMP PREEMPT Sun, 22 Dec 2019 10:46:16 +0000 x86_64 GNU/Linux
$ dmesg | grep iwlwifi
[ 8.064220] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 8.065998] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-Qu-b0-hr-b0-52.ucode failed with error -2
[ 8.066014] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-Qu-b0-hr-b0-51.ucode failed with error -2
[ 8.069975] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 58.3.35.22
[ 8.069978] iwlwifi 0000:00:14.3: Found debug destination: EXTERNAL_DRAM
[ 8.069979] iwlwifi 0000:00:14.3: Found debug configuration: 0
[ 8.070192] iwlwifi 0000:00:14.3: loaded firmware version 50.527e773b.0 op_mode iwlmvm
[ 8.187861] iwlwifi 0000:00:14.3: Detected Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW), REV=0x338
[ 8.194698] iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
[ 8.194891] iwlwifi 0000:00:14.3: Allocated 0x00200000 bytes for firmware monitor.
[ 8.341973] iwlwifi 0000:00:14.3: base HW address: 24:ee:9a:xx:xx:xx
[ 8.720609] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
Built on Sunday night from the latest commits, it's still loading the b0 firmware type. None of the conditions reference iwl_ax1650i_cfg_quz_hr nor killer1650s_2ax_cfg_qu_c0_hr_b0 so it looks like some sort of additional override is needed, or one of the structs needs to be removed (I think iwl_ax1650i_cfg_quz_hr). I'll have a play over the next few days as it's Christmas and see what I can learn and then raise a bug via bugzilla for the Intel WiFi team.
]]>