If you don't like or use the dual/multi band Smart Connect feature, this is not for you.
This is an unofficial / unsupported advanced method for ASUSWRT routers to kick a client off the WiFi and (hopefully) get it to reconsider its choice of radio band (2.4 / 5 / 6 GHz) on a single-SSID network with Smart Connect. While Smart Connect is supposed to do this automatically, some clients don't respond to the gentle nudges it gives and need a more forceful kick. This applies to ASUSWRT routers with Broadcom WiFi (and probably works for many other Linux routers with Broadcom WiFi).
This requires Telnet / SSH access to the router command line interface. If you don't know what that is, this procedure might not be something you should attempt. This uses a low level Broadcom configuration and diagnostic command that is not really intended to be used by end-users. The command is /usr/sbin/wl (or just wl, as it's usually in your PATH on the admin command line). This command has some extremely advanced and low level WiFi configuration available, and some other sub-commands which could potentially cause illegal radio transmissions if misused (which can result in heavy fines). Use this command at your own risk.
You can get a list of clients on each radio band at System Log - Wireless Log in the web GUI. You will need the MAC address of the client you want to kick, which is available from that list. http://www.asusrouter.com/Main_WStatus_Content.asp
You need to know the network interface names for your WiFi radio bands. On the GT-AX6000, these are eth6 for 2.4GHz and eth7 for 5GHz; other router models may use different names for them. You can confirm the names are WiFi interfaces with wl, e.g.:
root@GT-AX6000:/tmp/home/root# wl -i eth1 ver wl: wl driver adapter not found root@GT-AX6000:/tmp/home/root# wl -i eth6 ver Broadcom BCA: 17.10 RC188.6401 wl0: Mar 19 2023 18:14:52 version 184.108.40.20601 (r808804) FWID 01-44200 root@GT-AX6000:/tmp/home/root# wl -i eth7 ver Broadcom BCA: 17.10 RC188.6401 wl1: Mar 19 2023 18:14:52 version 220.127.116.1101 (r808804) FWID 01-3b000 root@GT-AX6000:/tmp/home/root#
This shows the response from a non-WiFi interface (eth1), and the two WiFi interfaces on a GT-AX6000 (eth6, eth7). The example commands below will all use eth6, but you should change that as required for your router. More detailed status of each interface is available, similar to the Wireless Log in the GUI, which can help you confirm which radio band is on a particular interface, e.g.:
root@GT-AX6000:/tmp/home/root# wl -i eth6 status SSID: "Network Name" Mode: Managed RSSI: 0 dBm SNR: 0 dB noise: -91 dBm Channel: 9 BSSID: 04:42:1A:xx:xx:xx Capability: ESS ShortSlot RRM Beacon Interval: 100 msecs Supported Rates: [ 1(b) 2(b) 5.5(b) 6 9 11(b) 12 18 24 36 48 54 ] HE Capable: Chanspec: 2.4GHz channel 9 20MHz (0x1009) Primary channel: 9 HT Capabilities: 40MHz SGI20 SGI40 Supported HT MCS : 0-31 Supported VHT MCS: NSS1 Tx: 0-11 Rx: 0-11 NSS2 Tx: 0-11 Rx: 0-11 NSS3 Tx: 0-11 Rx: 0-11 NSS4 Tx: 0-11 Rx: 0-11 Supported HE MCS: 20/40/80 MHz: NSS1 Tx: 0-11 Rx: 0-11 NSS2 Tx: 0-11 Rx: 0-11 NSS3 Tx: 0-11 Rx: 0-11 NSS4 Tx: 0-11 Rx: 0-11 QBSS Channel Utilization: 0x18 (9 %) root@GT-AX6000:/tmp/home/root#
The clients currently associated with each interface can be listed with "wl -i eth6 assoclist". Having identified the WiFi interfaces and the client MAC you wish to kick, simply do "wl -i eth6 deauthenticate <MAC_address>", e.g.
root@GT-AX6000:/tmp/home/root# wl -i eth6 deauthenticate 00:00:5E:00:53:00 root@GT-AX6000:/tmp/home/root#
Something similar to the following should be logged in the system log:
Apr 28 22:38:49 wlceventd: wlceventd_proc_event(503): eth6: Deauth_ind 00:00:5E:00:53:00, status: 0, reason: Unspecified reason (1), rssi:-59
That's it, the client has been kicked off the network. It's up to the client how it handles that, but the typical behaviour is that it will immediately try to reconnect to a network, and hopefully re-evaluate which radio band to use for a multi-band network. Some clients may be better than others at choosing the optimal network, and some may be stickier than others in terms of things like getting stuck on 2.4GHz when they should be on 5GHz.
I tried to adjust settings on the SmartConnect Rule page on a prior firmware version on the AXE16000. I used the AXE11000 manual to learn as much I could about steering rules. I have not checked the latest firmware but the default did not make sense and when settings were changed then apply button selected some just went back to the original, other settings would limit the rest in a way that you could not replicate the default without resetting. Do you happen to know how to adjust them? (Thank you for any direction you may point me). I suspected a bug in the settings page and sent a feedback while trying to change the rules. But since some of the settings just revert to default I’m not sure they even saw me attempt to change them…
I just use the simplest form of Smart Connect, based on the RSSI and the defaults. It they are on 2.4GHz and have a RSSI above -62, it tries to steer them over to 5GHz. If they are on 5GHz and have a RSSI below -82, it tries to steer them to 2.4GHz.
It seems to work nicely with my Android phone, for example, automatically roaming between the two bands and preferring 5GHz when it's within range. Some other devices just don't seem to take the hint, such as Sonos speakers; they will move to 2.4GHz if the 5GHz signal gets too weak for them (or if I reboot the router), but don't automatically move back to the 5GHz. Using multiple SSIDs did not work well for roaming for me.
I've not really played around with the other parameters for Smart Connect, as that default behaviour above is exactly what I want/need. There's a lot of 2.4GHz networks within range of my network, so I want everything on 5GHz when possible. The 3467/4804Mbps (AC/AX) theoretical bandwidth on 5GHz 4x4 160 MHz is sufficient for me, I don't need the 2.4GHz bandwidth for capacity.