Hi,
I have found some posts regarding Centrino WLAN chipsets and Routerboard miniPCI cards posts in this forum but none of them came to any conclusion so I have decided to start a new one with a comparison between RouterOS and OpenWrt regarding the issue.
OK. I have RB433ah (ROS v4.5) with R52n, two 8dBi 5GHz omnis and Lenovo’s T61p equipped with 4965agn. The link is through 2 walls and 10m distance.
I have had issues with getting this setup stable throughput ever since I had bought RB433ah with R52n. I had reset the wireless configuration as proposed in some other threads and rose hw retries to 8 if that’s important.
There are actually few problems:
I cannot get it to work with HT40[+/-] (tried many different channels) but Tx Rate information in “registration tab” is maxes at 117Mbps-HT which is HT20 rate
another issue is that I cannot get it to a stable throughput at HT20
Rx Rate maxes at 54Mbps (but that is probably Intel’s card limitation)
I have decided to do some testing and below I will share the results.
Tests were done using iperf in one direction with my laptop being a receiver and another PC wired to the RB433AH was sending data.
First test was done on OpenWrt. I was amazed and how well it performed and decided to compare it and share the tests with you.
To make the long story short with the latest OpenWrt trunk the link is perfectly stable but on RouterOS it has some periodic glitches and another discovery was that using OpenWrt I could use HT40+ while I couldn’t get it to work on RouterOS at all. There was no distance nor devices positions change between the test.
It’s not intended a “blame that bad RouterOS” thread. I would like to help you get it fixed as it’s possible regarding the later evidence. I will post the results in separate messages as they are lengthy.
piter@laptop:~$ iwconfig wlan0
wlan0 IEEE 802.11abgn ESSID:"piter-n"
Mode:Managed Frequency:5.18 GHz Access Point: 00:0C:42:3A:EF:90
Bit Rate=54 Mb/s Tx-Power=14 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Power Management:off
Link Quality=60/100 Signal level:-68 dBm Noise level=-92 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
At RB433 side I see:
Tx Rates between 6Mbps and 117Mbps-HT but most of the time between 52Mbps-HT and 104Mbps-HT
Rx Rates mostly 54Mbps sometimes drops to 36Mbps
Tx/Rx CCQ most of the time between 70 and 80 but sometimes goes down to 10-20 (quite regularly as will be shown further down)
Signal strength is around -70dBm
Here’s what I run on the laptop:
iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.2.9 port 5001 connected with 192.168.2.2 port 39940
[ 4] 0.0-600.1 sec 2.17 GBytes 31.0 Mbits/sec
and here’s what I run and see on the wired PC (lengthy, checkout the bold ones and count the period between them):
piter@htpc:~$ iperf -c 192.168.2.9 -t 600 -i 2
Client connecting to 192.168.2.9, TCP port 5001
TCP window size: 16.0 KByte (default)
In the above results I have cut out the periods where the bandwidth is stable (fluctuations less than +/- 20%).
What is common between above results is that every 120s there is a problem with throughput going down but it takes 2s for OpenWrt to recover it and between 12 and 18 for RouterOS.
For me it seems that the issue is with rate control. As far as I have seen OpenWrt is using ath9k driver with ath_rate_minstrel rate control.
And here are OpenWrt results. I have tried to post it earlier but it was probably not posted right so I am posting it again.
Here is what I see at my laptop:
wlan0 IEEE 802.11abgn ESSID:"OpenWrt"
Mode:Managed Frequency:5.18 GHz Access Point: 00:0C:42:3A:EF:90
Bit Rate=54 Mb/s Tx-Power=14 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Power Management:off
Link Quality=55/100 Signal level:-70 dBm Noise level=-92 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
At OpenWrt side I see:
Tx Rates going up to 243Mbps
Rx Rates mostly 54Mbps sometimes drops to 36Mbps
Here’s what I run on the laptop:
iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.2.9 port 5001 connected with 192.168.2.2 port 52049
[ 5] 0.0-600.0 sec 2.76 GBytes 39.5 Mbits/sec
and here’s what I run and see on the wired PC (checkout the bold ones and count the period between them):
iperf -c 192.168.2.9 -t 600 -i 2
Client connecting to 192.168.2.9, TCP port 5001
TCP window size: 16.0 KByte (default)
Hi,
yes I have both chains enabled for Tx/Rx (even without HT Extension Channel) but for 40MHz test I was using HT40+ meaning “above control” with 5180 control channel and no matter what I do I cannot get over 130Mbps-HT even if I move my laptop to LOS area although as I have stated earlier I can get 243Mbps without LOS in OpenWrt (exactly the same mechanical conditions) and 300Mbps with short GI in LOS conditions.
As a side note I have found the source of 120s periodical throughput issues (bold periods above). It is Network Manager combined with lack of background scan in older Linux kernels (2.6.28 atm) Every 120s NM scans for APs in the area. The interesting thing is though that OpenWrt recovers in 2s but RouterOS takes 12-18s. The rate control algorithm in ath9k in OpenWrt is probably a little bit more aggressive at using higher rates after bandwidth problems.
When I use iwconfig and wpa_supplicant for manual connection I don’t get these 120s periodic throughput lows but I cannot get over HT20 neither.