From owner-freebsd-mobile@FreeBSD.ORG Fri Sep 26 17:51:11 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 697CC1065699 for ; Fri, 26 Sep 2008 17:51:11 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 283F68FC08 for ; Fri, 26 Sep 2008 17:51:11 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id m8QHpAlB094287 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 26 Sep 2008 10:51:10 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <48DD210E.6050300@freebsd.org> Date: Fri, 26 Sep 2008 10:51:10 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.9 (X11/20071125) MIME-Version: 1.0 To: John Hay References: <20080922132500.GA25677@zibbi.meraka.csir.co.za> <3a142e750809250741j7b9003e4q539618d1c9407def@mail.gmail.com> <20080925161338.GA69284@zibbi.meraka.csir.co.za> <3a142e750809251159p3f5f3bam11243b3f144859c2@mail.gmail.com> <20080926055522.GA13842@zibbi.meraka.csir.co.za> In-Reply-To: <20080926055522.GA13842@zibbi.meraka.csir.co.za> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC--Metrics: ebb.errno.com; whitelist Cc: "Paul B. Mahol" , 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 17:51:11 -0000 John Hay wrote: > 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. > Correct. > 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? > > I prefer to change the code to handle this ambiguity within ifieee80211.c. You cannot use both together or at least they are redundant. I'll look at it when I've got time; but don't let me distract you. Sam