]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - sys/contrib/dev/ath/README
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / sys / contrib / dev / ath / README
1 $Id: //depot/sw/branches/sam_hal/README#2 $
2
3
4 Atheros Hardware Access Layer (HAL)
5 ===================================
6
7 * Copyright (c) 2002-2006 Sam Leffler.
8 * Copyright (c) 2002-2006 Atheros Communications, Inc.
9 * All rights reserved.
10
11 Read the file COPYRIGHT for the complete copyright.
12
13 This code manages much of the chip-specific operation of the Atheros
14 driver.  The HAL is provided in a binary-only form in order to
15 comply with local regulatory agency rules.  In the United States
16 the FCC requires that a radio transmitter only be operated at power
17 levels and on frequency channels for which it is approved.  The FCC
18 requires that a software-defined radio cannot be configured by a
19 user to operate outside the approved power levels and frequency
20 channels.  This makes it difficult to open-source code that enforces
21 limits on the power levels, frequency channels and other parameters
22 of the radio transmitter.  See
23
24 http://ftp.fcc.gov/Bureaus/Engineering_Technology/Orders/2001/fcc01264.pdf
25
26 for the specific FCC regulation.  Because the module is provided
27 in a binary-only form it is marked "Proprietary" on Linux; this
28 means when you load it you will see messages that your system is
29 now "tainted".
30
31 If you wish to use this driver on a platform for which an ath_hal
32 module is not already provided please contact the author.  Note that
33 this is only necessary for new _architectures_; the HAL is not tied to
34 any specific version of your operating system.
35
36
37 Atheros Hardware
38 ================
39 There are many generations of Atheros 802.11 wireless devices that
40 are typically referred to by their programming model:
41
42 5210    supports 11a only
43 5211    supports both 11a and 11b
44 5212    supports 11a, 11b, and 11g
45
46 These parts have been incorporated in a variety of retail products
47 including cardbus cards and mini-pci cards.  In addition many laptop
48 vendors use Atheros mini-pci cards for their builtin wireless
49 support.
50
51 The Atheors PCI vendor id is 0x168c.  The file ah_devid.h lists most
52 known PCI device id's but is not exhaustive.  Some vendors program
53 their own vendor and/or device id's to aid in BIOS-locking mini-pci
54 cards in laptops.
55
56 Atheros SoC Hardware
57 ====================
58 In addition to the cardbus/pci devices Atheros makes System on Chip
59 (SoC) parts that integrate a MIPS cpu core and one or more MAC and
60 radio parts.  Binary support for these parts is necessarily built
61 for the embedded MIPS processor where the code is to be run.
62
63 Caveats
64 =======
65 The binary hal builds provided here include no floating point and
66 are operating system-independent.  However due to toolchain
67 peculiarities the .o files may be wrongly rejected by development
68 tools.  If that happens it may be possible to patch the file header
69 so that the native toolchain will accept the files.  In particular
70 this has been observed for various Linux MIPS installations for the
71 SoC parts.  If you have issues consult the associated .inc file in
72 the public directory; it explains exactly how the binary file was
73 created (e.g. toolchain and compilation options).