mirror of
https://github.com/opnsense/src.git
synced 2026-03-18 16:52:21 -04:00
One of the fun issues with scanning has been how the existing
ANI values were programmed into the hardware when channels were
changed. If you're on a really crappy channel and ANI has made
you deaf then when you scan you continue to be deaf on all channels.
This code passes in a flag to startpcureceive which in AR5416 and later
is also used to enable ANI. This allows it to know if it's a normal
operation or a scan operation.
This fixes my situation at home where a temporary spot of a device
going deaf due to interference starts scanning and .. can't hear
anything until I restart.
Now, this isn't the full fix - ideally:
(a) all the ANI config and per-channel information would be migrated
to the shared HAL stuff and enabled for all of the NICs;
(b) when a station reassociates and some other error conditions
(like missed beacons, NF calibration failures, etc) a knob
to reset ANI parameters would likely help recovery.
But hey, I'm committing bits of code again! woo!
Tested:
* AR9344 (2G), STA operation
|
||
|---|---|---|
| .. | ||
| ar2133.c | ||
| ar5416.h | ||
| ar5416.ini | ||
| ar5416_ani.c | ||
| ar5416_attach.c | ||
| ar5416_beacon.c | ||
| ar5416_btcoex.c | ||
| ar5416_btcoex.h | ||
| ar5416_cal.c | ||
| ar5416_cal.h | ||
| ar5416_cal_adcdc.c | ||
| ar5416_cal_adcgain.c | ||
| ar5416_cal_iq.c | ||
| ar5416_eeprom.c | ||
| ar5416_gpio.c | ||
| ar5416_interrupts.c | ||
| ar5416_keycache.c | ||
| ar5416_misc.c | ||
| ar5416_phy.c | ||
| ar5416_power.c | ||
| ar5416_radar.c | ||
| ar5416_recv.c | ||
| ar5416_reset.c | ||
| ar5416_spectral.c | ||
| ar5416_xmit.c | ||
| ar5416desc.h | ||
| ar5416phy.h | ||
| ar5416reg.h | ||