OpenHAL

This term refers to code that aims to replace the proprietary, closed-source HAL. The code is based on ar5k, part of OpenBSD's 'ath' driver for Atheros wireless cards. ar5k is the component of th driver that talks directly to the hardware, it was produced thanks to reverse engineering efforts done by Reyk Floeter. It's an important asset on the way towards a free (as in freedom) driver for Atheros devices.

Hardware Support

OpenHAL has been tested with the following chip combinations:

MAC/PHY chips

AR5213 + RF5111 (Wistron CM6)

AR5213 + RF5112a (Wistron CM9)

AR5211 + RF5111 (Toshiba/Askey)

Single Chip solutions

RF5413 (EnGenius EMP-8602 (400mw) or Compex WLM54AG)

( For more infos check out Chipsets )

They all seem to work fine except 5211 which has trouble working as an AP (probably during faulty tx power setting). Also 5413 had poor signal quality in comparison to binary HAL. We also got reports of 5424 non-working (droping packets etc) at all so in ath5k it's disabled by default.

Also newer 5007* series and 5008* are known not to work yet.

Legal Status

Claims that the OpenBSD ar5k code (and thus also OpenHAL) contains code said to be copied without authorization loomed throughout the Internet since about summer 2005. This has essentially created Fear, Uncertainty and Doubt over its use to base the OpenHAL efforts upon and even caused the work on it to stall.

Because of these doubts the Linux wireless developers contacted the Software Freedom Law Center (SFLC) for assistance. On November 14, 2006 a press release was made by Linux wireless kernel maintainer, John W. Linville, in which he indicated that the SFLC had assisted the Linux wireless developers in evaluating the development history of Reyk Floeter's OpenBSD reverse-engineered Atheros HAL. He stated:

SFLC's assessment leads to the conclusion that free software developers should not be worried about using/extending ar5k or porting ar5k to other platforms.
...
SFLC has made independent inquiries with the OpenBSD team regarding the development history of ar5k source. The responses received provide a reasonable basis for SFLC to believe that the OpenBSD developers who worked on ar5k did not misappropriate code, and that the ar5k implementation is OpenBSD's original copyrighted work.

Some, however, still remained skeptic... so an agreement was made between Atheros and the Linux wireless developers to do an audit, "carefully comparing OpenHAL to Atheros' proprietary HAL code." The audit was completed and a conclusion published by the SFLC, released on July 31, 2007, stated:

... SFLC concluded that OpenHAL does not infringe copyrights held by Atheros. As a result, OpenHAL development can now continue safely, unencumbered by legal uncertainty so long as the OpenHAL developers continue their work in isolation from Atheros' proprietary code.

In other words: the claims that ar5k (and thus OpenHAL) contained code copied without authorization are void. And at least for OpenHAL we take care that this situation does not change.

History

The name originally was introduced by John Bicket, who did a first port of the OpenBSD ar5k driver to Linux, but his work soon ceased. In an independant effort Nick Kossifidis also ported ar5k to Linux and made it available for the first time on February 23, 2006. The name OpenHAL was orphaned, so it was adapted for Nick's work. The work then ceased for a while because of claimed copyright violations (see above).

In late 2006, Nick has joined the MadWifi team. Since that time OpenHAL development takes place in separate branches of the MadWifi subversion repository.

Beginning with changeset 2232, OpenHAL diverted from ar5k and was converted to a different layout: common code for all chipsets was centralized, code was cleaned and adjusted for the Linux kernel coding style, documentation was added, and so on. Every fix as well as many bug reports were shared with Reyk, and some of them have been added to the OpenBSD CVS repository.