Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .

Using VIA CPU

I had a strange problem with enabling WPA/WPA2 with madwifi and hostapd on a epaTEC etc 3851 (VIA Nehemiah 800MHz CPU) running Debian 4.0r2.

I did everything according to the manuals (madwifi, wpa-supplicant, hostapd), but wpa wouldn't work. I had some strange problems while compiling ath_pci, but in the second or third try it compiled without problems.

After looking at a similiar problem described here (http://lkml.org/lkml/2007/6/12/104) I switched from linux-image-686 (which is the debian default) to linux-image-386. After recompiling ath_pci.ko everything worked as supposed without any problems!

I hope this helps someone!

I guess the underlying problem is some strange misbehaviour of the VIA cpu. It should be 100% i686 compatible, but from this experience I would bet it isn't...

This may not be relevant to the issue, but VIA C3 CPUs have different capabilities as displayed by /proc/cpuinfo. Here's the contents of /proc/cpuinfo from tow different motherboards, both with C3 CPUs:

# more /proc/cpuinfo
processor       : 0
vendor_id       : CentaurHauls
cpu family      : 6
model           : 7
model name      : VIA Samuel 2
stepping        : 3
cpu MHz         : 797.839
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de tsc msr cx8 mtrr pge mmx 3dnow
bogomips        : 1599.32

Here's the output from another motherboard:

# more /proc/cpuinfo
processor       : 0
vendor_id       : CentaurHauls
cpu family      : 6
model           : 9
model name      : VIA Nehemiah
stepping        : 8
cpu MHz         : 1002.351
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr cx8 sep mtrr pge mov pat mmx fxsr sse up rng rng_en ace ace_en
bogomips        : 2007.22
clflush size    : 32

Notice the difference in the flags section. Some of the flags indicate the CPU can execute a particular instruction (e.g. cmov) or class of instructions (e.g. sse).