Wifi throughput test issue (FreeBSD 8.2)

Hello,

I looked for the same topic in this forum but I did not find any. So I create a new topic and hopefully it helps me to find the answer for my problem.

I am doing some throughput measurement for Wifi network. I am using jperf/iperf to generate traffic (at the transmitter) and then 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 the limit). At first, at the receiver (AP) the measured throughput is about 12 Mbps. 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 is a 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: an 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 mode a and g. The same thing is observed the unicast rate at the receiver is set different from the unicast rate at the transmitter.

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 questions are:
  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
 
There aren't a lot of developers on this board. I suggest posting your question on the freebsd-net@ mailinglist.
 
Back
Top