Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Feb 2006 09:16:22 -0800
From:      Sam Leffler <sam@errno.com>
To:        Yamamoto Shigeru <shigeru@iij.ad.jp>
Cc:        freebsd-current@freebsd.org
Subject:   Re: HEADSUP: new ath+hal
Message-ID:  <440333E6.7010300@errno.com>
In-Reply-To: <20060227.212918.78702145.shigeru@iij.ad.jp>
References:  <43F3FAF3.7010000@errno.com>	<20060217.122420.38719049.shigeru@iij.ad.jp>	<43F60C99.2090006@errno.com> <20060227.212918.78702145.shigeru@iij.ad.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
Yamamoto Shigeru wrote:
> Hi, sam,
> 
> I install 20060130 current to same note PC to compare 'current 20060130' and
> 'current 20060222'.
> After installing, I watch control message with
>  'tcpdump -n -i ath0 -y IEEE802_11'.
> 
> When using '20060130 current', I can watch "Probe request" from my note PC.
> But I can't watch "Probe request" when using '20060222 current'.
> 
> I add 'printf()' to codes and I check when 'IEEE80211_CHAN_PASSIVE' is set.
> I found ath_getchannels() at @src/sys/dev/ath/if_ath.c sets
> 'IEEE80211_CHAN_PASSIVE', because 'CHANNEL_PASSIVE' in channelFlags is set.
> 
> I think ath driver send "Probe request" if ignore 'CHANNEL_PASSIVE' in
> channelFlags.
> So I add a code to ignore 'CHANNEL_PASSIVE' and to unset
> 'IEEE80211_CHAN_PASSIVE'.
> I test this test code at "broadcast SSID in beacon", and my note PC can
> associate an AP.
> 
> It seems me current ath hal returns 'CHANNEL_PASSIVE' for all channels.
> In @src/sys/contrib/dev/ath/ah.h, comment for 'CHANNEL_PASSIVE' is "Only
> passive scan allowed in the channel".
> Does it mean my note PC can't send a probe message?

Thanks for digging.  When you hit a problem like this it's very helpful 
to know the regulatory domain and country code in your code; sysctl 
dev.ath.0 will show that.

When a channel is marked for passive scan a station cannot send frames 
unless it knows the channel is being used for 802.11 traffic.  What we 
need to do is listen first then if we see 802.11 traffic mark the 
channel as "ok to transmit on".  Then the next time we come to the 
channel we'll be able to send a probe request frame.  I've been meaning 
to get that code into cvs for a while; I'll see about making that happen.

In the meantime you may be able to specify the ap's bssid to associate 
(can't recall if the current scanning code requires an ssid match and 
bssid is just used to discriminate between multiple ap's with the same 
ssid).

	Sam



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?440333E6.7010300>