I'd like to share a couple of things I've learned today trying to setup my alix as a wireless access point with WPA2. Surely these are obvious tips for the most advanced users, but maybe I'm not the only one who doesn't find these things obvious.
My thanks to other contributors in the list. Reading many posts helped me getting to this result.
1st tip: when you try to create a bridge, remember that the physical interface should NOT have an IP address. The IP address should be assigned to the bridge interface.
2nd tip: WPA-PSK passwords should be at least 8 chars long. So if you set up something temporary just for the tests be careful, since it's very hard to get a meaningful error message from hostapd.
And now the long version. ;-)
distribution: Voyage 0.6.2
HW: alix3d3 + Wistron DCMA81 [wifi0: Atheros AR5414 chip found (MAC 10.5, PHY SChip 6.1, Radio 6.3)]
steps:
assign a STATIC IP address (A.B.C.D) to the alix (since the IP address will be assigned to the bridged interface br0, not the phyisical interface, so dhcp might cause problems)
ifconfig eth0 0.0.0.0 up #this is REALLY 0.0.0.0 since the real IP address should be assigned to br0
wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode ap
iwconfig ath0 essid "voyage" channel 1
ifconfig ath0 up
brctl addbr br0
ifconfig br0 A.B.C.D netmask 255.255.255.0
brctl addif br0 eth0
brctl addif br0 ath0
wait few secs
ping your default gateways (should work!)
edit /etc/hostapd/hostapd.conf (note: WPA-PSK minimum 8 chars! see the example later)
edit /etc/default/hostapd (otherwise hostapd won't start. it's very self explanatory)
/etc/init.d/hostapd restart
note: if hostapd returns an error, you can try to run "hostapd -dd " to receive additional information on the cause of the problem
## /etc/hostapd/hostapd.conf ##
# based on howto at http://www.linux.com/articles/55617
interface=ath0
bridge=br0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=2
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=voyage
#macaddr_acl=1
#accept_mac_file=/etc/hostapd/accept
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
#the following setting is for WPA2 and it works
wpa=2
#wpa_psk_file=/etc/hostapd/hostapd.wpa_psk
wpa_passphrase=simple123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=600
wpa_gmk_rekey=86400
##EOF##
## /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
up ifconfig eth0 0.0.0.0 up
down ifconfig eth0 down
# address 0.0.0.0
auto ath0
iface ath0 inet static
address 192.168.1.251
netmask 255.255.255.0
broadcast 192.168.1.255
madwifi-base wifi0
wireless-mode Master
up iwpriv ath0 mode 3
up iwconfig ath0 mode master
up iwconfig ath0 essid voyage
up iwconfig ath0 txpower auto
up iwconfig ath0 enc off
up iwconfig ath0 rate auto
#up nat.sh ath0 eth0 "192.168.1.0/24"
auto br0
iface br0 inet static
address 192.168.1.250
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254
bridge_ports eth0 ath0
pre-up wlanconfig ath0 destroy
pre-up wlanconfig ath0 create wlandev wifi0 wlanmode ap
pre-up iwpriv ath0 mode 11g
pre-up iwconfig ath0 essid "voyage" channel 1
up ifconfig ath0 down ; ifconfig ath0 up # this is a workaround
post-down wlanconfig ath0 destroy
#### EOF ####