Question on bssid mask with ath10k

"Jose Núñez-Martínez (CTTC)" jose.nunez at
Mon Jul 6 08:49:02 PDT 2015

On 07/06/2015 05:10 PM, Ben Greear wrote:
> On 07/06/2015 08:00 AM, "Jose Núñez-Martínez (CTTC)" wrote:
>> Hi,
>> the reason for starting a virtual device in monitor mode is to 
>> infuence Rx filters in firmware as pointed out in [1]. The goal is to 
>> configure the wireless
>> device in adhoc mode so that it can receive and send packets 
>> containing any mac destination address.
>> [1]
> BSSID mask is not your main problem I think.  It is primarily used to
> deal with multiple virtual devices (ap, STA, IBSS).  PROMISC will 
> effectively
> just disable the BSSID mask so that all (most, really..monitor mode is 
> not perfect
> for ath10k) frames are passed up the stack to the host.
> The firmware will not send packets to destinations that it does not 
> have a peer
> object for, so you will not be able to transmit to arbitrary 
> destinations.
> ADHOC will create peer objects as it associates with new peers, so 
> maybe you
> do not actually need 'any mac destination address'?
> I have some bugs to track down relating to some .11r and/or ANQP 
> failures that we see
> in some of our tests...possibly I'll figure out how to send to 
> arbitrary destinations
> while fixing this.
> ath10k is full of subtle and not-so-subtle limitations.  I think for 
> best support you should spell out
> your real goals and use cases in detail instead of trying to think of 
> ath10k as just a faster
> version of ath9k.

Well, the goal is to use of 802.11ac cards acting as ports of virtual 
switches such as xDPd [1].  A primary use case I'm testing is to send 
traffic between two hosts connected through two virtual switches. 
Virtual switches are installed on different nodes and are wirelessly 
interconnected through two 802.11ac cards.  Each of these cards is 
acting as a wireless port in each virtual switch.

To receive and send any traffic in the virtual switches I need PROMISC 
enabled in the wireless ports but cards are dropping packets that are 
not directed to their MAC dst address of the wireless ports.

Hope that gives some context to understand the problem I'm facing.



> Thanks,
> Ben
>> Thx,
>> Jose
>> On 07/06/2015 04:33 PM, Ben Greear wrote:
>>> On 07/06/2015 06:54 AM, "Jose Núñez-Martínez (CTTC)" wrote:
>>>> Thanks for your answer. My goal was to create a monitor interface 
>>>> (mon2) and another (wlan2) in ibss mode associated to the same 
>>>> physical device. This is the
>>>> command I tried to create a virtual interface associated to phy0 in 
>>>> monitor mode:
>>>> iw phy phy0 interface add moni2 type monitor
>>> That looks right...that command works for me.  Maybe you already had
>>> moni2 created incorrectly?  Try starting from fresh reboot or driver
>>> reload?
>>> Also, you should not actually need a monitor dev to have CT firmware 
>>> work
>>> properly...but of course if you want to sniff frames, it can be useful.
>>> Thanks,
>>> Ben
>>>> As you mentioned it is somehow configured as "managed" and not as 
>>>> monitor. Any ideas?
>>>> Jose
>>>> On 07/06/2015 03:39 PM, Ben Greear wrote:
>>>>> On 07/06/2015 06:23 AM, "Jose Núñez-Martínez (CTTC)" wrote:
>>>>>> Hi,
>>>>>> I upgraded to CT kernel and firmware. Now I have: Kernel is 4.0.4 
>>>>>> from CT and Firmware is 10.1.467-ct-com-full-014-96d543
>>>>>> However I cannot bring up two virtal interfaces associated to one 
>>>>>> physical device.
>>>>>> The output of "iw dev" command:
>>>>>> phy#1
>>>>>>      Interface moni2
>>>>>>          ifindex 9
>>>>>>          wdev 0x100000002
>>>>>>          addr 04:f0:21:18:26:a5
>>>>>>          type managed
>>>>> It is type created this wrong somehow.
>>>>> If you want to bring up more than one managed interface, you have to
>>>>> change the MAC address first so that they are unique.
>>>>> Thanks,
>>>>> Ben
>>>>>>      Interface wlan2
>>>>>>          ifindex 7
>>>>>>          wdev 0x100000001
>>>>>>          addr 04:f0:21:18:26:a5
>>>>>>          type IBSS
>>>>>> This is the error shown when I try to bring up moni2 interface 
>>>>>> (ifconfig moni2 up): "SIOCSIFFLAGS: Name not unique on network"
>>>>>> Jose
>>>>>> On 07/03/2015 12:45 PM, Michal Kazior wrote:
>>>>>>> On 3 July 2015 at 12:17, "Jose Núñez-Martínez (CTTC)"
>>>>>>> <jose.nunez at> wrote:
>>>>>>>> I'm trying to set BSSID mask in ath10k so that data packets 
>>>>>>>> with spoofed mac
>>>>>>>> destination address can be received (and not dropped) by the card.
>>>>>>>> Apparently the way bssid mask is managed has changed from ath5k 
>>>>>>>> and ath9k
>>>>>>>> since there are not  "ath5k_hw_set_bssid_mask" or
>>>>>>>> "ath9k_htc_set_mac_bssid_mask"  kind of functions.
>>>>>>>> Anyone tried this?
>>>>>>> There's no explicit control over Rx filters in ath10k that I 
>>>>>>> know of.
>>>>>>> This is abstracted away by other firmware higher-level commands. 
>>>>>>> One
>>>>>>> way to influence Rx filter (and BSSID mask) is to start a 
>>>>>>> monitor vdev
>>>>>>> in firmware. This apparently works[1] but 636 will crash on you 
>>>>>>> again
>>>>>>> if you do that. You'll need Ben's CT firmware.
>>>>>>> [1]: 
>>>>>>> Michał
>>>>>>> _______________________________________________
>>>>>>> ath10k mailing list
>>>>>>> ath10k at

Jose Núñez-Martínez, PhD
Researcher               email: jose.nunez at
COMNET Division     Web:

Centre Tecnològic de Telecomunicacions de Catalunya (CTTC)
Parc Mediterrani de la Tecnologia
Av. Carl Friedrich Gauss, 7                Ph.:+34 936452927
08860 Castelldefels - Barcelona            Fax: +34 936452901

More information about the ath10k mailing list