ath10k and QCA3977 - random transfer rate losses

Tobias Predel tobias.predel at gmail.com
Fri Feb 19 01:16:02 PST 2016


Hello Ryan,

thank you very much for providing the correct board file. :)
Now it works without problem!

Inside the /lib/firmware/ath10k/QCA9377/hw1.0 folder are now:
- firmware-5.bin from kvalo's github repository
- board-2.bin you provided

The dmesg and lspci output are attached.

Tobias

--

[    3.321927] ath10k_pci 0000:02:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[    3.552539] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2
[    3.564800] ath10k_pci 0000:02:00.0: qca9377 hw1.0 target 0x05020000 chip_id 0x003820ff sub 1a3b:2231
[    3.564804] ath10k_pci 0000:02:00.0: kconfig debug 1 debugfs 1 tracing 0 dfs 0 testmode 0
[    3.565451] ath10k_pci 0000:02:00.0: firmware ver WLAN.TF.1.0-00267-1 api 5 features ignore-otp crc32 79cea2c7
[    3.635299] ath10k_pci 0000:02:00.0: board_file api 2 bmi_id N/A crc32 93da0176
[    5.444342] ath10k_pci 0000:02:00.0: htt-ver 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[    5.446063] ath: EEPROM regdomain: 0x6a
[    5.446068] ath: EEPROM indicates we should expect a direct regpair map
[    5.446071] ath: Country alpha2 being used: 00
[    5.446073] ath: Regpair used: 0x6a
[    5.461059] ath10k_pci 0000:02:00.0 wlp2s0: renamed from wlan0


02:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 30)
	Subsystem: AzureWave Device 2231
	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 315
	Region 0: Memory at 81000000 (64-bit, non-prefetchable) [size=2M]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable+ Count=1/8 Maskable+ 64bit-
		Address: fee0f00c  Data: 4163
		Masking: fffffffe  Pending: 00000000
	Capabilities: [70] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
			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: Not Supported, TimeoutDis+, LTR+, OBFF Via message
		DevCtl2: Completion Timeout: 50us to 50ms, 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: -6dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Capabilities: [100 v2] 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: [148 v1] Virtual Channel
		Caps:	LPEVC=0 RefClk=100ns PATEntryBits=1
		Arb:	Fixed- WRR32- WRR64- WRR128-
		Ctrl:	ArbSelect=Fixed
		Status:	InProgress-
		VC0:	Caps:	PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
			Arb:	Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
			Ctrl:	Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
			Status:	NegoPending- InProgress-
	Capabilities: [168 v1] Device Serial Number 00-00-00-00-00-00-00-00
	Capabilities: [178 v1] Latency Tolerance Reporting
		Max snoop latency: 15360ns
		Max no snoop latency: 15360ns
	Capabilities: [180 v1] L1 PM Substates
		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
			  PortCommonModeRestoreTime=50us PortTPowerOnTime=10us
	Kernel driver in use: ath10k_pci
	Kernel modules: ath10k_pci


On Fri, Feb 19, 2016 at 07:10:16AM +0000, Hsu, Ryan wrote:
> Tobias,
> 
> It seems to be like the RF tx/rx capability issue, usually due to the incorrect board file is using.
> 
> I can't find exactly the same module you've to try.
> Can you help to verify this attached board-2.bin file to see if that help the issue you've?
> 
> cp board-2.bin.9377 /lib/firmware/ath10k/QCA9377/hw1.0/board-2.bin
> 
> If this is not helping, would be helpful if you can share the commands and scenario you're running.
> Also the dump of the kernel logs.
> 
> Ryan
> 
> > -----Original Message-----
> > From: ath10k [mailto:ath10k-bounces at lists.infradead.org] On Behalf Of
> > Tobias Predel
> > Sent: Sunday, February 14, 2016 01:40 PM
> > To: vagner_
> > Cc: ath10k at lists.infradead.org
> > Subject: Re: ath10k and QCA3977 - random transfer rate losses
> > 
> > Hi Vagner,
> > 
> > turned out that it didn't work well over the long term. Issues appear again.
> > 
> > I gave up trying workarounds and decided to file an official bug report
> > (https://bugzilla.kernel.org/show_bug.cgi?id=112451) and keep quiet,
> > patiently waiting for a bug fix (I'm not a programmer) to prevent this from
> > becoming too frustating.
> > 
> > Thanks for your help anyway!
> > 
> > Best wishes
> > Tobias
> > 
> > On Sun, Feb 14, 2016 at 08:02:23PM +0200, vagner_ wrote:
> > > Great,
> > >
> > > You can write to him < prof.ajaybhatia at gmail.com >  saying thx. So
> > > that, he can get motivated and improve the drive...
> > > Good luck,
> > >
> > > Vagner
> > >
> > > +++++++++++++++++++++++++++++++
> > >
> > >
> > > On 02/14/2016 05:46 PM, Tobias Predel wrote:
> > > >Hi Vagner,
> > > >
> > > >thanks for your quick reply! I tried out your proposal and together
> > > >with power management switched off (iwconfig wlp2s0 power off) the
> > chipset works like a charm!
> > > >
> > > >A big thank you to you and the professor from India! You made my day
> > > >:)
> > > >
> > > >I just keep wondering now whether the disabled power management will
> > > >increase the battery drain but maybe the firmware does handle those
> > > >things by itself...
> > > >
> > > >So have a nice day and cheers,
> > > >Tobias
> > > >
> > > >On Sat, Feb 13, 2016 at 02:06:32PM +0200, vagner_ wrote:
> > > >>Hi Tobias,
> > > >>
> > > >>I also bought a laptop some weeks ago with an atheros chipset that
> > > >>required
> > > >>qca9377 - exactly like yours
> > > >>
> > > >>Network controller: Qualcomm Atheros Device 0042 (rev 30) -
> > > >>
> > > >>and it took me 2 or 3 weeks trying all kinds of solutions, including
> > > >>compiling a new kernel, kvalo drives and others. None of them worked.
> > > >>Finally, I found a drive that a professor from India, I think, wrote
> > > >>then I installed a new kernel 4.0 and the drive and since then it
> > > >>has been working marvelously.
> > > >>I even wrote to him to say thanks and got a good reply.
> > > >>I run Siduction distro with their very updated kernel.
> > > >>
> > > >>Try this:
> > > >>
> > > >>Remove your drive and install this one. It is very easy. Just run
> > > >>the script. Then tell us if that worked for you.
> > > >>Cheers and good luck...
> > > >>
> > > >>https://github.com/ajaybhatia/Qualcomm-Atheros-QCA9377-Wifi-Linux
> > > >>
> > > >>Vagner
> > > >>
> > > >>+++++++++++++++++++++++++++++++++++++++
> > > >>
> > > >>On 02/12/2016 10:30 PM, Tobias Predel wrote:
> > > >>>Hello,
> > > >>>
> > > >>>I bought a new laptop from ASUS, Product Name E205SA and installed
> > Arch Linux. Unfortunately, the included WLAN chipset from Qualcomm  (QCA
> > 9377) doesn't seem to work well with Linux. Beside of being recognized, the
> > driver/device functions normally for the first minutes after boot, but then the
> > transfer rate is suddenly lowering from around 700 kbs to 200 kbs and less,
> > making Internet unusable. After a while, it's recovering a bit but it seems to
> > be random (like it's trying to sleep/power save mode?). This behavior occures
> > for my home network as well as at my university's network. As wifi access
> > wasn't a issue with the Windows 10 OEM installation, I guess that this might
> > a driver/firmware/configuration problem.
> > > >>>
> > > >>>dmesg indicates
> > > >>>[   13.401917] ath: EEPROM regdomain: 0x6a
> > > >>>[   13.403870] ath: EEPROM indicates we should expect a direct regpair
> > map
> > > >>>[   13.405919] ath: Country alpha2 being used: 00
> > > >>>[   13.407837] ath: Regpair used: 0x6a
> > > >>>and
> > > >>>[   11.267403] ath10k_pci 0000:02:00.0: pci irq msi interrupts 1
> > irq_mode 0 reset_mode 0
> > > >>>[   11.500220] ath10k_pci 0000:02:00.0: Direct firmware load for
> > ath10k/cal-pci-0000:02:00.0.bin failed with error -2
> > > >>>[   11.583900] ath10k_pci 0000:02:00.0: Direct firmware load for
> > ath10k/QCA9377/hw1.0/board-2.bin failed with error -2
> > > >>>[   13.394121] ath10k_pci 0000:02:00.0: qca9377 hw1.0 (0x05020000,
> > 0x003820ff sub 1a3b:2231) fw WLAN.TF.1.0-00267-1 fwapi 5 bdapi 1 htt-ver
> > 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 features ignore-
> > otp
> > > >>>[   13.398452] ath10k_pci 0000:02:00.0: debug 1 debugfs 1 tracing 0 dfs
> > 0 testmode 0
> > > >>>[   13.422666] ath10k_pci 0000:02:00.0 wlp2s0: renamed from wlan0
> > > >>>
> > > >>>The firmware files were downloaded from the git repository
> > > >>><https://github.com/kvalo/ath10k-firmware>. In addition to that
> > > >>>iwconfig gives me a high number of invalid miscs. I use kernel
> > > >>>4.4.1 (Arch Linux). ethtools -i wlp2s0 prints out
> > > >>>
> > > >>>driver: ath10k_pci
> > > >>>version: 4.4.1-2-ARCH
> > > >>>firmware-version: WLAN.TF.1.0-00267-1
> > > >>>expansion-rom-version:
> > > >>>bus-info: 0000:02:00.0
> > > >>>supports-statistics: yes
> > > >>>supports-test: no
> > > >>>supports-eeprom-access: no
> > > >>>supports-register-dump: no
> > > >>>supports-priv-flags: no
> > > >>>
> > > >>>and lspci provides
> > > >>>
> > > >>>02:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 30)
> > > >>>	Subsystem: AzureWave Device 2231
> > > >>>	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 315
> > > >>>	Region 0: Memory at 81000000 (64-bit, non-prefetchable) [size=2M]
> > > >>>	Capabilities: [40] Power Management version 3
> > > >>>		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
> > PME(D0+,D1-,D2-,D3hot+,D3cold+)
> > > >>>		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> > > >>>	Capabilities: [50] MSI: Enable+ Count=1/8 Maskable+ 64bit-
> > > >>>		Address: fee0f00c  Data: 4163
> > > >>>		Masking: fffffffe  Pending: 00000000
> > > >>>	Capabilities: [70] Express (v2) Endpoint, MSI 00
> > > >>>		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency
> > L0s unlimited, L1 <64us
> > > >>>			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
> > > >>>		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal-
> > Unsupported-
> > > >>>			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
> > > >>>			MaxPayload 128 bytes, MaxReadReq 512 bytes
> > > >>>		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+
> > TransPend-
> > > >>>		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s
> > L1, Exit Latency L0s <4us, L1 <64us
> > > >>>			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: Not Supported, TimeoutDis+,
> > LTR+, OBFF Via message
> > > >>>		DevCtl2: Completion Timeout: 50us to 50ms, 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: -6dB,
> > EqualizationComplete-, EqualizationPhase1-
> > > >>>			 EqualizationPhase2-, EqualizationPhase3-,
> > LinkEqualizationRequest-
> > > >>>	Capabilities: [100 v2] 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: [148 v1] Virtual Channel
> > > >>>		Caps:	LPEVC=0 RefClk=100ns PATEntryBits=1
> > > >>>		Arb:	Fixed- WRR32- WRR64- WRR128-
> > > >>>		Ctrl:	ArbSelect=Fixed
> > > >>>		Status:	InProgress-
> > > >>>		VC0:	Caps:	PATOffset=00 MaxTimeSlots=1
> > RejSnoopTrans-
> > > >>>			Arb:	Fixed- WRR32- WRR64- WRR128- TWRR128-
> > WRR256-
> > > >>>			Ctrl:	Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
> > > >>>			Status:	NegoPending- InProgress-
> > > >>>	Capabilities: [168 v1] Device Serial Number 00-00-00-00-00-00-00-00
> > > >>>	Capabilities: [178 v1] Latency Tolerance Reporting
> > > >>>		Max snoop latency: 15360ns
> > > >>>		Max no snoop latency: 15360ns
> > > >>>	Capabilities: [180 v1] L1 PM Substates
> > > >>>		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+
> > ASPM_L1.1+ L1_PM_Substates+
> > > >>>			  PortCommonModeRestoreTime=50us
> > PortTPowerOnTime=10us
> > > >>>	Kernel driver in use: ath10k_pci
> > > >>>	Kernel modules: ath10k_pci
> > > >>>
> > > >>>Could anyone give me a hint how I might fix this? Any help is greatly
> > appreciated.
> > > >>>
> > > >>>Regards,
> > > >>>Tobias
> > > >>>
> > > >>>_______________________________________________
> > > >>>ath10k mailing list
> > > >>>ath10k at lists.infradead.org
> > > >>>http://lists.infradead.org/mailman/listinfo/ath10k
> > >
> > 
> > _______________________________________________
> > ath10k mailing list
> > ath10k at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/ath10k





More information about the ath10k mailing list