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/…/madwifi-old
-r 1142 madwifi
And fix bug in net80211/ieee80211_radiotap.h – remove ending „)“ on line 175.
#if !defined(__KERNEL__) && !defined(_KERNEL))
#if !defined(__KERNEL__) && !defined(_KERNEL)
Then you need to download 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:
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).
#define SUPERCHANNEL 0
#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.