2009-04-07 05:26:53 +04:00
|
|
|
$Id: //depot/sw/branches/sam_hal/README#3 $
|
2007-10-04 17:07:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
Atheros Hardware Access Layer (HAL)
|
|
|
|
===================================
|
|
|
|
|
2009-04-07 05:26:53 +04:00
|
|
|
* Copyright (c) 2002-2008 Sam Leffler.
|
|
|
|
* Copyright (c) 2002-2008 Atheros Communications, Inc.
|
2007-10-04 17:07:51 +04:00
|
|
|
* All rights reserved.
|
|
|
|
|
|
|
|
Read the file COPYRIGHT for the complete copyright.
|
|
|
|
|
|
|
|
This code manages much of the chip-specific operation of the Atheros
|
|
|
|
driver. The HAL is provided in a binary-only form in order to
|
|
|
|
comply with local regulatory agency rules. In the United States
|
|
|
|
the FCC requires that a radio transmitter only be operated at power
|
|
|
|
levels and on frequency channels for which it is approved. The FCC
|
|
|
|
requires that a software-defined radio cannot be configured by a
|
|
|
|
user to operate outside the approved power levels and frequency
|
|
|
|
channels. This makes it difficult to open-source code that enforces
|
|
|
|
limits on the power levels, frequency channels and other parameters
|
|
|
|
of the radio transmitter. See
|
|
|
|
|
|
|
|
http://ftp.fcc.gov/Bureaus/Engineering_Technology/Orders/2001/fcc01264.pdf
|
|
|
|
|
|
|
|
for the specific FCC regulation. Because the module is provided
|
|
|
|
in a binary-only form it is marked "Proprietary" on Linux; this
|
|
|
|
means when you load it you will see messages that your system is
|
|
|
|
now "tainted".
|
|
|
|
|
|
|
|
If you wish to use this driver on a platform for which an ath_hal
|
|
|
|
module is not already provided please contact the author. Note that
|
|
|
|
this is only necessary for new _architectures_; the HAL is not tied to
|
|
|
|
any specific version of your operating system.
|
|
|
|
|
|
|
|
|
|
|
|
Atheros Hardware
|
|
|
|
================
|
|
|
|
There are many generations of Atheros 802.11 wireless devices that
|
|
|
|
are typically referred to by their programming model:
|
|
|
|
|
|
|
|
5210 supports 11a only
|
|
|
|
5211 supports both 11a and 11b
|
|
|
|
5212 supports 11a, 11b, and 11g
|
|
|
|
|
|
|
|
These parts have been incorporated in a variety of retail products
|
|
|
|
including cardbus cards and mini-pci cards. In addition many laptop
|
|
|
|
vendors use Atheros mini-pci cards for their builtin wireless
|
|
|
|
support.
|
|
|
|
|
|
|
|
The Atheors PCI vendor id is 0x168c. The file ah_devid.h lists most
|
|
|
|
known PCI device id's but is not exhaustive. Some vendors program
|
|
|
|
their own vendor and/or device id's to aid in BIOS-locking mini-pci
|
|
|
|
cards in laptops.
|
|
|
|
|
|
|
|
Atheros SoC Hardware
|
|
|
|
====================
|
|
|
|
In addition to the cardbus/pci devices Atheros makes System on Chip
|
|
|
|
(SoC) parts that integrate a MIPS cpu core and one or more MAC and
|
|
|
|
radio parts. Binary support for these parts is necessarily built
|
|
|
|
for the embedded MIPS processor where the code is to be run.
|
|
|
|
|
|
|
|
Caveats
|
|
|
|
=======
|
|
|
|
The binary hal builds provided here include no floating point and
|
|
|
|
are operating system-independent. However due to toolchain
|
|
|
|
peculiarities the .o files may be wrongly rejected by development
|
|
|
|
tools. If that happens it may be possible to patch the file header
|
|
|
|
so that the native toolchain will accept the files. In particular
|
|
|
|
this has been observed for various Linux MIPS installations for the
|
|
|
|
SoC parts. If you have issues consult the associated .inc file in
|
|
|
|
the public directory; it explains exactly how the binary file was
|
|
|
|
created (e.g. toolchain and compilation options).
|