Wifi througput test issue

Viet-Ha Pham hapvbk at yahoo.co.uk
Thu Dec 1 07:15:59 UTC 2011


I have posted this to freebsd-net mailing list. I repost it here. Thanks for your attention. 


===============================
Hello,


I am doing some throughput measurement for Wifi network. I am using jperf/iperf to generate traffic (at the transmitter) and measure the throughput (at the receiver). The transmitter and receiver are running FreeBSD 8.2, using CM9-GP as the Wifi NIC. We are testing AWGN channel. So, the transmitter and receiver are connected by cables, txpower on both sides is set lower than the max (ranging from 0 to 10), AWGN noise is injected in the middle of the cable. 

We measure the maximum throughput at each transmission rate. Transmitter is a STA, receiver is an AP. We fix the unicast rate at the transmitter to 54 Mbps (using "ifconfig ... ucastrate" command). The packet size is set to 400 Bytes, UDP protocol is used and the transmit bandwidth is set to 30 Mbps in order to flood the transmission channel (to push it to its limit). At first, at the receiver (AP) the measured throughput is about 12 Mbps. Then I fix the unicast rate at the receiver (using ifconfig again) to 54 Mbps. The measured throughput increases to 20 Mbps. I set the unicast rate at the receiver to autoselect again, the throughput is still 20 Mbps. 

When I switch the rate at the receiver, there are multiple message displayed on the screen of the transmitter: "wlan0: ieee80211_new_state_locked: pending RUN -> AUTH transition lost". This message is repeated for many times (at least 20). 

I repeated the test with all transmission rates, change the packet size and still observe the same thing: a throughput improvement of about 30% is observed when I switch the unicast rate at the receiver and the improvement is still there when I switch the unicast rate back to autoselect. The same thing is observed in modes a and g. The same thing is observed if the unicast rate at the receiver is set different from the unicast rate at the transmitter. 

This issue happened even when no noise is added. The objective of this test is to measure the maximum throughput at each noise level for each transmission rate. So we fix the rate, vary the noise and repeat the procedure for all transmission rates. 


I spent time to look at the kernel source codes but I did not find a solid answer for this. Please help me to identify the problem and the answer. 


My question is: 

1. Why do I have that throughput improvement when I switch the rate like that? 

2. Is it a bug in the driver? 

3. What does the error/infor message on the transmitter mean? 



Thank you so much. 


HAPV 


More information about the freebsd-wireless mailing list