Ath-driver.org, OpenHAL HOWTO
In the last few days I was solving problem with accessing EEPROM in Atheros cards in case there is checksum error when loading MadWifi + original Atheros HAL.
After few hours of experiments I found working solution provided by madwifi-old driver in combination with OpenHAL (from ath-driver.org), which is open-source implementation of Atheros HAL (not yet finished). Here are few notes how to get these things to work.
First you need to checkout madwifi-old driver from SVN.
svn checkout http://svn.madwifi.org/branches/madwifi-old -r 1142 madwifi
And fix bug in net80211/ieee80211_radiotap.h - remove ending “)” on line 175.
Original line:
#if !defined(__KERNEL__) && !defined(_KERNEL))
After patching
#if !defined(__KERNEL__) && !defined(_KERNEL)
Then you need to download OpenHAL.
git clone rsync://rsync.ath-driver.org/gnumonks_users/mb/openhal.git ./openhal
When you’ve got patched madwifi-old and OpenHAL, you need to move openhal directory to madwifi-old directory structure and do some changes in Makefile.inc.
Change these lines in Makefile.inc:
HAL=${obj}/${DEPTH}/hal
ATH_HAL=${DEPTH}/ath_hal
Into these:
HAL=${obj}/${DEPTH}/openhal
ATH_HAL=${DEPTH}/openhal
If you want unlimited channel availability, you need to do this change to openhal/opt_ah.h (be carefull when using this - you can break laws in your country very easy).
Before change:
#define SUPERCHANNEL 0
After change:
#define SUPERCHANNEL 1
And then usual make, make install and modprobe ath_pci. I recommend to read opehal/README since there are some limitations when using OpenHAL.
UPDATE: There are new webpages for OpenHAL on MadWifi website Wiki.