berlin-open-wireless-lab / DAWN

Decentralized WiFi Controller
GNU General Public License v2.0
351 stars 62 forks source link

MAC Address Ignore List #196

Open thecodeprofessor opened 1 year ago

thecodeprofessor commented 1 year ago

DAWN is working perfectly with my OpenWrt access points with one exception. It keeps disconnecting my Tuya IOT devices because of little or no data transfer.

Fri Aug 19 19:01:32 2022 daemon.info dawn: Client 38:1F:8D:00:00:00: Kicking due to low active data transfer: RX rate 1.000000 below 6 limit

I have tried setting option bandwidth_threshold to '0' but that does not prevent the kick, it only ignores the bandwidth check.

Is there already a way to create a list of MAC addresses that are never kicked, or have DAWN ignore all clients connected to a specific SSID?

starskyzheng commented 1 year ago

+1 My android TV has a terrible wireless card, and located between two DAWN APs. So TV always been kick between these two APs. So i hope to add this TV to a list which not managed by DAWN. Or to force this TV can only connected to a specific AP.

PolynomialDivision commented 1 year ago

This was already implemented some time ago because of problematic IOT devices. There was a mechanism to recognize if steering is problematic with some device and if so, the mac is written into a file. However, this is no longer there, but it can be re-implemented.

Flole998 commented 1 year ago

Client 38:1F:8D:00:00:00: Kicking due to low active data transfer: RX rate 1.000000 below 6 limit

I am seeing this aswell for some IoT-Clients. However, I haven't figured out how to enable "legacy device kicking" so nothing is happening apparently. I would expect that the same thing that happens when I click "disconnect" in LUCI for a client is also happening if a client didn't react to a kick for x times.

Flole998 commented 1 year ago

@PolynomialDivision I'm just wondering: Has the "legacy kicking algorithm" been removed? There doesn't seem to be a codepath that does it anymore? There used to be https://github.com/berlin-open-wireless-lab/DAWN/blob/10fb04317b81b8e977cd23d67ccf4ff633425024/src/storage/datastorage.c#L593 but that has been removed?

PolynomialDivision commented 1 year ago

This is now controlled by the disassociation_imminent in the bss_transition_request ubus-method. So a wnm_disassoc_imminent is a kick, and bss_transition_request a request without kicking the client at the end.

patrykk commented 6 months ago

Hi, Is there any update with the topic or any other option to add list of the devices which should not be band steering? Thanks in advance.