The APs overlap 100%, that's the weird part. But that only makes things worse.
My laptop for example, is sometimes jumping randomly like crazy from on AP to another, without moving at all, and it (almost) never sends de-auth packages. The signal is between -40 and -55 for both APs, I'm using a BCM4313 PCIe adapter on Ubuntu.
But it's not the only device that does that. I also had this problem with Android phones or tablets.
I just assumed that I can't rely on clients doing that.
I someone is curious, I still need the second AP because I use a Chromecast device, which probably has a lower sensitivity and/or transmit power and can't play 1080p content when connected to the main AP.
I will probably end up with using different network names, and forcing some devices on a certain AP.
I never used 802.11r, but from what I read, if only changes the key negotiation part.
I still think that manual disassociation could help.
I learned that hostapd_cli can do that, I just need to call a script whenever a client is associated.
Is there any way of doing that?
I can even modify hostapd if I really have to, but I wouldn't want to create more bugs.
LE:
I added the "feature" to hostapd.
Added this in ieee802.11.c at line 2432, right after the device is logged as associated.
I didn't bother to add a config option for it, because it will never be included in hostapd.
char macStr[18];
int res = os_snprintf(macStr, 18, MACSTR, MAC2STR(sta->addr));
if (res != -1)
os_exec("/usr/local/bin/wifi_assoc.sh", macStr, 0);
and the script:
#!/bin/sh
ssh -y -i /root/.ssh/id_rsa root@192.168.0.1 "hostapd_cli disassociate ${1}"
Until I find a nicer solution, I guess this will do it. It seems to work.
(Last edited by load.runner on 22 Apr 2015, 22:49)