Deciphering the output of iw list valid interface combinations

I’m trying to decipher a portion of the output from ‘iw list.’ I tried to search online and could not find an explanation of how to interpret the output. I’m interested in utilizing a wireless adapter in Wi-Fi Direct mode and I want to make sure that it is compatible.

Part of ‘iw list’ gives me the following output:

    Supported RX frame types:
     * IBSS: 0x40 0xb0 0xc0 0xd0
     * managed: 0x40 0xd0
     * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
     * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
     * mesh point: 0xb0 0xc0 0xd0
     * P2P-client: 0x40 0xd0
     * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
     * P2P-device: 0x40 0xd0
WoWLAN support:
     * wake up on disconnect
     * wake up on magic packet
     * wake up on pattern match, up to 20 patterns of 16-128 bytes,
       maximum packet offset 0 bytes
     * can do GTK rekeying
     * wake up on GTK rekey failure
     * wake up on EAP identity request
     * wake up on 4-way handshake
     * wake up on rfkill release
     * wake up on TCP connection
software interface modes (can always be added):
     * AP/VLAN
     * monitor
valid interface combinations:
     * #{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1,
       total <= 3, #channels <= 2

Under the “Supported RX frame types” heading, it shows IBSS, managed, AP, AP/VLAN, mesh point, P2P-client, P2P-GO, and P2P-device. Does that mean that my adapter supports each of those modes?

And under “valid interface combinations”, can someone explain how to interpret the output?

Does it mean I can choose only one of the three combinations of:

1) managed

2) AP, P2P-client, P2P-GO

3) P2P-device

and if I choose to set my adapter to P2P-GO, I can’t have it simultaneously act as a P2P-device?

I’ve seen another valid interface combination as:

#{ IBSS, managed, AP } <= 2, #{ P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1, total <= 3, #channels <= 2

does that mean if I can choose both managed an AP since for the first set, it’s <=2? And if so, that doesn’t mean I can mix AP mode with P2P-GO correct?

If anyone can either clarify how I can interpret the output or point me to an explanation, I’d greatly appreciate it.


Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

I struggled with the same thing not so long ago. Took a bit of source code reading to find out the basics.

Yes, your adapter supports each of the modes listed.

Every line under valid interface combinations contains one possibilty for a combination. If there are several lines, you choose any line, and make a valid combination with the restrictions in this line. Each of the restrictions mentioned must be fullfilled.

Your adapter only has a single line, so there’s no choice.

The notation #{ ... } reads “number of interface of the following type”.

So in words, the line

#{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1, total <= 3, #channels <= 2


You can have a maximum a 3 simultaneous interfaces (in addition to the software interface modes). Those interfaces can use at most 2 different channels (so at least 2 interfaces must use the same channel).

You can have one managed interface (also called “station” or “client”), either one access point (AP) or one P2P-client or one P2P-GO interface, and one P2P-device interface.

The line

#{ IBSS, managed, AP } <= 2, #{ P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1, total <= 3, #channels <= 2

means you can have at most two interfaces that are either IBSS, managed or AP (but can be the same), at most one P2P-client or P2P-go interface, and at most one P2P-device interface. But you can’t have more than three in total, so if you choose two from the first group, you can choose only one of the two last groups.

I haven’t tried to set up Wi-Fi Direct myself yet, but both restrictions on the P2P modes look similar, so I’d assume both should work with Wi-Fi Direct.

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply