Date: Fri, 2 Apr 2021 13:01:43 +0800 From: qcwap <1051244836@qq.com> To: Adrian Chadd <adrian@freebsd.org> Cc: freebsd-wireless <freebsd-wireless@freebsd.org>, freebsd-current <freebsd-current@freebsd.org> Subject: Re: Correct net80211 channel flag. Message-ID: <tencent_2E840B9C9A04A4B8FAC58571CC49903F9606@qq.com> In-Reply-To: <CAJ-VmomNCC_cvF249Xbznh4nqbranvduNqdEUkViZdLoD_aoFg@mail.gmail.com> References: <tencent_2D16BB0B925A1EA4B4BAD2454A8C4F503F06@qq.com> <CAJ-Vmon8yS5D0Q6QdCNLC9VWoKG_tuP_HLrLGzNJjhNWhXLXNA@mail.gmail.com> <tencent_89C560047561F9B8CCA8254232A98F5EC40A@qq.com> <CAJ-VmomNCC_cvF249Xbznh4nqbranvduNqdEUkViZdLoD_aoFg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Got it, thank you.
zxystd
> 2021年4月2日 下午12:56,Adrian Chadd <adrian@freebsd.org> 写道:
>
> Hi!
>
> Oh, so from what I recall, implementations got it wrong in the early
> draft days with their interop so the flag values changed.
>
>
> -adrian
>
> On Thu, 1 Apr 2021 at 20:45, qcwap <1051244836@qq.com> wrote:
>>
>> Well, I see.
>>
>> I am newly to freebsd, thanks for your answering.
>> I had tried using this section of code and found these flags are not satisfied, after changing them, I can negotiate VHT80, VHT160 fine with iwm, so I pointed out this problem. I am also wondering what's the badly wrong of you said in draft VHT implementation?
>>
>> thanks
>> zxystd
>>
>>> 2021年3月30日 上午1:26,Adrian Chadd <adrian@freebsd.org> 写道:
>>>
>>> hm!
>>>
>>> On Mon, 29 Mar 2021 at 08:02, qcwap <1051244836@qq.com> wrote:
>>>>
>>>> This patch corrects ieee80211_vht_get_vhtcap_ie for 160/80P80 channel width recognition.
>>>>
>>>> diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h
>>>> index 86ab1459cca..76c43629b33 100644
>>>> --- a/sys/net80211/ieee80211.h
>>>> +++ b/sys/net80211/ieee80211.h
>>>> @@ -811,9 +811,9 @@ struct ieee80211_ie_vht_operation {
>>>> #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK 0x0000000C
>>>> #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK_S 2
>>>> #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_NONE 0
>>>> -#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160MHZ 1
>>>> -#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160_80P80MHZ 2
>>>> -#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_RESERVED 3
>>>> +#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160MHZ 4
>>>> +#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160_80P80MHZ 8
>>>> +#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_RESERVED 16
>>>>
>>>> #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ(_vhtcaps) \
>>>> (_IEEE80211_MASKSHIFT(_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= \
>>>
>>>
>>> This is the flag change from the draft 11ac spec to the released 11ac
>>> spec, right?
>>>
>>> I remember they needed to change the flags because existing draft
>>> implementations got the 80+80/160MHz negotiation really badly wrong in
>>> some interop places...
>>>
>>>
>>> -adrian
>>>
>>>>
>>>> _______________________________________________
>>>> freebsd-current@freebsd.org mailing list
>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-current
>>>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>>>
>>
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?tencent_2E840B9C9A04A4B8FAC58571CC49903F9606>
