Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Apr 2011 00:25:25 +0200
From:      Petar Bogdanovic <petar@smokva.net>
To:        freebsd-wireless@freebsd.org
Subject:   ath: tx-rate stops adapting after a while
Message-ID:  <20110421222524.GA5730@pintail.smokva.net>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110421222524.GA5730>