Bug 169336

Summary: [ath] ANI isn't triggering in a busy/noisy environment
Product: Base System Reporter: Adrian Chadd <adrian>
Component: wirelessAssignee: Adrian Chadd <adrian>
Status: Open ---    
Severity: Affects Only Me    
Priority: Normal    
Version: 9.0-STABLE   
Hardware: Any   
OS: Any   

Description Adrian Chadd freebsd_committer 2012-06-23 01:50:07 UTC
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.

Fix: 

Not sure.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2012-06-23 04:53:01 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-wireless

Over to maintainer(s).
Comment 2 Eitan Adler freebsd_committer freebsd_triage 2018-05-28 19:50:17 UTC
batch change:

For bugs that match the following
-  Status Is In progress 
AND
- Untouched since 2018-01-01.
AND
- Affects Base System OR Documentation

DO:

Reset to open status.


Note:
I did a quick pass but if you are getting this email it might be worthwhile to double check to see if this bug ought to be closed.