I've built a 4.13-rc1 (5771a8c08880) kernel and have done some laptop
(4.13, bbr) <-> AP <-> laptop (4.4 cubic) tests. Not sure about the AP
and there is a fair amount of wireless devices on the network I was
connected to. Most of them have Cubic congestion control but I am not
sure how fair they shared bandwidth.

There are also 2 tests with one of the public iperf3 servers from this
list https://iperf.fr/iperf-servers.php which give about the same perf
results. I think the network I am now has ~60 Mbit/s cap or rate limit
per client.

Cwnd seems to mostly cap at 14.1 KBytes for the first set of tests.

I will run some more tests on a faster and less congested network in 2
days with bbr.

Until then, what I see is that I can get ~ 4 times more data through
with UDP.

uname -r
4.13.0-rc1

➜  linux git:(5771a8c08880) ✗ cat /proc/sys/net/ipv4/tcp_congestion_control
bbr
➜  linux git:(5771a8c08880) ✗ lsmod | grep bbr                             
tcp_bbr                20480  45


iperf3 -c 10.155.13.90            
Connecting to host 10.155.13.90, port 5201
[  4] local 10.155.9.186 port 37980 connected to 10.155.13.90 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   991 KBytes  8.12 Mbits/sec    1   11.3 KBytes       
[  4]   1.00-2.00   sec   938 KBytes  7.68 Mbits/sec    0   14.1 KBytes       
[  4]   2.00-3.00   sec   923 KBytes  7.56 Mbits/sec    0   11.3 KBytes       
[  4]   3.00-4.00   sec   650 KBytes  5.33 Mbits/sec    0   11.3 KBytes       
[  4]   4.00-5.00   sec  1.02 MBytes  8.56 Mbits/sec    0   11.3 KBytes       
[  4]   5.00-6.00   sec   863 KBytes  7.07 Mbits/sec    0   14.1 KBytes       
[  4]   6.00-7.00   sec  1.20 MBytes  10.1 Mbits/sec    0   14.1 KBytes       
[  4]   7.00-8.00   sec   826 KBytes  6.77 Mbits/sec    0   14.1 KBytes       
[  4]   8.00-9.00   sec  1.09 MBytes  9.12 Mbits/sec    0   11.3 KBytes       
[  4]   9.00-10.00  sec   658 KBytes  5.39 Mbits/sec    0   14.1 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  9.02 MBytes  7.57 Mbits/sec    1             sender
[  4]   0.00-10.00  sec  8.92 MBytes  7.48 Mbits/sec                  receiver

iperf Done.


iperf3 -u -b 1000M -c 10.155.13.90
Connecting to host 10.155.13.90, port 5201
[  4] local 10.155.9.186 port 44086 connected to 10.155.13.90 port 5201
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec  3.63 MBytes  30.5 Mbits/sec  465  
[  4]   1.00-2.00   sec  4.03 MBytes  33.8 Mbits/sec  516  
[  4]   2.00-3.00   sec  4.45 MBytes  37.3 Mbits/sec  569  
[  4]   3.00-4.00   sec  4.68 MBytes  39.3 Mbits/sec  599  
[  4]   4.00-5.00   sec  5.48 MBytes  45.9 Mbits/sec  701  
[  4]   5.00-6.00   sec  5.52 MBytes  46.3 Mbits/sec  707  
[  4]   6.00-7.00   sec  5.25 MBytes  44.0 Mbits/sec  672  
[  4]   7.00-8.00   sec  4.57 MBytes  38.3 Mbits/sec  585  
[  4]   8.00-9.00   sec  4.64 MBytes  38.9 Mbits/sec  594  
[  4]   9.00-10.00  sec  5.50 MBytes  46.1 Mbits/sec  704  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total 
Datagrams
[  4]   0.00-10.00  sec  47.8 MBytes  40.1 Mbits/sec  1.650 ms  26/6111 (0.43%) 
 
[  4] Sent 6111 datagrams

iperf Done.


iperf3 -c 10.155.13.90            
Connecting to host 10.155.13.90, port 5201
[  4] local 10.155.9.186 port 37988 connected to 10.155.13.90 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  1.18 MBytes  9.89 Mbits/sec    0   11.3 KBytes       
[  4]   1.00-2.00   sec  1.10 MBytes  9.27 Mbits/sec    0   14.1 KBytes       
[  4]   2.00-3.00   sec  1.16 MBytes  9.70 Mbits/sec    0   11.3 KBytes       
[  4]   3.00-4.00   sec  1.06 MBytes  8.91 Mbits/sec    0   14.1 KBytes       
[  4]   4.00-5.00   sec  1.05 MBytes  8.79 Mbits/sec    0   11.3 KBytes       
[  4]   5.00-6.00   sec  1.07 MBytes  8.96 Mbits/sec    0   14.1 KBytes       
[  4]   6.00-7.00   sec   922 KBytes  7.55 Mbits/sec    0   14.1 KBytes       
[  4]   7.00-8.00   sec  1.09 MBytes  9.17 Mbits/sec    0   14.1 KBytes       
[  4]   8.00-9.00   sec  1.12 MBytes  9.41 Mbits/sec    0   14.1 KBytes       
[  4]   9.00-10.00  sec   987 KBytes  8.09 Mbits/sec    0   14.1 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  10.7 MBytes  8.97 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  10.6 MBytes  8.91 Mbits/sec                  receiver

iperf Done.


---

➜  linux git:(5771a8c08880) ✗ iperf3 -c iperf.volia.net 
Connecting to host iperf.volia.net, port 5201
[  4] local 10.155.9.186 port 40964 connected to 82.144.193.18 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  1.32 MBytes  11.0 Mbits/sec    0    341 KBytes       
[  4]   1.00-2.00   sec  1.64 MBytes  13.7 Mbits/sec    0    416 KBytes       
[  4]   2.00-3.00   sec  1.32 MBytes  11.1 Mbits/sec    0    441 KBytes       
[  4]   3.00-4.00   sec  1.32 MBytes  11.0 Mbits/sec    0    421 KBytes       
[  4]   4.00-5.00   sec  1.27 MBytes  10.7 Mbits/sec    0    427 KBytes       
[  4]   5.00-6.00   sec  1.29 MBytes  10.8 Mbits/sec    0    413 KBytes       
[  4]   6.00-7.00   sec  1.31 MBytes  11.0 Mbits/sec    0    424 KBytes       
[  4]   7.00-8.00   sec  1.25 MBytes  10.4 Mbits/sec    0    421 KBytes       
[  4]   8.00-9.00   sec  1.25 MBytes  10.5 Mbits/sec    0    427 KBytes       
[  4]   9.00-10.00  sec  1.32 MBytes  11.1 Mbits/sec    0    424 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  13.3 MBytes  11.1 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  12.1 MBytes  10.2 Mbits/sec                  receiver

iperf Done.

➜  linux git:(5771a8c08880) ✗ iperf3 -u -b 1000M -c iperf.volia.net     
Connecting to host iperf.volia.net, port 5201
[  4] local 10.155.9.186 port 41183 connected to 82.144.193.18 port 5201
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec  4.97 MBytes  41.7 Mbits/sec  636  
[  4]   1.00-2.00   sec  6.14 MBytes  51.5 Mbits/sec  786  
[  4]   2.00-3.00   sec  5.84 MBytes  49.0 Mbits/sec  747  
[  4]   3.00-4.00   sec  5.25 MBytes  44.0 Mbits/sec  672  
[  4]   4.00-5.00   sec  5.49 MBytes  46.1 Mbits/sec  703  
[  4]   5.00-6.00   sec  4.76 MBytes  39.9 Mbits/sec  609  
[  4]   6.00-7.00   sec  6.55 MBytes  54.9 Mbits/sec  838  
[  4]   7.00-8.00   sec  6.67 MBytes  56.0 Mbits/sec  854  
[  4]   8.00-9.00   sec  6.51 MBytes  54.6 Mbits/sec  833  
[  4]   9.00-10.00  sec  6.55 MBytes  54.9 Mbits/sec  838  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total 
Datagrams
[  4]   0.00-10.00  sec  58.7 MBytes  49.3 Mbits/sec  1.480 ms  0/7515 (0%)  
[  4] Sent 7515 datagrams

iperf Done.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1670041

Title:
  Poor performance of Atheros QCA6174 802.11ac (rev 32) (Killer Wireless
  1535)

Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Zesty:
  In Progress

Bug description:
  Update (2017-05-20):
  Kalle Valo suggested a hack which increased client -> AP TCP performance - so 
it does not look like a firmware issue as I thought originally, rather an 
ath10k driver issue:
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670041/comments/11
  https://patchwork.kernel.org/patch/5784701/ (the hack is at the bottom)
  Tested here:
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670041/comments/17

  Update: added some forensics in the paste (a long read):
  http://paste.ubuntu.com/24118478/

  -----

  3b:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless 
Network Adapter (rev 32)
  qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1a56:1535

  Original message:
  ------
  I experience a very poor 802.11ac performance of a QCA6174 Wireless card 
(Killer Wireless 1535).

  This is a dev version of Zesty with a recently released 4.10 kernel:

  uname -r
  4.10.0-9-generic

  dpkg -l linux-firmware | grep ii
  ii  linux-firmware 1.163        all          Firmware for Linux kernel drivers

  lspci -vvv:

  ...
  3b:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless 
Network Adapter (rev 32)
          Subsystem: Bigfoot Networks, Inc. QCA6174 802.11ac Wireless Network 
Adapter
          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 334
          Region 0: Memory at dd200000 (64-bit, non-prefetchable) [size=2M]
          Capabilities: <access denied>
          Kernel driver in use: ath10k_pci
          Kernel modules: ath10k_pci

  -----------------------------------------

  Testing wireless speed with RT-87U 802.11ac router shows that the
  speed is only 27.3 megabits per second which is very low for an
  802.11ac card:

  iperf -c rtr
  ------------------------------------------------------------
  Client connecting to rtr, TCP port 5001
  TCP window size: 85.0 KByte (default)
  ------------------------------------------------------------
  [  3] local 10.10.10.78 port 48930 connected with 10.10.10.1 port 5001
  [ ID] Interval       Transfer     Bandwidth
  [  3]  0.0-10.0 sec  32.6 MBytes  27.3 Mbits/sec

  ------------------------------------

  For comparison, on the same network (from the same distance to the
  router) I have the following result with an Intel's card (on a 4.8
  kernel, different laptop):

  UX32LN:~$ lspci | grep 7260
  02:00.0 Network controller: Intel Corporation Wireless 7260 (rev bb)

  UX32LN:~$ iperf -c rtr
  ------------------------------------------------------------
  Client connecting to rtr, TCP port 5001
  TCP window size: 85.0 KByte (default)
  ------------------------------------------------------------
  [ 3] local 10.10.10.208 port 37196 connected with 10.10.10.1 port 5001
  [ ID] Interval Transfer Bandwidth
  [ 3] 0.0-10.1 sec 237 MBytes 198 Mbits/sec
  administrator@UX32LN:~$ lsp
  lspci lspcmcia lspgpot

  200 Mbps is much better.

  -----------------------------------

  Back to the problematic card:

  Booted 16.04.2 with the rolling HWE kernel 4.8:

  journalctl -k | grep -i ath
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: enabling device (0000 
-> 0002)
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: pci irq msi 
oper_irq_mode 2 irq_mode 0 reset_mode 0
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: Direct firmware load 
for ath10k/pre-cal-pci-0000:3b:00.0.bin failed with error -2
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: Direct firmware load 
for ath10k/cal-pci-0000:3b:00.0.bin failed with error -2
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: Direct firmware load 
for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: could not fetch 
firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: qca6174 hw3.2 target 
0x05030000 chip_id 0x00340aff sub 1a56:1535
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: kconfig debug 0 
debugfs 1 tracing 1 dfs 0 testmode 0
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: firmware ver 
WLAN.RM.2.0-00180-QCARMSWPZ-1 api 4 features wowlan,ignore-otp,no-4addr-pad 
crc32 75dee6c5
  Mar 04 18:28:31 ubuntu kernel: ath10k_pci 0000:3b:00.0: board_file api 2 
bmi_id N/A crc32 6fc88fe7
  Mar 04 18:28:34 ubuntu kernel: ath10k_pci 0000:3b:00.0: htt-ver 3.26 wmi-op 4 
htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
  Mar 04 18:28:34 ubuntu kernel: ath: EEPROM regdomain: 0x6c
  Mar 04 18:28:34 ubuntu kernel: ath: EEPROM indicates we should expect a 
direct regpair map
  Mar 04 18:28:34 ubuntu kernel: ath: Country alpha2 being used: 00
  Mar 04 18:28:34 ubuntu kernel: ath: Regpair used: 0x6c
  Mar 04 18:28:34 ubuntu kernel: ath10k_pci 0000:3b:00.0 wlp59s0: renamed from 
wlan0

  iperf -c 10.10.10.1
  ------------------------------------------------------------
  Client connecting to 10.10.10.1, TCP port 5001
  TCP window size: 85.0 KByte (default)
  ------------------------------------------------------------
  [ 3] local 10.10.10.78 port 43786 connected with 10.10.10.1 port 5001
  [ ID] Interval Transfer Bandwidth
  [ 3] 0.0-10.0 sec 43.0 MBytes 36.0 Mbits/sec

  --------------------------------

  Booted on 4.4 General Availability kernel - the card did not work at
  all:

  Mar 04 18:51:54 ubuntu kernel: ath10k_pci 0000:3b:00.0: failed to enable 
dynamic BW: -11
  Mar 04 18:52:00 ubuntu kernel: ath10k_pci 0000:3b:00.0: could not suspend 
target (-11)

  --------------------------------

  The card's product name is Killer Wireless-AC 1535:
  http://www.killernetworking.com/products/killer-wireless-ac-1535

  The card vendor refers to linux-firmware 1.163:
  
http://www.killernetworking.com/driver-downloads/knowledge-base?view=topic&id=2

  ---------------------------------

  I tend to blame Atheros firmware so I've tried whatever kvalo has in
  the ath10k-firmware

  https://github.com/kvalo/ath10k-firmware

  sudo rmmod ath10k_pci ath10k_core ath mac80211 cfg80211

  # this gets rid of some of the kernel warnings about firmware but the
  performance remains low

  sudo cp ath10k-
  firmware/QCA6174/hw3.0/firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1
  /lib/firmware/ath10k/QCA6174/hw3.0/firmware-5.bin

  sudo cp ath10k-firmware/QCA6174/hw3.0/board-2.bin
  /lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin

  sudo modprobe -a ath10k_pci ath10k_core ath mac80211 cfg80211

  ----------------------------------

  Tried both 5.0 GHz and 2.4 GHz modes - got similar results.

  ----------------------------------

  ProblemType: Bug
  DistroRelease: Ubuntu 17.04
  Package: linux-image-4.10.0-9-generic 4.10.0-9.11
  ProcVersionSignature: Ubuntu 4.10.0-9.11-generic 4.10.0
  Uname: Linux 4.10.0-9-generic x86_64
  NonfreeKernelModules: nvidia_uvm nvidia_drm nvidia_modeset nvidia
  ApportVersion: 2.20.4-0ubuntu2
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC0:  dima       3458 F.... pulseaudio
   /dev/snd/controlC1:  dima       3458 F.... pulseaudio
  CurrentDesktop: Unity:Unity7
  Date: Sat Mar  4 22:03:00 2017
  InstallationDate: Installed on 2017-02-27 (5 days ago)
  InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Alpha amd64 (20170227)
  MachineType: Razer Blade
  ProcFB: 0 inteldrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.10.0-9-generic.efi.signed 
root=UUID=3f515c94-cd91-48b4-80f6-84ec24cb7b8f ro rootflags=subvol=@ quiet 
button.lid_init_state=open pcie_aspm=off
  RelatedPackageVersions:
   linux-restricted-modules-4.10.0-9-generic N/A
   linux-backports-modules-4.10.0-9-generic  N/A
   linux-firmware                            1.163
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 01/10/2017
  dmi.bios.vendor: Razer
  dmi.bios.version: 1.00
  dmi.board.name: Razer
  dmi.board.vendor: Razer
  dmi.chassis.type: 9
  dmi.chassis.vendor: Razer
  dmi.modalias: 
dmi:bvnRazer:bvr1.00:bd01/10/2017:svnRazer:pnBlade:pvr6.06:rvnRazer:rnRazer:rvr:cvnRazer:ct9:cvr:
  dmi.product.name: Blade
  dmi.product.version: 6.06
  dmi.sys.vendor: Razer

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670041/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to