Wifi throughput test issue (FreeBSD 8.2)
bschmidt at freebsd.org
Wed Nov 30 13:56:18 UTC 2011
On Wed, Nov 30, 2011 at 13:37, Viet-Ha Pham <hapvbk at yahoo.co.uk> wrote:
> 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.
> 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?
I think so, the driver might ignore/do some fancy stuff with a fixed ucastrate.
@Adrian, do you know if ath_rate_sample has some debug options in that regard?
> 3. What does the error/infor message on the transmitter mean?
It might mean a lot of things, you should probably enable additional
debug options to get a clue about what's going on. Btw, do you also
see that behavior on HEAD (or at least the latest 9.x release/rc)?
More information about the freebsd-net