Bug 1313034

Summary: Wifi doesn't work for Intel Corporation Wireless 8260 (rev 3a)
Product: [Fedora] Fedora Reporter: ell1e <el>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: drindt, gansalmon, itamar, jonathan, kernel-maint, labbott, linville, madhu.chinakonda, mchehab, sgruszka, zach
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-14 15:25:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description ell1e 2016-02-29 19:08:26 UTC
Description of problem:
The wifi for Intel Corporation Wireless 8260 (rev 3a) doesn't appear to be working. I can load iwlwifi/iwldvm but both "ifconfig" and "rfkill list" won't show the device. lspci shows the entry for the device though, so it appears to be connected properly.

Version-Release number of selected component (if applicable):
4.4.2-301.fc23.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Use laptop with Intel Corporation Wireless 8260 (rev 3a) 
2. Install Fedora 23
3. Start a Gnome 3 session

Actual results:
No wifi

Expected results:
Wifi, or at least a listing in "rfkill list" showing that it is disabled

Additional info:

Comment 1 ell1e 2016-02-29 21:37:57 UTC
I just noticed there's the following section in my dmesg:

jonas@localhost:~$ dmesg | grep iwlwifi
[   15.264181] iwlwifi 0000:04:00.0: enabling device (0000 -> 0002)
[   15.297055] iwlwifi 0000:04:00.0: pci_enable_msi failed(0Xffffffda)
[   15.311575] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-19.ucode failed with error -2
[   15.311796] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-18.ucode failed with error -2
[   15.311808] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-17.ucode failed with error -2
[   15.312543] iwlwifi 0000:04:00.0: Unsupported splx structure
[   15.319897] iwlwifi 0000:04:00.0: loaded firmware version 16.242414.0 op_mode iwlmvm
[   15.535082] iwlwifi 0000:04:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
[   15.537607] iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
[   15.539424] iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
[   15.547069] iwlwifi 0000:04:00.0: can't access the RSA semaphore it is write protected
[   28.450915] iwlwifi 0000:04:00.0: Failed to load firmware chunk!
[   28.450925] iwlwifi 0000:04:00.0: Could not load the [0] uCode section
[   28.450932] iwlwifi 0000:04:00.0: Failed to start INIT ucode: -110
[   28.451457] iwlwifi 0000:04:00.0: Failed to run INIT ucode: -110
[   28.451531] iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
jonas@localhost:~$

Comment 2 Laura Abbott 2016-03-01 02:09:45 UTC
Can you try this scratch build when it finishes? It look like there is a patch upstream already fixing the problem http://koji.fedoraproject.org/koji/taskinfo?taskID=13183287

Comment 3 ell1e 2016-03-02 12:00:58 UTC
Hi, I tried the kernel build you linked. Sadly it doesn't even boot and it instantly gives me this output:

double free at 0x6ceb73e0
Aborted. Press any key to exit.

Comment 4 Josh Boyer 2016-03-02 13:18:00 UTC
(In reply to Jonas Thiem from comment #3)
> Hi, I tried the kernel build you linked. Sadly it doesn't even boot and it
> instantly gives me this output:
> 
> double free at 0x6ceb73e0
> Aborted. Press any key to exit.

That is actually grub erroring out.  Scratch builds are not signed, but you have secure boot enabled on your  machine most likely.  Boot into the older kernel and use mokutil to disable enforcing mode, or disable Secure Boot in your firmware to test this.

Comment 5 ell1e 2016-03-02 14:39:31 UTC
Ok, I managed to test the kernel now. Wifi still doesn't work on boot. When unloading iwlmvm, iwlwifi and reloading with modprobe, this happens (dmesg):

[  111.425472] virbr0: port 1(virbr0-nic) entered listening state
[  111.425480] virbr0: port 1(virbr0-nic) entered listening state
[  111.527316] virbr0: port 1(virbr0-nic) entered disabled state
[  130.504136] fuse init (API version 7.23)
[  131.625166] Bluetooth: RFCOMM TTY layer initialized
[  131.625171] Bluetooth: RFCOMM socket layer initialized
[  131.625211] Bluetooth: RFCOMM ver 1.11
[  153.359108] Intel(R) Wireless WiFi driver for Linux
[  153.359110] Copyright(c) 2003- 2015 Intel Corporation
[  153.361012] iwlwifi 0000:04:00.0: pci_enable_msi failed(0Xffffffda)
[  153.362942] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-19.ucode failed with error -2
[  153.362951] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-18.ucode failed with error -2
[  153.362957] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-17.ucode failed with error -2
[  153.364436] iwlwifi 0000:04:00.0: Unsupported splx structure
[  153.364570] iwlwifi 0000:04:00.0: loaded firmware version 16.242414.0 op_mode iwlmvm
[  153.404274] iwlmvm: unknown parameter 'iwlwifi' ignored
[  153.406053] iwlwifi 0000:04:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
[  153.406699] iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
[  153.408178] iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
[  153.409996] iwlwifi 0000:04:00.0: can't access the RSA semaphore it is write protected
[  162.933436] irq 11: nobody cared (try booting with the "irqpoll" option)
[  162.933439] CPU: 0 PID: 2807 Comm: modprobe Not tainted 4.4.3-300.rhbz1313034.fc23.x86_64 #1
[  162.933440] Hardware name: LENOVO 20FDCTO1WW/20FDCTO1WW, BIOS N1GET35W (1.12 ) 11/16/2015
[  162.933442]  0000000000000086 00000000c06e0963 ffff880142403ce0 ffffffff813b4b6e
[  162.933444]  ffff88013d883e00 ffff88013d883e9c ffff880142403d08 ffffffff810ff153
[  162.933446]  ffff88013d883e00 0000000000000000 000000000000000b ffff880142403d40
[  162.933447] Call Trace:
[  162.933448]  <IRQ>  [<ffffffff813b4b6e>] dump_stack+0x63/0x85
[  162.933456]  [<ffffffff810ff153>] __report_bad_irq+0x33/0xc0
[  162.933458]  [<ffffffff810ff4de>] note_interrupt+0x23e/0x280
[  162.933460]  [<ffffffff810fc78a>] handle_irq_event_percpu+0x15a/0x1c0
[  162.933461]  [<ffffffff810fc81c>] handle_irq_event+0x2c/0x50
[  162.933463]  [<ffffffff810ffbfd>] handle_level_irq+0x7d/0x100
[  162.933465]  [<ffffffff81019dc3>] handle_irq+0x73/0x120
[  162.933467]  [<ffffffff817a1bab>] do_IRQ+0x4b/0xd0
[  162.933469]  [<ffffffff8179fc07>] common_interrupt+0x87/0x87
[  162.933472]  [<ffffffff810a8a76>] ? __do_softirq+0x86/0x2d0
[  162.933474]  [<ffffffff810a8ec5>] irq_exit+0x105/0x110
[  162.933475]  [<ffffffff817a1bb4>] do_IRQ+0x54/0xd0
[  162.933477]  [<ffffffff8179fc07>] common_interrupt+0x87/0x87
[  162.933477]  <EOI>  [<ffffffff813e1e1d>] ? mpihelp_addmul_1+0x9d/0xc0
[  162.933481]  [<ffffffff813e38f4>] mpih_sqr_n_basecase+0x64/0x100
[  162.933483]  [<ffffffff813e3ac3>] mpih_sqr_n+0x133/0x320
[  162.933484]  [<ffffffff813e3c49>] mpih_sqr_n+0x2b9/0x320
[  162.933485]  [<ffffffff813e3a80>] mpih_sqr_n+0xf0/0x320
[  162.933486]  [<ffffffff813e4715>] mpi_powm+0x4b5/0xa10
[  162.933489]  [<ffffffff8120cf46>] ? kmem_cache_alloc_trace+0x196/0x210
[  162.933491]  [<ffffffff81379643>] RSA_verify_signature+0xf3/0x2b0
[  162.933493]  [<ffffffff813794be>] public_key_verify_signature+0x7e/0xb0
[  162.933495]  [<ffffffff81379505>] public_key_verify_signature_2+0x15/0x20
[  162.933496]  [<ffffffff813793ec>] verify_signature+0x3c/0x50
[  162.933498]  [<ffffffff8137b915>] pkcs7_validate_trust+0x225/0x290
[  162.933501]  [<ffffffff811abcf4>] system_verify_data+0x94/0x110
[  162.933503]  [<ffffffff8112b605>] mod_verify_sig+0x75/0xc0
[  162.933504]  [<ffffffff811287fc>] load_module+0x16c/0x2650
[  162.933506]  [<ffffffff811ee43c>] ? alloc_vmap_area+0x2fc/0x360
[  162.933508]  [<ffffffff811ef1a6>] ? vmap_page_range_noflush+0x246/0x350
[  162.933509]  [<ffffffff811ef2e6>] ? map_vm_area+0x36/0x50
[  162.933511]  [<ffffffff811f0266>] ? __vmalloc_node_range+0x196/0x2c0
[  162.933512]  [<ffffffff8112adaf>] ? SyS_init_module+0xcf/0x190
[  162.933514]  [<ffffffff8112ae2e>] SyS_init_module+0x14e/0x190
[  162.933515]  [<ffffffff8179f16e>] entry_SYSCALL_64_fastpath+0x12/0x71
[  162.933516] handlers:
[  162.933519] [<ffffffff8155eba0>] ahci_single_level_irq_intr
[  162.933522] [<ffffffff815816c0>] usb_hcd_irq
[  162.933527] [<ffffffffa0029720>] rtsx_pci_isr [rtsx_pci]
[  162.933555] [<ffffffffa0150dc0>] gen8_irq_handler [i915]
[  162.933558] [<ffffffffa041afc0>] mei_me_irq_quick_handler [mei_me] threaded [<ffffffffa041b100>] mei_me_irq_thread_handler [mei_me]
[  162.933561] [<ffffffffa03ea9e0>] i801_isr [i2c_i801]
[  162.933569] [<ffffffffa0611e80>] azx_interrupt [snd_hda_codec]
[  162.933577] [<ffffffffa00db890>] e1000_intr [e1000e]
[  162.933578] Disabling IRQ #11
[  162.948627] iwlwifi 0000:04:00.0: Failed to load firmware chunk!
[  162.948631] iwlwifi 0000:04:00.0: Could not load the [0] uCode section
[  162.948638] iwlwifi 0000:04:00.0: Failed to start INIT ucode: -110
[  162.949152] iwlwifi 0000:04:00.0: Failed to run INIT ucode: -110
[  162.949173] iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
[root@localhost jonas]#

Comment 6 ell1e 2016-07-14 15:25:51 UTC
Sorry, I forgot to close this:

This was caused by me using the nolapic option to work around the pre-4.6 skylake intel pstate kernel bug. With that option gone, the driver works fine.

The upstream ticket now tracks something else that was uncovered but which seems to be related more to some internal handling improvements in the driver code and which is no longer directly related to this original issue (as far as I can tell).