2017-11-15 10:01:40

by Kalle Valo

[permalink] [raw]
Subject: Re: mesh point and ap mode on same interface

(adding linux-wireless for a cfg80211 question)

Peter Oh <[email protected]> writes:
> On 11/08/2017 04:49 AM, Harms, Hannes wrote:
>
>> I found a solution for the problem:
>>
>> When joining the mesh with beacon interval set to 100
>> both mesh and ap interface are coming up.
>>
>> > iw mesh0 mesh join my_mesh beacon-interval 100
>>
>> The default beacon interval is 1000 for mesh interfaces.
>> It seems that QCA9880 is not working
>> with different beacon intervals for ap + mesh.
>
> Good to hear that working. But mesh beacon interval 1000 which is
> default value should work. Any mesh beacon intervals of multiple of AP
> beacon intervals are supposed to work.
>
> (In other words, mesh beacon intervals that are not aligned by
>multiple of AP beacon intervals won't work). These are valid for both
>of QCA9880 and QCA4019 as far as I know.

It would be nice if ath10k could print a warning if the beacon intervals
are not compatible. Or is there a way to enforce the beacon interval
with help of cfg80211 or mac80211?

--=20
Kalle Valo=


2017-11-15 10:27:45

by Kalle Valo

[permalink] [raw]
Subject: Re: mesh point and ap mode on same interface

Arend van Spriel <[email protected]> writes:

> On 11/15/2017 11:01 AM, Kalle Valo wrote:
>> (adding linux-wireless for a cfg80211 question)
>>
>> Peter Oh <[email protected]> writes:
>>> On 11/08/2017 04:49 AM, Harms, Hannes wrote:
>>>
>>>> I found a solution for the problem:
>>>>
>>>> When joining the mesh with beacon interval set to 100
>>>> both mesh and ap interface are coming up.
>>>>
>>>>> iw mesh0 mesh join my_mesh beacon-interval 100
>>>>
>>>> The default beacon interval is 1000 for mesh interfaces.
>>>> It seems that QCA9880 is not working
>>>> with different beacon intervals for ap + mesh.
>>>
>>> Good to hear that working. But mesh beacon interval 1000 which is
>>> default value should work. Any mesh beacon intervals of multiple of AP
>>> beacon intervals are supposed to work.
>>>
>>> (In other words, mesh beacon intervals that are not aligned by
>>> multiple of AP beacon intervals won't work). These are valid for both
>>> of QCA9880 and QCA4019 as far as I know.
>>
>> It would be nice if ath10k could print a warning if the beacon intervals
>> are not compatible. Or is there a way to enforce the beacon interval
>> with help of cfg80211 or mac80211?
>
> There is beacon interval checking in utility function
> cfg80211_check_combinations() ->
> cfg80211_iter_combinations() -> cfg80211_calculate_bi_data() for that.

Nice, that looks useful. Thanks for the tip.

> However, it seems brcmfmac is the only user of that function according
> to lxr (or elixir).

git-grep says the same.

--=20
Kalle Valo=

2017-11-15 10:36:52

by Arend van Spriel

[permalink] [raw]
Subject: Re: mesh point and ap mode on same interface

On 11/15/2017 11:27 AM, Kalle Valo wrote:
> Arend van Spriel <[email protected]> writes:
>
>> On 11/15/2017 11:01 AM, Kalle Valo wrote:
>>> (adding linux-wireless for a cfg80211 question)
>>>
>>> Peter Oh <[email protected]> writes:
>>>> On 11/08/2017 04:49 AM, Harms, Hannes wrote:
>>>>
>>>>> I found a solution for the problem:
>>>>>
>>>>> When joining the mesh with beacon interval set to 100
>>>>> both mesh and ap interface are coming up.
>>>>>
>>>>>> iw mesh0 mesh join my_mesh beacon-interval 100
>>>>>
>>>>> The default beacon interval is 1000 for mesh interfaces.
>>>>> It seems that QCA9880 is not working
>>>>> with different beacon intervals for ap + mesh.
>>>>
>>>> Good to hear that working. But mesh beacon interval 1000 which is
>>>> default value should work. Any mesh beacon intervals of multiple of AP
>>>> beacon intervals are supposed to work.
>>>>
>>>> (In other words, mesh beacon intervals that are not aligned by
>>>> multiple of AP beacon intervals won't work). These are valid for both
>>>> of QCA9880 and QCA4019 as far as I know.
>>>
>>> It would be nice if ath10k could print a warning if the beacon intervals
>>> are not compatible. Or is there a way to enforce the beacon interval
>>> with help of cfg80211 or mac80211?
>>
>> There is beacon interval checking in utility function
>> cfg80211_check_combinations() ->
>> cfg80211_iter_combinations() -> cfg80211_calculate_bi_data() for that.
>
> Nice, that looks useful. Thanks for the tip.

Initally was added by:

commit 0c317a02ca982ca093e71bf07cb562265ba40032
Author: Purushottam Kushwaha <[email protected]>
Date: Wed Oct 12 18:26:51 2016 +0530

cfg80211: support virtual interfaces with different beacon intervals

And last touched by Johannes:

commit 4c8dea638c16141adb046fd2e0cab51dfe43650c
Author: Johannes Berg <[email protected]>
Date: Fri Oct 21 14:25:13 2016 +0200

cfg80211: validate beacon int as part of iface combinations

The last commit message has some info on how to use in case of AP/mesh.

>> However, it seems brcmfmac is the only user of that function according
>> to lxr (or elixir).
>
> git-grep says the same.

Yeah. git-grep has not sunk in my system yet ;-)

Regards,
Arend

2017-11-15 10:13:21

by Arend van Spriel

[permalink] [raw]
Subject: Re: mesh point and ap mode on same interface

On 11/15/2017 11:01 AM, Kalle Valo wrote:
> (adding linux-wireless for a cfg80211 question)
>
> Peter Oh <[email protected]> writes:
>> On 11/08/2017 04:49 AM, Harms, Hannes wrote:
>>
>>> I found a solution for the problem:
>>>
>>> When joining the mesh with beacon interval set to 100
>>> both mesh and ap interface are coming up.
>>>
>>>> iw mesh0 mesh join my_mesh beacon-interval 100
>>>
>>> The default beacon interval is 1000 for mesh interfaces.
>>> It seems that QCA9880 is not working
>>> with different beacon intervals for ap + mesh.
>>
>> Good to hear that working. But mesh beacon interval 1000 which is
>> default value should work. Any mesh beacon intervals of multiple of AP
>> beacon intervals are supposed to work.
>>
>> (In other words, mesh beacon intervals that are not aligned by
>> multiple of AP beacon intervals won't work). These are valid for both
>> of QCA9880 and QCA4019 as far as I know.
>
> It would be nice if ath10k could print a warning if the beacon intervals
> are not compatible. Or is there a way to enforce the beacon interval
> with help of cfg80211 or mac80211?

There is beacon interval checking in utility function
cfg80211_check_combinations() ->
cfg80211_iter_combinations() -> cfg80211_calculate_bi_data() for that.
However, it seems brcmfmac is the only user of that function according
to lxr (or elixir).

Regards,
Arend