Just to rule out the case of bad compatibility between the STA on the router (Quantenna QSR1000 chipset, QT3840BC SoC in case of my RT-87U) and the client WNIC I also checked with a different STA.
So the second router's 802.11ac hardware is Compex_WLE900VX Qualcomm Atheros QCA9880 (V2) which uses ath10k driver as well. Therefore, I've tested laptop's ath10k on 4.10 with router's ath10k on 4.4 kernel:
Just to rule out the case of bad compatibility between the STA on the router (Quantenna QSR1000 chipset, QT3840BC SoC in case of my RT-87U) and the client WNIC I also checked with a different STA.
So the second router's 802.11ac hardware is Compex_WLE900VX Qualcomm Atheros QCA9880 (V2) which uses ath10k driver as well. Therefore, I've tested laptop's ath10k on 4.10 with router's ath10k on 4.4 kernel:
root@turris:~# uname -r 80079e1c1e5f9ca 7ad734044462a76 1a-4
4.4.39-
root@turris:~# lspci -vvv
02:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter ,D1-,D2- ,D3hot- ,D3cold- ) mpliance- ComplianceSOS- plete-, EqualizationPhase1- nPhase2- , EqualizationPha se3-, LinkEqualizatio nRequest- 00-00-00- 00-00
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 120
Region 0: Memory at e0200000 (64-bit, non-prefetchable) [size=2M]
Expansion ROM at e0400000 [disabled] [size=64K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable+ Count=1/8 Maskable+ 64bit-
Address: f1020a04 Data: 0f10
Masking: 00fe00fe 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- SlotPowerLimit 0.000W
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 Disabled; 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 Not Supported
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCo
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationCom
Equalizatio
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] 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: [160 v1] Device Serial Number 00-00-00-
Kernel driver in use: ath10k_pci
root@turris:~# iperf -s ------- ------- ------- ------- ------- ------- ------- ---- ------- ------- ------- ------- ------- ------- ------- ----
-------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
-------
[ 4] local 192.168.1.1 port 5001 connected with 192.168.1.149 port 45706
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 27.4 MBytes 22.9 Mbits/sec
The result is the same so it is definitely not a router/ compatibility issue.