Multi-BSS problem with Atheros 5212

Sam Leffler sam at freebsd.org
Wed Apr 8 08:25:40 PDT 2009


Boris Kochergin wrote:
> 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 at 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 at 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?
wlandebug scan+auth+assoc on the client machine will show you why you 
cannot associate.  You can also enable the same info on the ap side to 
see what it thinks is happening.

    Sam



More information about the freebsd-net mailing list