ath: tx-rate stops adapting after a while
Petar Bogdanovic
petar at smokva.net
Thu Apr 21 22:40:29 UTC 2011
Hi,
I'm running FreeBSD 8.1-RC2 on an ALIX board equipped with a Wistron CM9
minipci card. The box works pretty well but has some troubles with the
only NetBSD 5.1 station in this network: After a while, it simply stops
adapting the tx-rate to the particular station and locks it at 11M/DS11.
After that it doesn't move, even though the rssi value would suggest
something else than just DS11. The other stations do not experience
anything similar:
$ ifconfig wlan0 list sta
ADDR AID CHAN RATE RSSI IDLE TXSEQ RXSEQ CAPS FLAG
00:0b:.....NETBSD 1 10 11M 26.0 0 12211 4288 EPS AE RSN
58:b0:.......OSX1 2 10 54M 38.5 0 27905 63648 EPS AQE RSN WME
00:1e:.......OSX2 3 10 48M 18.0 0 44010 39184 EPS AQE RSN WME
The following is an `athstats 1' while a non-wireless host (directly
connected to the FreeBSD AP) sends some large file to the NetBSD
station. The other stations are pretty much idle:
$ athstats 1
input output altrate short long xretry crcerr crypt phyerr rssi rate
16349756 10789585 3491 0 498955 1365 102311 1 711 54 11M
459 634 0 0 30 0 2 0 0 53 11M
452 662 0 0 30 0 1 0 0 59 11M
448 646 1 0 34 0 4 0 0 53 11M
448 631 0 0 33 0 4 0 0 53 11M
459 671 0 0 18 0 3 0 0 49 11M
452 659 0 0 27 0 2 0 0 52 11M
451 660 0 0 22 0 2 0 0 50 11M
451 660 0 0 29 0 0 0 0 50 11M
451 658 0 0 35 0 0 0 0 51 11M
449 646 0 0 28 0 0 0 0 50 11M
458 661 0 0 27 0 0 0 0 52 11M
462 671 0 0 18 0 1 0 0 52 11M
456 640 0 0 29 0 0 0 0 52 11M
457 666 0 0 22 0 3 0 0 54 11M
468 654 0 0 28 0 1 0 0 53 11M
444 649 0 0 28 0 1 0 0 55 11M
458 647 0 0 25 0 3 0 0 54 11M
450 659 0 0 29 0 4 0 0 55 11M
456 646 0 0 27 0 9 0 0 57 11M
456 649 0 0 32 0 5 0 0 49 11M
The only way to revive the old behaviour is through restarting hostapd
(which probably re-initializes the card). As soon as I do this, I get
OFDM54 and about 3.2MB/s for another hour or two..
Also interesting is, that this only affects the throughput [FreeBSD] ->
[NetBSD]---the other way around is normal, the tx-rate of the NetBSD ath
driver switches happily between OFDM48 and OFDM54.
Any ideas, hints or help are highly appreciated..
Thanks,
Petar Bogdanovic
P.S. athstats:
16671439 data frames received
11252111 data frames transmit
3526 tx frames with an alternate rate
519412 long on-chip tx retries
1374 tx failed 'cuz too many retries
24M current transmit rate
98635 tx stopped 'cuz no xmit buffer
3 tx failed 'cuz dma buffer allocation failed
1646 tx frames with no ack marked
11249490 tx frames with short preamble
103832 rx failed 'cuz of bad CRC
1 rx failed 'cuz decryption
730 rx failed 'cuz of PHY err
29 OFDM restart
701 CCK restart
125105 beacons transmitted
2041 periodic calibrations
3 rfgain value change
-0/+0 TDMA slot adjust (usecs, smoothed)
54 rssi of last ack
55 avg recv rssi
-96 rx noise floor
976 tx frames through raw api
3 raw tx failed 'cuz interface/hw down
195 cabq frames transmitted
37 cabq xmit overflowed beacon interval
46875 switched default/rx antenna
Antenna profile:
[1] tx 3138866 rx 4553641
[2] tx 8111869 rx 12117798
More information about the freebsd-wireless
mailing list