Hi,
I'm trying to test the ath9k driver on a RB433 equipped with a ubiquiti SR71A mini pci card. On the 2.4 ghz, I could connect to the AP in G mode but no N. My client is a intel 4965 agn card running on debian with the 2.6.28-1 snapshot kernel. I also installed the last version of compat-wireless dated 11 of february. Under windows XP (also running the last version of the proset utility and drivers) i also can connect in G mode but no N. The log reports a odd error "security mismatch with 11n", which really looks like something they use in general when something goes wrong because it appears also when no encryption is selected (open AP). On the support page, they say that one can expect performance better than 56 mbits only when using wpa2 personal AES or no encryption, and it's strongly adviced to use the 5 ghz channels for an effective channel bonding.
Following this advice, i got a set of 3 dual band antennas and I started testing such a configuration. By the way, I'm stuck on configuring the interface because hostapd refuse to set up the interface on the 5 ghz channels.
This is my wireless configuration
root@OpenWrt:/lib/wifi# cat /etc/config/wireless
config 'wifi-device' 'wlan0'
option 'type' 'mac80211'
option 'disabled' '0'
option 'channel' '44'
config 'wifi-iface'
option 'device' 'wlan0'
option 'network' 'wifi'
option 'mode' 'ap'
option 'ssid' 'OpenWRT-N'
option 'encryption' 'psk2'
option 'key' 'secretpassword1'
this is the hostapd.sh script
root@OpenWrt:/lib/wifi# cat hostapd.sh
hostapd_setup_vif() {
local vif="$1"
local driver="$2"
local hostapd_cfg=
# Examples:
# psk-mixed/tkip => WPA1+2 PSK, TKIP
# wpa-psk2/tkip+aes => WPA2 PSK, CCMP+TKIP
# wpa2/tkip+aes => WPA2 RADIUS, CCMP+TKIP
# ...
# TODO: move this parsing function somewhere generic, so that
# later it can be reused by drivers that don't use hostapd
# crypto defaults: WPA2 vs WPA1
case "$enc" in
wpa2*|WPA2*|*PSK2*|*psk2*)
wpa=2
crypto="CCMP"
;;
*mixed*)
wpa=3
crypto="CCMP TKIP"
;;
*)
wpa=1
crypto="TKIP"
;;
esac
# explicit override for crypto setting
case "$enc" in
*tkip+aes|*TKIP+AES|*tkip+ccmp|*TKIP+CCMP) crypto="CCMP TKIP";;
*tkip|*TKIP) crypto="TKIP";;
*aes|*AES|*ccmp|*CCMP) crypto="CCMP";;
esac
# use crypto/auth settings for building the hostapd config
case "$enc" in
*psk*|*PSK*)
config_get psk "$vif" key
if [ ${#psk} -eq 64 ]; then
append hostapd_cfg "wpa_psk=$psk" "$N"
else
append hostapd_cfg "wpa_passphrase=$psk" "$N"
fi
;;
*wpa*|*WPA*)
# required fields? formats?
# hostapd is particular, maybe a default configuration for failures
config_get server "$vif" server
append hostapd_cfg "auth_server_addr=$server" "$N"
config_get port "$vif" port
port=${port:-1812}
append hostapd_cfg "auth_server_port=$port" "$N"
config_get secret "$vif" key
append hostapd_cfg "auth_server_shared_secret=$secret" "$N"
config_get nasid "$vif" nasid
append hostapd_cfg "nas_identifier=$nasid" "$N"
append hostapd_cfg "eapol_key_index_workaround=1" "$N"
append hostapd_cfg "radius_acct_interim_interval=300" "$N"
append hostapd_cfg "ieee8021x=1" "$N"
append hostapd_cfg "auth_algs=1" "$N"
append hostapd_cfg "wpa_key_mgmt=WPA-EAP" "$N"
append hostapd_cfg "wpa_group_rekey=300" "$N"
append hostapd_cfg "wpa_gmk_rekey=640" "$N"
;;
*)
wpa=0
crypto=
;;
esac
config_get ifname "$vif" ifname
config_get bridge "$vif" bridge
config_get ssid "$vif" ssid
config_get device "$vif" device
config_get channel "$device" channel
config_get hwmode "$device" hwmode
case "$hwmode" in
11a) hwmode=a;;
11b) hwmode=b;;
11g) hwmode=g;;
*)
hwmode=
[ "$channel" -gt 14 ] && hwmode=a
;;
esac
cat > /var/run/hostapd-$ifname.conf <<EOF
ctrl_interface=/var/run/hostapd-$ifname
driver=$driver
interface=$ifname
hw_mode=${hwmode:-g}
channel=$channel
${bridge:+bridge=$bridge}
ssid=$ssid
debug=4
wpa=$wpa
${crypto:+wpa_pairwise=$crypto}
ieee80211n=1
ht_capab=[RX-STBC123][SHORT-GI-40][DSSS_CCK-40][HT40-]
$hostapd_cfg
EOF
hostapd -dd -P /var/run/wifi-$ifname.pid -B /var/run/hostapd-$ifname.conf
}
The debug output of hostapd is the following
root@OpenWrt:/lib/wifi# wifi up
Configuration file: /var/run/hostapd-wlan0.conf
Line 8: DEPRECATED: 'debug' configuration variable is not used anymore
Opening raw packet socket for ifindex 0
BSS count 1, BSSID mask ff:ff:ff:ff:ff:ff (0 bits)
SIOCGIWRANGE: WE(compiled)=22 WE(source)=21 enc_capa=0xf
nl80211: Added 802.11b mode based on 802.11g information
Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=20 dBm
wlan0: IEEE 802.11 Configured channel (44) not found from the channel list of current mode (2) IEEE 802.11a
wlan0: IEEE 802.11 Hardware does not support configured channel
Could not select hw_mode and channel. (-1)
wlan0: Unable to setup interface.
rmdir[ctrl_interface]: No such file or directory
enable_mac80211(wlan0): Failed to set up wpa for interface wlan0
As you can see, it is making a check on the 2.4 ghz, which suggest me that it is hardcoded somewhere in the source on hostapd or it does not decode correctly the information got from the system.
(Last edited by simone78 on 13 Feb 2009, 22:08)