Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Apr 2009 09:52:31 -0400
From:      Boris Kochergin <spawk@acm.poly.edu>
To:        freebsd-net@freebsd.org
Subject:   Multi-BSS problem with Atheros 5212
Message-ID:  <49DCAC1F.9000708@acm.poly.edu>

next in thread | raw e-mail | index | archive | help
Ahoy. I'm having trouble with multiple hostap-mode wlan pseudo-devices. 
The machine is an 8-CURRENT from yesterday:

# uname -a
FreeBSD test 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Tue Apr  7 16:54:56 UTC 
2009     root@test:/usr/obj/usr/src/sys/GENERIC  i386

# dmesg | grep ath
ath0: <Atheros 5212> mem 0xf4100000-0xf410ffff irq 11 at device 13.0 on pci0
ath0: [ITHREAD]
ath0: AR2413 mac 7.9 RF2413 phy 4.5

# cat /etc/rc.conf
wlans_ath0="wlan0 wlan1 wlan2"
create_args_wlan0="wlanmode hostap bssid"
create_args_wlan1="wlanmode hostap bssid"
create_args_wlan2="wlanmode hostap bssid"
ifconfig_wlan0="ssid wlan0 wepmode off up"
ifconfig_wlan1="ssid wlan1 wepmode off up"
ifconfig_wlan2="ssid wlan2 wepmode off up"

# ifconfig
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
        ether 00:18:e7:33:5e:24
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
        status: running
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:90:27:72:c4:f3
        inet 10.0.0.128 netmask 0xffffff00 broadcast 10.0.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:18:e7:33:5e:24
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
        status: running
        ssid wlan0 channel 11 (2462 Mhz 11g) bssid 00:18:e7:33:5e:24
        country US ecm authmode OPEN privacy OFF txpower 23 scanvalid 60
        protmode CTS wme burst dtimperiod 1 -dfs
wlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 06:18:e7:33:5e:24
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
        status: running
        ssid wlan1 channel 11 (2462 Mhz 11g) bssid 06:18:e7:33:5e:24
        country US ecm authmode OPEN privacy OFF txpower 23 scanvalid 60
        protmode CTS wme burst dtimperiod 1 -dfs
wlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 0a:18:e7:33:5e:24
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
        status: running
        ssid wlan2 channel 11 (2462 Mhz 11g) bssid 0a:18:e7:33:5e:24
        country US ecm authmode OPEN privacy OFF txpower 23 scanvalid 60
        protmode CTS wme burst dtimperiod 1 -dfs

The client is a 7.0 machine with another 5212 card:

# uname -a
FreeBSD peer 7.0-RELEASE-p10 FreeBSD 7.0-RELEASE-p10 #0: Mon Mar 23 
09:26:18 EDT 2009     root@peer:/usr/obj/usr/src/sys/PEER  i386

# dmesg | grep ath
ath_hal: 0.10.5.6 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, 
RF2413, RF5413, RF2133, RF2425, RF2417)
ath0: <Atheros 5212> mem 0xa8410000-0xa841ffff irq 11 at device 0.0 on 
cardbus0
ath0: [ITHREAD]
ath0: using obsoleted if_watchdog interface
ath0: Ethernet address: 00:14:d1:42:21:5a
ath0: mac 7.9 phy 4.5 radio 5.6

The three SSIDs configured on the CURRENT machine show up in a scan:

# ifconfig ath0 scan | grep wlan
wlan0           00:18:e7:33:5e:24   11   54M -66:-93  100 ES   WME
wlan1           06:18:e7:33:5e:24   11   54M -65:-93  100 ES   WME
wlan2           0a:18:e7:33:5e:24   11   54M -65:-93  100 ES   WME

The client is only able to associate with wlan1, however. When scanning 
channels while attempting to associate with any of the other ones, it 
gets stuck on channel 11 for a while before moving on, which seems 
relevant. Also interesting is the fact that if i do "ifconfig ath0 down" 
on the CURRENT machine, followed by, for example, "ifconfig ath0 ssid 
wlan0" (which did not associate before) on the client, followed by 
"ifconfig ath0 up" on the CURRENT machine, the client will associate 
with wlan0, but will not be able to associate with wlan1 or wlan2. Any 
ideas?

-Boris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49DCAC1F.9000708>