low TCP throughput with 80MHz channel width

Michal Kazior michal.kazior at tieto.com
Mon Apr 25 00:07:45 PDT 2016


Did you try sniffing the traffic with tcpdump perhaps? You might want
to do tcpdump -w x.pcap -c 20000 -s 128 -ni wlan0 (or eth0 on one of
the endpoints, or even both). You can then run `tcptrace` on the pcap
to see some statistics (perhaps something will stand out; I'm not an
expert at reading these yet) or open it up with wireshark and inspect
it interactively.

One time I had a very bizarre checksum corruption going on that I
discovered upon opening a dump in wireshark and it was causing a lot
of re-transmissions reducing performance a lot.

You might want to see "ifstat" on the endpoints as well to see if/how
it relates to the performance numbers iperf reports.

Out of curiosity, what is RTT on an idle connection between your test endpoints?


Michał


On 22 April 2016 at 18:02, Iñaki Pascual <ipascual at cttc.cat> wrote:
> Thanks for the tip Ben. We have moved to 'reno' and tried several window
> sizes but we are still on max. 35 Mbps which is too low.
>
> Bests,
>
> Iñaki
>
>
> On 22/04/16 17:40, Ben Greear wrote:
>>
>> Use 'reno' instead of cubic TCP congestion control, cubic is broken with
>> ath10k.
>>
>> Thanks,
>> Ben
>>
>> On 04/22/2016 08:32 AM, Iñaki Pascual wrote:
>>>
>>> Hi everyone,
>>>
>>> we have configured two boxes with 802.11ac NICs to work in channel 48
>>> (5240 MHz), ad-hoc mode, 80MHz channel width.
>>> For UDP traffic we get 300 Mbps bandwith but for TCP we are around 30
>>> Mbps.
>>>
>>> We have tried other channels with similar results.
>>> Throughput for 20 and 40 MHz channel width are ok (20MHz: TCP 21Mbps, UDP
>>> 27Mbps, 40MHz: TCP 82Mbps, UDP 144Mbps).
>>>
>>> Testing with iperf we have also tried different congestion windows with
>>> no or low improvements.
>>>
>>> Below are config details and the sequence of commands we are using to
>>> configure the interface.
>>>
>>> Any ideas on what we may be doing wrong?
>>>
>>> Bests,
>>>
>>> Iñaki
>>>
>>> iw outputs:
>>>
>>> root at sc227:/home/monet# iw wlan2 info
>>> Interface wlan2
>>>      ifindex 6
>>>      wdev 0x200000001
>>>      addr 04:f0:21:18:26:a2
>>>      ssid SC226SC227
>>>      type IBSS
>>>      wiphy 2
>>>      channel 48 (5240 MHz), width: 80 MHz, center1: 5210 MHz
>>>
>>> root at sc227:/home/monet# iw wlan2 station dump
>>> Station 04:f0:21:18:26:a8 (on wlan2)
>>>      inactive time:    86 ms
>>>      rx bytes:    467732521
>>>      rx packets:    364249
>>>      tx bytes:    1394558
>>>      tx packets:    16200
>>>      tx retries:    0
>>>      tx failed:    0
>>>      signal:      -51 dBm
>>>      signal avg:    -51 dBm
>>>      tx bitrate:    351.0 MBit/s VHT-MCS 4 80MHz VHT-NSS 2
>>>      rx bitrate:    526.5 MBit/s VHT-MCS 4 80MHz VHT-NSS 3
>>>      authorized:    yes
>>>      authenticated:    yes
>>>      preamble:    long
>>>      WMM/WME:    yes
>>>      MFP:        no
>>>      TDLS peer:    no
>>>      connected time:    3169 seconds
>>>
>>>
>>> config commands:
>>>
>>> ifconfig wlan2 down
>>> iw wlan2 set type ibss
>>> ifconfig wlan2 up
>>> ifconfig wlan2 10.2.1.7 netmask 255.255.255.0
>>> iw wlan2 ibss join SC226SC227 5240 80MHz
>>>
>>> iperf:
>>> root at sc227:/home/monet# iperf -c 10.2.1.6
>>> ------------------------------------------------------------
>>> Client connecting to 10.2.1.6, TCP port 5001
>>> TCP window size: 85.0 KByte (default)
>>> ------------------------------------------------------------
>>> [  3] local 10.2.1.7 port 48548 connected with 10.2.1.6 port 5001
>>> [ ID] Interval       Transfer     Bandwidth
>>> [  3]  0.0-10.0 sec  33.1 MBytes  27.7 Mbits/sec
>>>
>>> _______________________________________________
>>> 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