Bug 194853

Summary: iwlwifi: 7260: TFD queue hang on 40MHz - ext CCA
Product: Drivers Reporter: Alexander Miroshnichenko (alexminder)
Component: network-wirelessAssignee: DO NOT USE - assign "network-wireless-intel" component instead (linuxwifi)
Status: CLOSED WILL_NOT_FIX    
Severity: high CC: alexminder
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.8 Subsystem:
Regression: No Bisected commit-id:
Attachments: iwlwifi dmesg error log
iwlwifi dmesg error log with -17.ucode
Core14 with uSniffer
core dumps with debug enabled firmware
Noise on the extension channel

Description Alexander Miroshnichenko 2017-03-11 19:42:59 UTC
Intel Dual Band Wireless-AC 7260 adapter hungs with 40MHz width connection


01:00.0 Network controller: Intel Corporation Wireless 7260 (rev bb)
        Subsystem: Intel Corporation Dual Band Wireless-AC 7260
        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 39
        Region 0: Memory at fe900000 (64-bit, non-prefetchable) [size=8K]
        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: 00000000fee0f00c  Data: 4164
        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: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr+ NoSnoop+ FLReset-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
                LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <32us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range B, TimeoutDis+, LTR+, OBFF Via WAKE#
                DevCtl2: Completion Timeout: 16ms to 55ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 2.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: [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- NonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
        Capabilities: [140 v1] Device Serial Number 7c-5c-f8-ff-ff-5a-96-73
        Capabilities: [14c v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns
        Capabilities: [154 v1] Vendor Specific Information: ID=cafe Rev=1 Len=014 <?>
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi
Comment 1 Alexander Miroshnichenko 2017-03-11 19:43:34 UTC
Firmware version used iwl7260-ucode-0.16.242414
Comment 2 Alexander Miroshnichenko 2017-03-11 19:44:00 UTC
Created attachment 255189 [details]
iwlwifi dmesg error log
Comment 3 Emmanuel Grumbach 2017-03-11 21:06:49 UTC
Hi,

Please try -17.ucode.

This problem is typically coming from platform noise. Please check https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#about_platform_noise
Comment 4 Alexander Miroshnichenko 2017-03-12 06:37:32 UTC
Created attachment 255191 [details]
iwlwifi dmesg error log with -17.ucode

Same issue with -17.ucode

About platform noise: I tried to change location of my host (wifi adapter), I tried to change channel (to 11) with minimum APs around, I tried varios wifi antennas positions. Nothing helps. There are no USB3 devices used and no external graphic cards installed.
The issue appears only when I use 40MHz. With 20MHz no issue, but performance reduced.
Comment 5 Emmanuel Grumbach 2017-03-12 06:48:28 UTC
Created attachment 255193 [details]
Core14 with uSniffer

Please reproduce with this firmware which has debug enabled.
The steps to collect the data are explained here:
https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/debugging#firmware_debugging

Please take the time to read the privacy notice here:
https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/debugging#privacy_aspects

thank you.
Comment 6 Alexander Miroshnichenko 2017-03-12 07:40:00 UTC
Created attachment 255195 [details]
core dumps with debug enabled firmware
Comment 7 Emmanuel Grumbach 2017-03-12 07:54:19 UTC
Created attachment 255197 [details]
Noise on the extension channel

Hi,

I attached a picture our the data you provided after parsing.
The red line in the middle of the window is a huge amount of TxBegin events: we are trying to transmit.
The purple line is a huge amount of Rx detected events, meaning that we felt energy in the air and hence we can't transmit. Note that the energy we feel can very well not be really coming from the air (another device talking), but rather noise on the platform. Recently we had a problem with a specific platform on which the audio subsystem was making noise on the antenna that we not isolated enough and that ran right next to it.
This is not something we cannot analyze / fix without the involvement of the system manufacturer.

Closing the bug.
Comment 8 Alexander Miroshnichenko 2017-03-12 13:36:42 UTC
Thank you very much!
I used big omnidirectional antenntas which gained recieving signal (noise too).
For now I change to small (default) antennas and issue has gone.
Iperf shows 116Mbit/s (with 300 Mbit/s connection).
I will try unidirectional antennas.