mesh point and ap mode on same interface

Harms, Hannes hannes.harms at tu-bs.de
Wed Nov 8 04:49:48 PST 2017


Am 11.10.2017 um 20:10 schrieb Peter Oh:

>
>
> On 10/10/2017 06:04 AM, Hannes Harms wrote:
>>
>>> On 10/09/2017 08:08 AM, Thomas Pedersen wrote:
>>>> On Oct 9, 2017 1:46 AM, "Harms, Hannes" <hannes.harms at tu-bs.de 
>>>> <mailto:hannes.harms at tu-bs.de>> wrote:
>>>>
>>>>     On 10/06/2017 20:18, Peter, Oh wrote
>>>>
>>>>         I have tried t bring up the ap interface with iw / hostapd,
>>>>
>>>>                 after joining the mesh.
>>>>
>>>>                 When I start the second interface, rtnetlink
>>>>                 responds with
>>>>                 device or resource busy.
>>>>
>>>>
>>>>         If you give more details of your steps, people may help you
>>>>         more.
>>>>         Btw, did you create a 2nd interface on the same radio and
>>>>         change the mac address?
>>>>
>>>>
>>>>     Yes,  I changed the mac of the 2nd interface:
>>>>
>>>>     The mesh setup:
>>>>
>>>>     > brctl addbr mesh-bridge
>>>>     > iw phy0 interface add wlan0 type mp mesh_id my_mesh
>>>>     > iw wlan0 set freq 5500 80 5530
>>>>     > ip link set dev wlan0 up
>>>>     > iw wlan0 mesh join my_mesh
>>>>     > brctl addif  mesh-bridge mesh0
>>>>
>>> Are you sure this configuration is what you're using?
>>> there is no way to use DFS channels on mesh via iw at this moment.
>>> and mesh id on brctl addif is different from interface add.
>>>
>>>>     The ap interface:
>>>>
>>>>     > iw dev wlan0 interface add virtual_ap type __ap
>>>>     > ip link set dev virtual_ap address 04:f0:21:1b:7b:48
>>>>     > hostapd -B -dd hostapd.conf
>>>>
>>> hostapd also does not allow interface to use DFS channels without 
>>> country_code parameter.
>>>>
>>>>     I think mesh and AP channel frequency + width need to match.
>>>>
>> Yes, you are right with the dfs channels,
>> I was testing with some relaxed reg rules.
>>
>> However,  I  am still facing the original problem.
>> For example if i run the following, the mesh is working (80Mhz),
>> but ap does not come up.
>>
>> > iw phy0 interface add mesh0 type mp
>> > ip link set dev mesh0 up
>> > iw dev mesh0 mesh join "my_mesh" freq 5180 80MHz
>> > sleep 5
>> > iw phy0 interface add virtual_ap type __ap
>> > ip link set dev virtual_ap address 04:f0:21:1b:7b:48
>> > hostapd -B -dd hostapd.conf
>>
>> hostapd config:
>> interface=virtual_ap
>> ctrl_interface=/var/run/hostapd
>> driver=nl80211
>> ssid=test
>> hw_mode=a
>> channel=36
>> ht_capab=[HT40+]
>> ieee80211n=1
>> ieee80211ac=1
>> vht_oper_chwidth=1
>> vht_oper_centr_freq_seg0_idx=42
>> country_code=US
>> bridge=mesh-bridge
>>
> Since I don't have QCA9880 products, I'm not able to run it on the 
> chip, but the same steps using the same configurations work for me on 
> QCA4019 based product.
> since EBUSY most likely comes from cfg80211, you better trace down the 
> codes where the error comes.
>> I also tried to join the mesh after the ap interface.
>> In this case the ap is running, but joining the mesh fails
>> with the same error. (device or resoure busy)
>>
>> thanks for your help & patience

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.

Anyway, I tested with mainline 4.14 and firmware-5.bin_10.2.4.70.61-2
and it is working now.








More information about the ath10k mailing list