From owner-freebsd-mobile@FreeBSD.ORG Fri Sep 26 05:55:25 2008 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AC76106568B for ; Fri, 26 Sep 2008 05:55:25 +0000 (UTC) (envelope-from jhay@meraka.csir.co.za) Received: from zibbi.meraka.csir.co.za (zibbi.meraka.csir.co.za [IPv6:2001:4200:7000:2::1]) by mx1.freebsd.org (Postfix) with ESMTP id 305888FC23 for ; Fri, 26 Sep 2008 05:55:24 +0000 (UTC) (envelope-from jhay@meraka.csir.co.za) Received: by zibbi.meraka.csir.co.za (Postfix, from userid 3973) id 51EBE33CD9; Fri, 26 Sep 2008 07:55:22 +0200 (SAST) Date: Fri, 26 Sep 2008 07:55:22 +0200 From: John Hay To: "Paul B. Mahol" Message-ID: <20080926055522.GA13842@zibbi.meraka.csir.co.za> References: <20080922132500.GA25677@zibbi.meraka.csir.co.za> <3a142e750809250741j7b9003e4q539618d1c9407def@mail.gmail.com> <20080925161338.GA69284@zibbi.meraka.csir.co.za> <3a142e750809251159p3f5f3bam11243b3f144859c2@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3a142e750809251159p3f5f3bam11243b3f144859c2@mail.gmail.com> User-Agent: Mutt/1.4.2.1i Cc: freebsd-mobile@freebsd.org Subject: Re: setting bssid in adhoc mode X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 05:55:25 -0000 On Thu, Sep 25, 2008 at 08:59:37PM +0200, Paul B. Mahol wrote: > On 9/25/08, John Hay wrote: > > On Thu, Sep 25, 2008 at 04:41:30PM +0200, Paul B. Mahol wrote: > >> On 9/22/08, John Hay wrote: > >> > Hi > >> > > >> > I'm trying out the new ath/wlan stuff in current. Should one still be > >> > able to set the bssid in adhoc mode? We normally lock the bssid in > >> > an adhoc network because of problems that the network split and does > >> > not merge, if you do not do it. > >> > > >> > What I have done is this: > >> > > >> > # ifconfig wlan0 create wlandev ath0 wlanmode adhoc > >> > # ifconfig wlan0 ssid ptamesh up > >> > > >> > Up to here works well. It will scan and if it finds another node with > >> > the > >> > same ssid, it will "lock" on that channel and use the correct bssid. > >> > > >> > If it does not find another node with the same ssid, it will start it > >> > own thing on channel 10. But it looks like one cannot set the bssid. > >> > > >> > # ifconfig wlan0 bssid 02:07:ca:fe:ba:be > >> > ifconfig: 02:07:ca:fe:ba:be: bad value > >> > >> I had similar experience with STA mode, instead I use ap (ap is alias > >> for bssid, at least it works in STA mode) > >> I never bothered is this bug in manual page, ifconfig or in something else > >> ... > > > > Ah, thanks yes, "ifconfig wlan0 ap 02:07:ca:fe:ba:be" works just fine. > > Just do not try to unset it with "ifconfig wlan0 ap -". That is an > > alias for "panic now" :-) > Well, on my system it doesnt panic here. > So more info to debug "your" panic is required ... I'll have to see if I can reproduce it. > > So it looks like ifconfig is getting confused with the many different > > uses of the keyword bssid. > > > > I must say I still do not understand what the other use for bssid is. > > Close to the end of ifconfig/ifieee80211.c there are these: > > > > DEF_CMD_ARG("bssid", set80211bssid), > > DEF_CMD_ARG("ap", set80211bssid), > > ... > > DEF_CLONE_CMD("bssid", 1, set80211clone_bssid), > > DEF_CLONE_CMD("-bssid", 0, set80211clone_bssid), > > > > So my guess is that I was hitting the clone version when in fact I > > needed the other version. Luckily ap does not have a clone version. > > So when should the clone version be used? And how does ifconfig > > decide which one to use? I looked into the ifconfig code a bit more. I think that with the current code in the ifconfig() and cmd_lookup() functions, it is imposssible to have two different keywords that share the same keyword. cmd_lookup() will always search until it finds the first instance in the list and return that. The first instance in this case being the last one added. So either the code must change or one of the bssid keywords have to change. My suggestion would be to keep the bssid for which ap is an alias and change the other one. Anybody have a suggestion of what to change it to? John -- John Hay -- John.Hay@meraka.csir.co.za / jhay@FreeBSD.org