mirror of
https://github.com/opnsense/src.git
synced 2026-03-13 14:12:38 -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
|
||
|---|---|---|
| .. | ||
| ah_regdomain | ||
| ar5210 | ||
| ar5211 | ||
| ar5212 | ||
| ar5312 | ||
| ar5416 | ||
| ar9001 | ||
| ar9002 | ||
| ar9003 | ||
| ah.c | ||
| ah.h | ||
| ah_btcoex.h | ||
| ah_debug.h | ||
| ah_decode.h | ||
| ah_desc.h | ||
| ah_devid.h | ||
| ah_diagcodes.h | ||
| ah_eeprom.h | ||
| ah_eeprom_9287.c | ||
| ah_eeprom_9287.h | ||
| ah_eeprom_v1.c | ||
| ah_eeprom_v1.h | ||
| ah_eeprom_v3.c | ||
| ah_eeprom_v3.h | ||
| ah_eeprom_v4k.c | ||
| ah_eeprom_v4k.h | ||
| ah_eeprom_v14.c | ||
| ah_eeprom_v14.h | ||
| ah_internal.h | ||
| ah_regdomain.c | ||
| ah_regdomain.h | ||
| ah_soc.h | ||