look at the chipset
I bought a d-link and it had a different chipset than I thought I had.
If it is the correct chipset then,
Check the module
if you don't see atheros you've found your problem.
Everything check out so far? Try ifdown eth0 before ifup ath0 to solve your problem.
Still having problems, post back.