CVSROOT: /cvs
Module name: src
Changes by: reyk@cvs.openbsd.org 2007/10/12 09:34:11
Modified files:
sys/dev/ic : ar5xxx.c ar5xxx.h
Log message:
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.