Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Apr 2009 13:07:53 -0400
From:      Boris Kochergin <spawk@acm.poly.edu>
To:        Sam Leffler <sam@freebsd.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Multi-BSS problem with Atheros 5212
Message-ID:  <49DF7CE9.6060706@acm.poly.edu>
In-Reply-To: <49DCD66B.6040504@freebsd.org>
References:  <49DCAC1F.9000708@acm.poly.edu> <49DCC1EB.3040706@freebsd.org> <49DCD66B.6040504@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Sam Leffler wrote:
> Sam Leffler wrote:
>> 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@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?
>> 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.
>
> FWIW I just setup 3 vap's as you did above and hooked them into a 
> bridge.  I verified I could associate and pass traffic using a MBPro.  
> No problems.  I also destroyed the bridge and re-tested w/o issues.  
> Regardless the debug msgs should identify what your problem is.
>
>    Sam
>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
I booted the hostap machine up and set wlandebug to scan+auth+assoc on 
wlan0, wlan1, and wlan2. I then inserted the PCMCIA card into the client 
machine, set wlandebug to scan+auth+assoc on it (ath0), and executed 
"ifconfig ath0 ssid wlan0 up". I let it scan around for a bit. The 
client-side debug messages are at 
http://acm.poly.edu/~spawk/wlan/wlan0.client, and the hostap machine did 
not emit any debug messages during the association attempts. I then 
ejected the card from the client and repeated the process for wlan1 (it 
associated). The client-side debug messages are at 
http://acm.poly.edu/~spawk/wlan/wlan1.client and the hostap-side debug 
messages are at http://acm.poly.edu/~spawk/wlan/wlan1.ap. I then ejected 
the card from the client and repeated the process for wlan2. The 
client-side debug messages are at 
http://acm.poly.edu/~spawk/wlan/wlan2.client, and the hostap machine did 
not emit any debug messages during the association attempts. In case 
it's relevant, the client card is a PCMCIA version of...

ath0@pci0:5:0:0:        class=0x020000 card=0x2051168c chip=0x0013168c 
rev=0x01 hdr=0x00
    vendor     = 'Atheros Communications Inc.'
    device     = 'AR5212, AR5213 802.11a/b/g Wireless Adapter'
    class      = network
    subclass   = ethernet

...and the hostap card is a PCI version of the same thing:

ath0@pci0:0:13:0:       class=0x020000 card=0x2051168c chip=0x0013168c 
rev=0x01 hdr=0x00
    vendor     = 'Atheros Communications Inc.'
    device     = 'AR5212, AR5213 802.11a/b/g Wireless Adapter'
    class      = network
    subclass   = ethernet

-Boris



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