Not reaching optimum speeds with IEEE 802.11n

2014-09-09 Thread Sourav

Hi All,
We are using Ralink chip Rt3072L (using rt2800usb drivers rt2800usb.c), 
mac80211, and hostapd in our routers.

root:~# lsmod
Module  Size  Used byTainted: 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 
lowwhat 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 useplease 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.
__
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Not reaching optimum speeds with IEEE 802.11n

2014-09-10 Thread Arend van Spriel

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
lowwhat 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 useplease reply asap
as this is very urgent.



--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Not reaching optimum speeds with IEEE 802.11n

2014-09-10 Thread Helmut Schaa
On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel  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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Not reaching optimum speeds with IEEE 802.11n

2014-09-10 Thread Andreas Hartmann
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 byTainted: 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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Not reaching optimum speeds with IEEE 802.11n

2014-09-10 Thread Andreas Hartmann
Hello Helmut!

Helmut Schaa wrote:
> On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel  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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Not reaching optimum speeds with IEEE 802.11n

2014-09-11 Thread Helmut Schaa
On Wed, Sep 10, 2014 at 5:18 PM, Andreas Hartmann
 wrote:
> Hello Helmut!
>
> Helmut Schaa wrote:
>> On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel  
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Not reaching optimum speeds with IEEE 802.11n

2014-09-12 Thread Helmut Schaa
On Fri, Sep 12, 2014 at 4:11 AM, Sourav
 wrote:
> On 11/09/14 00:14, Helmut Schaa wrote:
>>
>> On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel 
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Not reaching optimum speeds with IEEE 802.11n

2014-09-18 Thread Sourav

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
 wrote:

On 11/09/14 00:14, Helmut Schaa wrote:
On Wed, Sep 10, 2014 at 10:42 AM, Arend van Spriel 


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 
sysloghence I am thinking that the HW is processing packets 
properlythough 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.
__
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html