I have been working to get my Atheros card working with the latest release of Ubuntu (7.04), and could use some guidance from those who know the driver and its development history better than I do.
My card is an AR5211.
The Madwifi version that shipped with the latest operating system was something close to the latest stable release of madwifi-ng.  With that driver, iwconfig works, but I am unable to associate with any access point and scanning yields limited results (only one ap).  When I download and compile the latest snapshot of madwifi-ng or release 0.9.3, I get the same behavior.  I see no obvious errors in the system logs I've checked.
Madwifi has worked for me in past Ubuntu releases, notably 6.06.  The modules used in that release are identified as experimental.  ath_pci (EXPERIMENTAL), wlan (EXPERIMENTAL), and ath_hal  It seems to be the old Madwifi code, since I see no evidence of the use of VAPs.
Attempts to find a similar driver led me to the madwifi-old-openhal branch, whose latest snapshot gave me ath_pci, the same wlan and openhal.  This driver, when compiled in Ubuntu 7.04, was a marked improvement.  Scanning worked well and I could associate with the access point of my choice.  But there was still no network.  DHCP fails.
So my question is ... what version of madwifi should I be using?  Is there code that will match the driver that worked for me in the older release?  If I am better off using the latest Madwifi-ng, what can I do to figure out the hold-up?
Thank you for your help.  Let me know if there is more information that I can offer.