Date: Fri, 26 Sep 2008 10:51:10 -0700 From: Sam Leffler <sam@freebsd.org> To: John Hay <jhay@meraka.org.za> Cc: "Paul B. Mahol" <onemda@gmail.com>, freebsd-mobile@freebsd.org Subject: Re: setting bssid in adhoc mode Message-ID: <48DD210E.6050300@freebsd.org> In-Reply-To: <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> <20080926055522.GA13842@zibbi.meraka.csir.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
John Hay wrote:
> On Thu, Sep 25, 2008 at 08:59:37PM +0200, Paul B. Mahol wrote:
>
>> On 9/25/08, John Hay <jhay@meraka.org.za> wrote:
>>
>>> On Thu, Sep 25, 2008 at 04:41:30PM +0200, Paul B. Mahol wrote:
>>>
>>>> On 9/22/08, John Hay <jhay@meraka.org.za> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48DD210E.6050300>
