diff options
author | Reyk Floeter <reyk@cvs.openbsd.org> | 2007-10-12 15:34:12 +0000 |
---|---|---|
committer | Reyk Floeter <reyk@cvs.openbsd.org> | 2007-10-12 15:34:12 +0000 |
commit | 9a4cf8c7573bdb9fcde8278947550bab257493c7 (patch) | |
tree | f27b656a193134823475bf46b1fa9f5fbc9a7500 /sys/netinet6 | |
parent | aa75593762ed422d789d5ba858f0e58ac746e5bb (diff) |
The newer single chip Atheros wireless chipsets like the AR5424,
AR2423 etc. are mostly compatible to the AR5212 but use a different
algorithm to set the 2GHz RF channel, that's why they didn't work in
OpenBSD. I figured out that the channels were set with an offset,
setting channel 11 in the driver caused the hardware to set channel 5
etc. Because I didn't figure out the pattern to fix the algoritm yet,
I fixed it in a workaroundish way by defining a small "table" with
offsets for the 11b channels to get the right results. For example, if
we want to set channel 11 (2462MHz), we add an offset of -30MHz, and
feed the result (2432MHz ^= channel 5) into the unmodified
AR5212/AR5112 RF setup function.
Long description for a commit message, but it needed some time to
figure it out. It is still not perfect, needs some more work, and it
doesn't work in all cases; but it allows to use newer chipsets in 11b
mode restricted to 1 or to 2Mbit/s. 11a mode seems to work without
problems so far.
Diffstat (limited to 'sys/netinet6')
0 files changed, 0 insertions, 0 deletions