All of lore.kernel.org
 help / color / mirror / Atom feed
* Not reaching optimum speeds with IEEE 802.11n
@ 2014-09-10  1:26 Sourav
  2014-09-10  8:42 ` Arend van Spriel
  2014-09-10 14:53 ` Andreas Hartmann
  0 siblings, 2 replies; 9+ messages in thread
From: Sourav @ 2014-09-10  1:26 UTC (permalink / raw)
  To: linux-wireless

Hi All,
We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c), 
mac80211, and hostapd in our routers.
root:~# lsmod
Module                  Size  Used by    Tainted: P
rt2800usb              15371  0
rt2800lib              74214  1 rt2800usb
rt2x00usb               9718  1 rt2800usb
rt2x00lib              39328  3 rt2800usb,rt2800lib,rt2x00usb
mac80211              266596  3 rt2800lib,rt2x00usb,rt2x00lib
cfg80211              214073  2 rt2x00lib,mac80211
compat                 17406  4 rt2800usb,rt2x00lib,mac80211,cfg80211

When we are measuring performance using iperf, we see  ~20Mbps, using 
Channel 11 of 2.4GHZ, using 802.11n. The following is the iperf stats 
with iperf client running on the router and iperf server running on a 
laptop with IEEE802.11n adapter.

root:~# iperf -c 192.168.1.194 -p 5001 -i1 -fk -w146k -t100
------------------------------------------------------------
Client connecting to 192.168.1.194, TCP port 5001
TCP window size:   292 KByte (WARNING: requested   146 KByte)
------------------------------------------------------------
[  3] local 192.168.1.1 port 42520 connected with 192.168.1.194 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  1560 KBytes  12780 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  1.0- 2.0 sec  2672 KBytes  21889 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  2.0- 3.0 sec  2800 KBytes  22938 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  3.0- 4.0 sec  2624 KBytes  21496 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  4.0- 5.0 sec  2712 KBytes  22217 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  5.0- 6.0 sec  2664 KBytes  21823 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  6.0- 7.0 sec  2424 KBytes  19857 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  7.0- 8.0 sec  2424 KBytes  19857 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  8.0- 9.0 sec  2592 KBytes  21234 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  9.0-10.0 sec  2752 KBytes  22544 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3] 10.0-11.0 sec  3024 KBytes  24773 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3] 11.0-12.0 sec  2568 KBytes  21037 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3] 12.0-13.0 sec  2832 KBytes  23200 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3] 13.0-14.0 sec  2624 KBytes  21496 Kbits/sec

We are expecting speeds of upto 300Mbps(as per 802.11n specs), though 
those speeds are achievable using channel bonding over 5GHZ?
However at 2.4GHZ also we believe the speeds we are seeing are far too 
low....what are the maximum achievable speeds that we can expect in our 
setup and how to achieve them.....are there
any performance tuning techniques that we can use....please reply asap 
as this is very urgent.

-- 
Warm Regards,
Sourav


______________________________________________________________________
This communication contains information which may be confidential or privileged. The information is intended solely for the use of the individual or entity named above.  If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited.  If you have received this communication in error, please notify me by telephone immediately.
______________________________________________________________________

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Not reaching optimum speeds with IEEE 802.11n
  2014-09-10  1:26 Not reaching optimum speeds with IEEE 802.11n Sourav
@ 2014-09-10  8:42 ` Arend van Spriel
  2014-09-10 14:14   ` Helmut Schaa
  2014-09-10 14:53 ` Andreas Hartmann
  1 sibling, 1 reply; 9+ messages in thread
From: Arend van Spriel @ 2014-09-10  8:42 UTC (permalink / raw)
  To: Sourav; +Cc: linux-wireless

On 09/10/14 03:26, Sourav wrote:
> Hi All,
> We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c),
> mac80211, and hostapd in our routers.
> root:~# lsmod
> Module Size Used by Tainted: P
> rt2800usb 15371 0
> rt2800lib 74214 1 rt2800usb
> rt2x00usb 9718 1 rt2800usb
> rt2x00lib 39328 3 rt2800usb,rt2800lib,rt2x00usb
> mac80211 266596 3 rt2800lib,rt2x00usb,rt2x00lib
> cfg80211 214073 2 rt2x00lib,mac80211
> compat 17406 4 rt2800usb,rt2x00lib,mac80211,cfg80211
>
> When we are measuring performance using iperf, we see ~20Mbps, using
> Channel 11 of 2.4GHZ, using 802.11n. The following is the iperf stats
> with iperf client running on the router and iperf server running on a
> laptop with IEEE802.11n adapter.
>
> root:~# iperf -c 192.168.1.194 -p 5001 -i1 -fk -w146k -t100
> ------------------------------------------------------------
> Client connecting to 192.168.1.194, TCP port 5001
> TCP window size: 292 KByte (WARNING: requested 146 KByte)
> ------------------------------------------------------------
> [ 3] local 192.168.1.1 port 42520 connected with 192.168.1.194 port 5001
> [ ID] Interval Transfer Bandwidth
> [ 3] 0.0- 1.0 sec 1560 KBytes 12780 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 1.0- 2.0 sec 2672 KBytes 21889 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 2.0- 3.0 sec 2800 KBytes 22938 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 3.0- 4.0 sec 2624 KBytes 21496 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 4.0- 5.0 sec 2712 KBytes 22217 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 5.0- 6.0 sec 2664 KBytes 21823 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 6.0- 7.0 sec 2424 KBytes 19857 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 7.0- 8.0 sec 2424 KBytes 19857 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 8.0- 9.0 sec 2592 KBytes 21234 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 9.0-10.0 sec 2752 KBytes 22544 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 10.0-11.0 sec 3024 KBytes 24773 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 11.0-12.0 sec 2568 KBytes 21037 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 12.0-13.0 sec 2832 KBytes 23200 Kbits/sec
> [ ID] Interval Transfer Bandwidth
> [ 3] 13.0-14.0 sec 2624 KBytes 21496 Kbits/sec
>
> We are expecting speeds of upto 300Mbps(as per 802.11n specs), though
> those speeds are achievable using channel bonding over 5GHZ?

First of all, the speeds in the 802.11n specs are phy rates. This rate 
is what is used for individual frames. So you are comparing apples and 
beans (not in the fruit department) by looking at TCP throughput. You 
will need to determine the actual phy rate during the test using iw. 
This depends on condition in the environment. 300Mbps requires two 
streams (2x2) and 40MHz bandwidth.

Regards,
Arend

> However at 2.4GHZ also we believe the speeds we are seeing are far too
> low....what are the maximum achievable speeds that we can expect in our
> setup and how to achieve them.....are there
> any performance tuning techniques that we can use....please reply asap
> as this is very urgent.
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Not reaching optimum speeds with IEEE 802.11n
  2014-09-10  8:42 ` Arend van Spriel
@ 2014-09-10 14:14   ` Helmut Schaa
  2014-09-10 15:18     ` Andreas Hartmann
  2014-09-12  2:11     ` Sourav
  0 siblings, 2 replies; 9+ messages in thread
From: Helmut Schaa @ 2014-09-10 14:14 UTC (permalink / raw)
  To: Arend van Spriel; +Cc: Sourav, linux-wireless

On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel <arend@broadcom.com> wrote:
> On 09/10/14 03:26, Sourav wrote:
>> We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c),

The Ralink USB hardware is quite bad in reporting TX status and as
such minstrel_ht cannot do proper rate selection.
If you watch the rc stats at
/sys/kernel/debug/ieee80211/phy0/netdev\:wlan0-0/stations/xx:xx:xx:xx:xx:xx/rc_stats
you might see a lot of rate selection "hopping".

Regards.
Helmut

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Not reaching optimum speeds with IEEE 802.11n
  2014-09-10  1:26 Not reaching optimum speeds with IEEE 802.11n Sourav
  2014-09-10  8:42 ` Arend van Spriel
@ 2014-09-10 14:53 ` Andreas Hartmann
  1 sibling, 0 replies; 9+ messages in thread
From: Andreas Hartmann @ 2014-09-10 14:53 UTC (permalink / raw)
  To: Sourav, linux-wireless

Sourav wrote:
> Hi All,
> We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c),
> mac80211, and hostapd in our routers.
> root:~# lsmod
> Module                  Size  Used by    Tainted: P
> rt2800usb              15371  0
> rt2800lib              74214  1 rt2800usb
> rt2x00usb               9718  1 rt2800usb
> rt2x00lib              39328  3 rt2800usb,rt2800lib,rt2x00usb
> mac80211              266596  3 rt2800lib,rt2x00usb,rt2x00lib
> cfg80211              214073  2 rt2x00lib,mac80211
> compat                 17406  4 rt2800usb,rt2x00lib,mac80211,cfg80211
> 
> When we are measuring performance using iperf, we see  ~20Mbps, using
> Channel 11 of 2.4GHZ, using 802.11n.

Known problem of rt2800usb. You might try the original vendor driver[1]
if you want to use the device as STA. Are you running this test on ARM?
rt2800usb runs *extremely* poor with Raspi, e.g.

With the vendor driver rt5572..., I'm getting > 100MBit/s (measured w/
netperf) running at 2.4 GHz and 40 MHz even through reinforced concrete
floor using a rt5372 chip, e.g. - even w/ Raspberry Pi.

[1] http://www.mediatek.com/en/downloads/



Kind regards,
Andreas

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Not reaching optimum speeds with IEEE 802.11n
  2014-09-10 14:14   ` Helmut Schaa
@ 2014-09-10 15:18     ` Andreas Hartmann
  2014-09-11 10:15       ` Helmut Schaa
  2014-09-12  2:11     ` Sourav
  1 sibling, 1 reply; 9+ messages in thread
From: Andreas Hartmann @ 2014-09-10 15:18 UTC (permalink / raw)
  To: Helmut Schaa, Arend van Spriel; +Cc: Sourav, linux-wireless

Hello Helmut!

Helmut Schaa wrote:
> On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel <arend@broadcom.com> wrote:
>> On 09/10/14 03:26, Sourav wrote:
>>> We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c),
> 
> The Ralink USB hardware is quite bad in reporting TX status and as
> such minstrel_ht cannot do proper rate selection.

Rate control of the vendor driver seems to work just fine (or at least
better as minstrel_ht).

Iow: minstrel_ht doesn't meet the requirements of ralink chipsets :-).

But this is not the only problem of rt2800usb. As long as a driver has
the ability to damage a device [1], there is something more basically
broken!


[1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/126856


Regards,
Andreas

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Not reaching optimum speeds with IEEE 802.11n
  2014-09-10 15:18     ` Andreas Hartmann
@ 2014-09-11 10:15       ` Helmut Schaa
  0 siblings, 0 replies; 9+ messages in thread
From: Helmut Schaa @ 2014-09-11 10:15 UTC (permalink / raw)
  To: Andreas Hartmann; +Cc: Arend van Spriel, Sourav, linux-wireless

On Wed, Sep 10, 2014 at 5:18 PM, Andreas Hartmann
<andihartmann@freenet.de> wrote:
> Hello Helmut!
>
> Helmut Schaa wrote:
>> On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel <arend@broadcom.com> wrote:
>>> On 09/10/14 03:26, Sourav wrote:
>>>> We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c),
>>
>> The Ralink USB hardware is quite bad in reporting TX status and as
>> such minstrel_ht cannot do proper rate selection.
>
> Rate control of the vendor driver seems to work just fine (or at least
> better as minstrel_ht).

Indeed, the ralink proprietary rate control does not depend on per
frame statistics.

>
> Iow: minstrel_ht doesn't meet the requirements of ralink chipsets :-).

Yep.

> But this is not the only problem of rt2800usb. As long as a driver has
> the ability to damage a device [1], there is something more basically
> broken!

Also agreed.

Helmut

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Not reaching optimum speeds with IEEE 802.11n
  2014-09-10 14:14   ` Helmut Schaa
  2014-09-10 15:18     ` Andreas Hartmann
@ 2014-09-12  2:11     ` Sourav
  2014-09-12  7:46       ` Helmut Schaa
  1 sibling, 1 reply; 9+ messages in thread
From: Sourav @ 2014-09-12  2:11 UTC (permalink / raw)
  To: Helmut Schaa; +Cc: Arend van Spriel, linux-wireless

[-- Attachment #1: Type: text/plain, Size: 1899 bytes --]

On 11/09/14 00:14, Helmut Schaa wrote:
> On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel <arend@broadcom.com> wrote:
>> On 09/10/14 03:26, Sourav wrote:
>>> We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c),
> The Ralink USB hardware is quite bad in reporting TX status and as
> such minstrel_ht cannot do proper rate selection.
> If you watch the rc stats at
> /sys/kernel/debug/ieee80211/phy0/netdev\:wlan0-0/stations/xx:xx:xx:xx:xx:xx/rc_stats
> you might see a lot of rate selection "hopping".
>
> Regards.
> Helmut
please take a look at the attachments.... the first one shows the 
rc_stats and iperf stats side by side on the router(iperf is running in 
client mode in the router).....the second attachment is from a laptop 
which is running iperf in server mode.

I don't see a lot of rate "hopping" in the rc_stats file, (T,t and P) 
rates are pretty much stable.... yet there is a big difference between 
those rates and the throughput using iperf......
when you say "Ralink USB hardware is quite bad in reporting TX status", 
do you mean that the HW reports less tx rate to minstrel_ht and so its 
rate calculation is screwed up?
Can you please let me know the section of code inside 
Rc_80211_minstrel_ht.c (or somewhere else) which deals with getting the 
tx rate from ralink HW?

-- 
Warm Regards,
Sourav



______________________________________________________________________
This communication contains information which may be confidential or privileged. The information is intended solely for the use of the individual or entity named above.  If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited.  If you have received this communication in error, please notify me by telephone immediately.
______________________________________________________________________

[-- Attachment #2: Screenshot from 2014-09-12 11:50:20.png --]
[-- Type: image/png, Size: 401757 bytes --]

[-- Attachment #3: 802.11ac adapter client.jpg --]
[-- Type: image/jpeg, Size: 273583 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Not reaching optimum speeds with IEEE 802.11n
  2014-09-12  2:11     ` Sourav
@ 2014-09-12  7:46       ` Helmut Schaa
       [not found]         ` <5412A831.3050804@netcommwireless.com>
  0 siblings, 1 reply; 9+ messages in thread
From: Helmut Schaa @ 2014-09-12  7:46 UTC (permalink / raw)
  To: Sourav; +Cc: Arend van Spriel, linux-wireless

On Fri, Sep 12, 2014 at 4:11 AM, Sourav
<sourav.chakraborty@netcommwireless.com> wrote:
> On 11/09/14 00:14, Helmut Schaa wrote:
>>
>> On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel <arend@broadcom.com>
>> wrote:
>>>
>>> On 09/10/14 03:26, Sourav wrote:
>>>>
>>>> We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c),
>>
>> The Ralink USB hardware is quite bad in reporting TX status and as
>> such minstrel_ht cannot do proper rate selection.
>> If you watch the rc stats at
>>
>> /sys/kernel/debug/ieee80211/phy0/netdev\:wlan0-0/stations/xx:xx:xx:xx:xx:xx/rc_stats
>> you might see a lot of rate selection "hopping".
>>
>> Regards.
>> Helmut
>
> please take a look at the attachments.... the first one shows the rc_stats
> and iperf stats side by side on the router(iperf is running in client mode
> in the router).....the second attachment is from a laptop which is running
> iperf in server mode.
>
> I don't see a lot of rate "hopping" in the rc_stats file, (T,t and P) rates
> are pretty much stable.... yet there is a big difference between those rates
> and the throughput using iperf......

Indeed, rc_stats looks acceptable.

> when you say "Ralink USB hardware is quite bad in reporting TX status", do
> you mean that the HW reports less tx rate to minstrel_ht and so its rate
> calculation is screwed up?

The HW sometimes does not report the status of transmitted frames correctly.
The TX status register is a FIFO of 16 (or similar) elements and if
the driver is
not reading it "fast enough" the FIFO will overflow :( at least that
was the point
when I was looking at the ralink hardware last time. Not sure if something
changed recently.

> Can you please let me know the section of code inside Rc_80211_minstrel_ht.c
> (or somewhere else) which deals with getting the tx rate from ralink HW?

There is no special code in minstrel(_ht) in regard to rt2x00.

Are you able able to get some statistics on the receiver side (your
windows machine)
regarding TX rates and AMPDU lengths?

Helmut

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Not reaching optimum speeds with IEEE 802.11n
       [not found]         ` <5412A831.3050804@netcommwireless.com>
@ 2014-09-18  8:53           ` Sourav
  0 siblings, 0 replies; 9+ messages in thread
From: Sourav @ 2014-09-18  8:53 UTC (permalink / raw)
  To: linux-wireless

Hi All,
Is there a parameter in hostapd.conf or elsewhere to enable/disable MPDU 
and MSDU aggregation? Please reply as this is very urgent.

Thanks in advance,
Sourav
On 12/09/14 18:00, Sourav wrote:
> On 12/09/14 17:46, Helmut Schaa wrote:
>> On Fri, Sep 12, 2014 at 4:11 AM, Sourav
>> <sourav.chakraborty@netcommwireless.com> wrote:
>>> On 11/09/14 00:14, Helmut Schaa wrote:
>>>> On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel 
>>>> <arend@broadcom.com>
>>>> wrote:
>>>>> On 09/10/14 03:26, Sourav wrote:
>>>>>> We are using Ralink chip Rt3072L (using rt2800usb drivers 
>>>>>> rt2800usb.c),
>>>> The Ralink USB hardware is quite bad in reporting TX status and as
>>>> such minstrel_ht cannot do proper rate selection.
>>>> If you watch the rc stats at
>>>>
>>>> /sys/kernel/debug/ieee80211/phy0/netdev\:wlan0-0/stations/xx:xx:xx:xx:xx:xx/rc_stats 
>>>>
>>>> you might see a lot of rate selection "hopping".
>>>>
>>>> Regards.
>>>> Helmut
>>> please take a look at the attachments.... the first one shows the 
>>> rc_stats
>>> and iperf stats side by side on the router(iperf is running in 
>>> client mode
>>> in the router).....the second attachment is from a laptop which is 
>>> running
>>> iperf in server mode.
>>>
>>> I don't see a lot of rate "hopping" in the rc_stats file, (T,t and 
>>> P) rates
>>> are pretty much stable.... yet there is a big difference between 
>>> those rates
>>> and the throughput using iperf......
>> Indeed, rc_stats looks acceptable.
>>
>>> when you say "Ralink USB hardware is quite bad in reporting TX 
>>> status", do
>>> you mean that the HW reports less tx rate to minstrel_ht and so its 
>>> rate
>>> calculation is screwed up?
>> The HW sometimes does not report the status of transmitted frames 
>> correctly.
>> The TX status register is a FIFO of 16 (or similar) elements and if
>> the driver is
>> not reading it "fast enough" the FIFO will overflow :( at least that
>> was the point
>> when I was looking at the ralink hardware last time. Not sure if 
>> something
>> changed recently.
> How did you detect this? I can see no error messages in 
> syslog....hence I am thinking that the HW is processing packets 
> properly....though I may be wrong here.
>>> Can you please let me know the section of code inside 
>>> Rc_80211_minstrel_ht.c
>>> (or somewhere else) which deals with getting the tx rate from ralink 
>>> HW?
>> There is no special code in minstrel(_ht) in regard to rt2x00.
>>
>> Are you able able to get some statistics on the receiver side (your
>> windows machine)
>> regarding TX rates and AMPDU lengths?
> the 2nd attachment had logs from the windows machine.....it is also 
> showing similar rates as on the router
>> Helmut
>
>


-- 
Warm Regards,
Sourav


______________________________________________________________________
This communication contains information which may be confidential or privileged. The information is intended solely for the use of the individual or entity named above.  If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited.  If you have received this communication in error, please notify me by telephone immediately.
______________________________________________________________________

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-09-18  8:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-10  1:26 Not reaching optimum speeds with IEEE 802.11n Sourav
2014-09-10  8:42 ` Arend van Spriel
2014-09-10 14:14   ` Helmut Schaa
2014-09-10 15:18     ` Andreas Hartmann
2014-09-11 10:15       ` Helmut Schaa
2014-09-12  2:11     ` Sourav
2014-09-12  7:46       ` Helmut Schaa
     [not found]         ` <5412A831.3050804@netcommwireless.com>
2014-09-18  8:53           ` Sourav
2014-09-10 14:53 ` Andreas Hartmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.