Someone a 802.11v device?

Hi,
can someone check if my patch is correct with an 802.11v device that supports bss transition?

I'm adding bss_transition to config but there is already some bss_transition bool but I don't understand what this does.... Can somebody explain?

Thanks! :slight_smile:

What should this improve? Don´t understand how this single option will improve bss transition...

Here is the confg doc about the current 802.11r bss transition, but this need the full wpad package and not the mini package...
https://openwrt.org/docs/guide-user/network/wifi/basic#fast_bss_transition_options

I'm talking about 802.11v and not 802.11r.

I want to find out if bss_transition is supported. With that I want to use 802.11v functionality to build my own controller.

To activate bss_transition

    option ieee80211v '1'
    option bss_transition '1'

So my patch to add this in hostapd.sh was just useless.

bss_transition is used in 802.11r and 802.11v?

There is no station at my home that supports 802.11v bsstransition ^^
Just wanted to know if I did something wrong...

Here is the new commit:

802.11v is supported on "recent" iOS devices

What should your patch do?

Here is a commit that adds 802.11v and bss_transition...
https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=83b4fa9b3ba5622f9219094a4060d76ffe05c717

Windows 10 should also support 802.11v, but i don´t know how to check if it will work nor i know what it should improve...

The commit adds to the ubus get_client call if the station supports bss transition.
So I just wanted to check if a station supports bss transition without having to look at some pcap file.

I'm a bit confused right now, because on the one side there is 802.11v and on the other there are mbo stations.
MBO (what is the full written nam???) is just like combining 802.11v and 802.11k.
There is already a function in hostapd to check if a station is an mbo station by checking the signature (?) against a value.
What I'm doing is to check in the extended capabilities if the bss transition flag is set.

If the stations is supporting 802.11v an AP can use it to manage stations. And I want to make use of it.
Furthemore, 802.11v is about power saving (sleep mode stuff). <- Not interesting for me

I want to try load balancing with 802.11v (Client Steering). Instead of dissasociate a client and deny it's request or supress probe responses from other APs to guide the client to some AP, 802.11v gives me the ability to send some AP to the station. When the staion can initiate a fast roaming (forgot the name ... so 802.11r) procedure and joins the given AP. If an AP brutally disassocs some client, the client has to do the slow roaming. Ongoing network connections are delayed... Furthermore there is network reconfiguration, etc. ...

I wrote something in my final post (see section 5):
https://blog.freifunk.net/2018/08/13/dawn-final-post/

But it seems like there are no station that successful support 802.11v. ^^ (or IOS)

I don't know if Windows can just say that they are now supporting 802.11v because the WiFi driver is often handling all the stuff... (???) Or is this incorrect?

On windows 10 it depends on the wifi driver... Don´t know which wireless cards / drivers does support 802.11v.

Thanks for your explanation.
I will take a deeper look in your blog post soon.

Sadly, I can not go on with this idea, because I have no 802.11v device. xD

Or my patch is wrong... ^^

Can you give me an example ubus command to check for 802.11v support of a connected station?

If u use my hostapd stuff I linked and run

ubus call hostapd.[iface] get_clients

Or switch call and hostapd.ifacename... I'm Not Sure right now.

(Using my Mobile Phone to write this^^)

Thanks, i will test it and report if i could see a bss transition / 802.11v capable device...

1 Like

Sadly this flag ist Not Set or even contained in the Probe requests (i think)... Otherwise i could Just collect some statistics about 802.11v.

All my devices have "bss_transition": false, with the command ubus call hostapd.wlan0 get_clients.

My setup:

  • your patch
  • wpad (full)
  • /etc/config/wireless -> option ieee80211v '1' & option bss_transition '1'

Tried with wireshark to sniff some packages but i didn´t found a corresponding flag set...
I though at least my windows 10 notebook with intel 8260 should support bss transition, but looks like not.
Can you give me a short introduction about the capability flag on a dumped connection establishment?

Is your patch relly needed? I see with the ubus call there is also for example extcap:04000a0200000040 which should also show the determined capabilities, or not?

Finally I can answer you. ^^

You have to look how this string:

 extcap:04000a0200000040 

is built.
Is each number a byte? xD

I just don't know how this string is built yet but you could just check if the correct bit in the correct byte is set. :wink:

This is whats done in hostapd:

if (id == WLAN_EID_EXT_CAPAB) {
    /* Extended Capabilities */
    int i;
    int len = (elen < MAX_EXTCAP) ? elen :
	    MAX_EXTCAP;
    char *p = extca    
    p += os_snprintf(extcap, sizeof(extcap),
			    ",extcap:");
    for (i = 0; i < len; i++) {
	    int li    
	    lim = sizeof(extcap) -
		    os_strlen(extcap);
	    if (lim <= 0)
		    break;
	    p += os_snprintf(p, lim, "%02x",
				    *(ie + i));
    }
}

And ie is a

const u8 *ie;

So I print from each byte at least 2 digits???

I think if (ext_capab_ie[3] & 0x08) in your patch is wrong.
Should be if (ext_capab_ie[2] & 0x08)
Always remember C array starts at 0 :slight_smile:

1 Like

Wow. You are right. oO
Bit 19 ... >.>

How did u find this topic?

Thanks a lot.

Ask Google :slight_smile:

Did someone actually manage to get 802.11v working?