mirror of
https://github.com/opnsense/src.git
synced 2026-02-25 19:05:20 -05: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
|
||
|---|---|---|
| .. | ||
| ar5k_0007.ini | ||
| ar5210.h | ||
| ar5210_attach.c | ||
| ar5210_beacon.c | ||
| ar5210_interrupts.c | ||
| ar5210_keycache.c | ||
| ar5210_misc.c | ||
| ar5210_phy.c | ||
| ar5210_power.c | ||
| ar5210_recv.c | ||
| ar5210_reset.c | ||
| ar5210_xmit.c | ||
| ar5210desc.h | ||
| ar5210phy.h | ||
| ar5210reg.h | ||