For what it's worth, I routinely use Atheros wifi, and it doesn't give me any real trouble. It does seem though that device initialization is a little sketchy. wifi "scan" doesn't ever change anything - apparently the server broadcast list is stored in device memory and won't be repopulated until the device is powered down. Occasionally the join will fail, for some reason. For all that, though, it really works fine every day.
[Edit] So of course it trips up the next morning: a dialogue box appears, with the correct wifi server name and password, but not set to WPA/WPA2 as it should be. Fixed that, accepted the dialogue box, and all was right.
This has happened before. The context: I have a wifi script in config/settings/boot/launch/, that sets up the connection. I wonder if I'm going there too soon, and sometimes interrupting the initial scan. As of today, the script waits for 2 seconds before ifconfig, maybe that will help with this occasional problem.