少尉
- 注册时间
- 2008-12-21
- 金币
- 210 个
- 威望
- 1 个
- 荣誉
- 0 个
尚未签到
|
ATHEROS AR5B91 驱动 for linux * X# t3 Y# ]1 Z9 r3 O% H# n% y* g
: a `# @& N; g6 t
有需要的拿去吧。
2 |2 p2 [7 z* e4 x% X' p
$ \' x( i& W' N& v1 M1 i8 [) N) b4 ~/ x% d( N
有哪位大哥可以说明一下这个驱动在BT3下怎么用呢
1 z, V7 l) T) }( j3 i2 X' W
{! U9 F, N! r& L9 f驱动里面的安装说明没看懂。# O: e$ J( }# @* `
以下是驱动内带的安装说明:( y. Z) ^9 A O
MADWIFI: Multimode Atheros Driver for WiFi on Linux (VAP branch)
1 {5 {% d B* N8 N' O================================================================; z/ z7 [: ] B" ~7 ~# K
" p7 \4 y9 N) ^ `0 S- R; J* Copyright (c) 2002-2005 Sam Leffler. All rights reserved.. i5 h3 m9 L8 Y& X. a
7 w6 l8 M# m5 R S, p, i$ z
Read the file COPYRIGHT for the complete copyright.
! }% } D3 w2 V$ Q% L7 f
- I/ Q% [8 f# A2 p- X% ~1 j$ b
9 Z5 r/ w0 @# a E! V1 k% }* y* LRequirements
; z6 o4 c8 K. X# w @5 h% ^1 B O------------" q( ~ G2 Q& I0 A3 l, N! U' Y
4 Z( t; i4 r: x/ X- Configured kernel sources of the target kernel. Some Linux
0 F% C2 X) g8 O* o distributions provide headers, makefiles and configuration data - it
; g' C" x+ Y8 @* B& n; k should suffice.
% V% O- q1 K0 i E8 ^ X$ Z3 l1 R
/ S4 @6 E+ ?* N- x# V- Wireless Extensions support (14 or later, 17 preferred) - option
6 t z! i9 N& @% P' T4 i1 L7 S CONFIG_NET_RADIO in kernel .config file." X# s8 W+ X7 X8 a3 F
. G0 h% A3 O* i3 g: `# A6 c
- Sysctl support - option CONFIG_SYSCTL in kernel .config file.
. M6 B3 d& A/ `' A5 P5 L% a8 E& U+ G1 r: u7 U" }8 \) I" b
- Crypto API support - option CONFIG_CRYPTO in kernel .config file (AES2 i9 L. a, F1 n. X
support is used if present, otherwise the AES-CCMP cipher module falls0 S7 b: r7 t' E& s* W1 F8 U
back to a private implementation).2 z0 V& }# U% a( }
0 r. k$ L# k; s7 l
- gcc of same version that was used to compile the kernel. At least
4 m1 ?! M( k i9 f5 v make sure that the first two version numbers or the compiler are the7 j* l$ ?9 }5 P* \) `
same (e.g. it's OK to use gcc 3.4.6 to compile MadWifi if the kernel9 m7 {0 }$ ~3 X& s
was compiled by gcc 3.4.2). Ignoring this rule will cause "Invalid
3 T# m F/ {, V8 n* k* r module format" errors during module load.
9 {4 ]" U6 B1 C7 ^1 N0 |0 ]6 R
7 w: Q4 I) i' y0 M6 v$ }Linux 2.4.x kernels starting with 2.4.22 and 2.6 kernels should work) u. h" @' h% n o* _. Y1 @% Q
without problems. Due to quick pace of Linux development, there is no
/ n# X3 d% x1 j7 tway compatibility with the future 2.6 kernels can be ensured. However,! l4 v% R ]$ O8 w9 L
the latest 2.6 kernel at the time of the release should be expected to
& j, C7 n$ a# l# j4 Y1 \+ V8 o) g7 s3 Qwork.1 l# ^, B' ]' `# B* t# F# t
7 Q) t0 E4 J, _# p8 p" PAutomatic module loading support (CONFIG_KMOD) is recommended; otherwise, 8 J2 [9 Z6 g4 g1 S" ?$ ^$ a
care will have to be taken to manually load needed modules. n5 Z. @- m. `5 t' {, E2 G) s
; `0 z; a# O0 ?, ~& cBuilding the driver
% A) F ~' a7 d* c( i-------------------
9 D$ `& i( ]; `6 a( X% B1 c" f- f2 {5 j
! R! O( z( o' H4 f" ?The driver is built using the Linux kernel build mechanism. This means
/ i( v4 m4 B, Q/ o2 S; E9 Q" U, Hyou must have some part of the kernel source distribution installed on
- m3 G' }" n0 k9 I+ Q6 a' |7 kthe machine where you want to build the driver. In particular, the
, ^+ P7 @- n( m0 A1 ^5 Mkernel include files, makefiles, build scripts and configuration must be
( f/ y+ Q$ {/ N2 w2 J+ z4 xavailable.% T: i) n7 @/ Z% A$ z9 Q
6 Y. k$ |# a$ w) a
This will be present if you built your kernel from source. Otherwise% I/ M6 k5 G( M+ q
you may need to install an additional kernel development package from
7 h( `2 Z9 W2 L e: Oyour distribution that would match your kernel. For example, the
1 M4 j r2 W3 `development package for the default kernel is called linux-headers on0 u& T }8 h7 P9 P; I
Debian and kernel-devel on Fedora Core. Installing a package with full
9 w6 q2 L9 o: O: U0 \0 }( Gkernel sources should not be generally necessary.
& |* u, ~/ |3 n; z+ U1 p# q7 c B2 X* {. n- i, V' [7 p
Note: in the following examples "$" stands for your system prompt;& l/ O; p# M5 Q' S" u/ u e6 }& e4 M# d" v
you're not expected to type that as part of the actual command. "#"
0 N) ^8 Z% m3 ]' r) j+ Q4 j9 Bstands for the command prompt when the commands must be executed by
6 O* Y" @- r- n+ Rroot./ k5 I; D9 a I+ i7 L
5 W! i! @1 I4 ^9 Y1 x* rMost people can just type:: P, u; W7 d8 |: k: F
3 R) D3 m5 u# n# }: Q* ]' I
$ make
) O4 d' U0 g0 ^4 k: x- M' y; y7 \! R
9 S; L: n- N% }0 S1 e9 din the top-level MadWifi source directory to build all the modules for
& H+ {' p/ {4 uthe currently running system.7 R; L0 |0 u$ v( N1 ^
& G! x" |* S5 T9 xYou MUST do a "make clean" before compiling for a different version of M, @, i8 `% U4 v; d |. U0 j1 C
Linux, e.g. building for 2.6 after building for 2.4.( ?5 P9 i3 p! z
8 I9 \; t2 D8 k# W7 _If you want to compile MadWifi for a different kernel, you need to3 F$ C) f9 W2 l! `# J
specify the location of the kernel build tree, e.g.:' W2 \ U5 G9 W W' X
9 T# F& ^- Z( B+ a5 {/ M1 F
$ make KERNELPATH=/usr/src/linux-2.6.3" S$ ^2 w4 x1 [: W- q
) B R& D# {: ]3 o9 m5 j* M0 q3 V
Note that you can also specify this path by setting an environment; Z4 ^* X7 V9 R# t2 [2 n" p
variable; e.g./ p+ j# b$ s6 R! }5 p4 T# X5 j2 Z
' b R. F) k4 J0 v" z! E+ ^ $ export KERNELPATH=/usr/src/linux-2.6.31 a! R X3 b: l! u( v! V. i! U' n
$ make& ~, t( p4 b# V7 N
5 o* m3 T! A3 C) k" _- R7 CIf the kernel was built outside the source directory, KERNELPATH should/ v% [9 `4 O9 a, v, M1 P) P; ]
point to the output directory where .config is located, not to the7 @, l% z4 x1 E6 s& h$ s( E# ^
sources.
- c3 q/ L+ ?0 |! M: Q1 W0 v( l' c9 f9 ?& B
MadWifi currently provides four different rate control algorithms,
+ p, Y6 |8 s wONOE, AMRR, SAMPLE and MINSTREL. SAMPLE and MINSTREL are both very9 H, [) `' N$ B b
advanced, but MINSTREL is quite new. Consequently, SAMPLE is used by
: ^; M' [7 k& ]) Wdefault. In order to make MadWifi use e.g. AMRR instead, you have to' x* ]" F3 l! I
specify that as the module parameter e.g.8 E7 M0 S+ _/ B8 X; z/ Q% |" v. w
p. _. m6 C: F) e R) B # modprobe ath_pci ratectl=amrr, i, @0 d8 [5 @2 C- c2 _
: C. G2 k2 @& U/ w* u
NOTE: Changing the rate control is only required (and recommended) for
$ o: I: w. E; [( Q) X; V! O users who want to setup an access point using MadWifi in difficult
* H9 j, k0 X1 |% h) S* D4 n (e.g. lossy) environments and who know what they are doing.
' N H. \. {+ r" E" t, y+ t! C2 h" ~/ `7 P" }# {& k
This distribution includes support for a variety of target platforms.$ x: Y3 L+ _3 d- ^) G4 w1 T4 ^
Because of the binary nature of the HAL not all platforms are supported* x+ l3 G7 K" E8 O$ S
(the list grows as time permits). The supported target platforms can be, q* [" ~1 D' A5 {( y7 P
found with:
8 r: X0 {6 j4 m# G+ I {6 e7 C/ z2 a$ M% {+ }2 Z3 F1 @+ d4 K
$ ls hal/public/*.inc7 \4 U6 m1 t& G7 f# V1 x
$ R$ N$ B+ W$ I! W5 O8 y6 Q F, g# S5 kA target specifies the CPU architecture, byte order (unless implied by
% L6 N# n; b; @. d) mthe CPU), and the ABI/file format. For most popular platforms, the4 c! {& e3 V1 A( h9 }
build system will find the appropriate files. When cross-compiling or
# k2 W4 S4 P9 Y3 vcompiling for less common platforms, the target platform may need to be
( K+ H$ v+ Y0 F$ I, N3 Aspecified using the TARGET variable, e.g:, K7 G8 `; L5 F) u/ S6 W8 u: u
: w) [$ i, ]) m) v$ ^
$ make TARGET=armv4-le-elf9 }% F8 O/ X1 E; T- e! e
" D6 f+ O, ^& GConsult the contents of the .inc file to find out what the target0 W2 S7 u$ B$ I' E
platform is and what toolchain was used to build the HAL object module. & K1 y9 D/ j* |8 r6 t* o
Beware of mixing toolchains; some target platforms require that the HAL* o6 G% K4 C9 R) _" A5 z7 O7 g! R
and driver be built with the same toolchain (i.e. compiler, assembler,4 f; g9 l+ u; V* g
and linker) and the same compiler flags. If you get warnings about
* i# e. V; d$ j* pincompatible compiler flags, chances are that you are compiling for a/ d$ A6 l6 o7 h6 X0 _8 U8 u: R: S: h
wrong target or using an incompatible compiler.
8 e) `# c( k" _7 j2 X/ ^" i% M0 Q& }3 F! U7 I( a" R
7 W% P/ E5 R+ B! |+ s( M# YCross-compiling& b- X' k( R2 `) q
---------------5 E& r7 J. l0 v8 x6 u
- v; y l3 g) R$ \9 S
The build system is designed to support cross-compiling without any
" d1 |& ^1 L: K; r) Q. d4 f+ `0 G1 Kmodification to the distribution files. It should be sufficient to
6 J5 D/ \- [8 u) rspecify any parameters on the make command line.2 T7 Z* y0 O' E! Z% |! I
( ]2 P7 |- L7 y5 h+ ^
In most cases, only KERNELPATH and CROSS_COMPILE need to be defined.
, M6 d) K; [1 X/ m) GCROSS_COMPILE is the prefix for cross-compiling tools. For instance, if
3 V. A9 x6 y4 Tthe cross compiler is called arm-linux-gcc, set CROSS_COMPILE to8 v( u; g" N% Q+ ^: ]
"arm-linux-":0 W9 e- S$ B% p
1 j9 f" _1 J% f/ n7 E% K $ make KERNELPATH=/usr/src/linux-arm CROSS_COMPILE=arm-linux-( `5 C3 b4 }2 F# N- _# P
" s4 v5 c, X- L3 Q( X4 V
The build system determines ARCH and TARGET based on the .config file in: M3 L0 O! Y4 {: ^: b: A8 h: ]
the Linux build tree. TARGET still may need to be provided on the( T0 `$ H/ Q, O x" |6 b
command line some uncommon systems. If ARCH is determined incorrectly,8 k; u* F. A! W7 l0 m
please report it.
; c' c- M5 N3 C: b, f q& r# M4 k3 }6 p# D; K
+ x5 K7 B' _' ALoading the modules
; u- a7 Q8 z0 ?/ Y9 W-------------------# M5 m9 O) [& k3 Y: ]% N) p
4 E) B) R' y! ^# h, `) O/ @
Building the software will generate numerous loadable modules:
8 F8 ?& H! p6 K$ h% ~$ I5 }- U
; ?, l9 \; m+ _ ath_pci Atheros driver for PCI/Cardbus devices8 d' n; q" ?, D8 ^- ]: E- P
ath_hal Atheros HAL
, b% K/ h# d3 \0 h0 \4 C8 B. j* @( B wlan 802.11 support layer
/ C' {' z% w: X `4 y, O" T! H. C wlan_wep WEP cipher support
4 G. ^$ Z8 X8 k/ [( s# i" D! ~( _: f wlan_tkip TKIP cipher support
9 d' U2 S) v. m wlan_ccmp AES-CCMP cipher support
7 ~: y- H4 f0 ^( g. C* g wlan_xauth external authenticator
: H, ? P: }, o( o% g wlan_acl MAC ACL support for AP operation
( e2 v3 U1 Y7 S& @ wlan_scan_ap AP scanning support
$ p }8 s3 o" F& k6 h+ K wlan_scan_sta station scanning support
& u1 x- n8 B. \9 w1 D ath_rate_onoe ONOE rate control
; {) l/ s) M, S! t* ?) Q0 g ath_rate_amrr AMRR rate control$ ^8 p$ Y5 o0 D. D6 b) E) }
ath_rate_sample SAMPLE rate control+ Z# J- r/ k# x" _' S# M$ M# ]$ c. {
7 K4 v" w, `( L3 g5 ]
The ath_pci module must be loaded either manually or by the system, e.g.4 W) F8 T- R' x1 n n1 U2 _, y' f
through the hotplug or card manager support. The remaining modules are
9 _* n+ v# ?) F o. hloaded automatically as needed, so after doing a "make install" you only
9 x$ z; d1 h. {: \need to run following:; y3 @$ k% S% E6 E5 l% Y
1 L _8 I: Y$ b- f) H
# modprobe ath_pci
( A7 x! E& B: V0 w) s1 V& j& X
6 O3 ^! h9 V9 Z% mFor automatic module loading you may need to modify your system's% v- ]8 c" F. w# G. R0 r8 H
configuration files so the necessary modules are loaded when an Atheros. {9 O5 ` Z( F. M
device is recognized. The exact procedure varies from system to system.2 K0 q5 M" A8 L5 \
; X$ h3 A1 Z1 I2 q2 ?, CThere are module parameters available to fit your needs, e.g. you can
' v- \+ G& u- J/ m' K+ Z" R9 hset the countrycode manually if your card's EEPROM does not contain the
* h' |( Q8 e; | n# Z1 }correct one for your location. See/ Q5 }2 y8 d5 f" x
http://www.unicode.org/onlinedat/countries.html to find your code.
R, {! v' \: d( F
' H1 d$ ]2 L) c: ^4 P# aTo activate German frequencies you would specify:; Q3 G$ Q0 `5 @* O$ n$ o, S
5 [: o3 z" m9 C5 @! ?
# modprobe ath_pci countrycode=2768 f+ f$ P( y8 @
/ V5 S. o- Y$ C' T% fTo see all available module parameters type:9 Q7 i; y: ^2 L% P+ E( |8 `
* F$ u2 C. i7 B2 C
$ modinfo ath_pci5 Y/ N m9 O" U
0 C5 b8 M- U$ r
0 W7 B) M/ Q- X% A. B, A( MIntegrating into the kernel sources
; J p& K7 r s+ |% ^-----------------------------------; h$ Y* s( S- [& ?8 J
* j2 X* n; w4 d; E8 Z0 ]: c5 GIt is also possible to patch Linux kernel sources to integrate MadWifi
r2 w7 m5 Q" t' h$ {directly into the kernel tree. This allows building MadWifi as part of: ^8 `) t o7 B$ ?" g! U
the kernel. This could be useful for embedded systems that don't* V2 C5 V3 \ J6 c" Z& p
support loadable modules. Please refer to patches/README for details./ R4 o; G M% d U% B' a* M, E( E
0 j. |. V ^, D, M) U) ~3 q! A9 |& H% C; l6 n
Further information
5 z3 o2 b# Q% v: Q4 ~: S-------------------- R& Y$ ]: i% X9 Z B( m1 ^
+ P9 ?' l. J5 }1 D) X( E
Further information on how to work with the driver can be found in the
5 X; ^" e7 w9 y$ U ^5 z+ M( zfile README. In addition, the project's wiki has a lot of valuable
+ q6 |0 C# l" {information:; _& d+ S6 {9 N3 Q s
+ ^4 @) M& `( h6 |7 _
http://madwifi.org/ |
|