mirror of
https://github.com/proski/madwifi
synced 2024-11-22 14:31:22 +03:00
74 lines
3.0 KiB
Plaintext
74 lines
3.0 KiB
Plaintext
|
$Id: //depot/sw/branches/sam_hal/README#2 $
|
||
|
|
||
|
|
||
|
Atheros Hardware Access Layer (HAL)
|
||
|
===================================
|
||
|
|
||
|
* Copyright (c) 2002-2006 Sam Leffler.
|
||
|
* Copyright (c) 2002-2006 Atheros Communications, Inc.
|
||
|
* 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).
|