>Number:         169336
>Category:       misc
>Synopsis:       [ath] ANI isn't triggering in a busy/noisy environment
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jun 23 00:50:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Adrian Chadd
>Release:        9.0-STABLE i386, with -HEAD net80211/ath
>Organization:
>Environment:
>Description:
I've noticed that ANI isn't triggering when in a noisy environment.

* The ANI poll is called every 1/10th of a second, which updates listenTime;
* However, since we're still doing things via the MIB interrupt (grr), it's 
triggering frequently upon a hardware counter (in this case, CCK)
* .. so I see upwards of 1600 CCK errors a second;
* .. but ar5416ProcessMibIntr() calculates cckPhyErrCount based on how many 
just overflowed, so it's seeing the 200 CCK errors that just occured, and 
that's not greater than cckTrigHigh;
* .. so it's never calling ar5416AniCckTrigger().
* Then, ar5416AniRestart() is called, which sets ofdm/cck error count and 
listentime to 0.

Now, because of all of this, the ANI code never seems to trigger on _enough_ of 
any kind of CCK errors.

It's also unclear how the math in ar5416AniPoll() should work. From what I can 
gather, listenTime is likely supposed to be a value out of 1000. listenTime 
just never gets that high at the moment, as it keeps being cleared by 
ar5416AniRestart() whenever the MIB event fires.

>How-To-Repeat:

>Fix:
Not sure.

>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to