Do you really need the 2.4 GHz radio and the auto band steering?
What most people do is, to set different SSIDs and using 2.4 GHz for their far distance IoT devices and use 5GHz for their laptops and ipads and phones.
While IoT and guest networks are commonly used, splitting 2.4- and 5 GHz networks for the main WLAN rarely makes sense - keep in mind, being slow or required for old/ low-end devices isn't the only purpose of the 2.4 GHz band… Range and wall-penetration are major topics as well, you want to retain WLAN connectivity in the garden, the drive way, etc.? 5 GHz isn't going to help you much, but 2.4 GHz will go a lot further. Battery powered devices also have a tendency to revert to 2.4 GHz, if performance isn't required/ if they're idle/ sleeping, for pretty much the same reasons (it's easier/ cheaper to receive beacons that way); yes, these devices will cope with 5-GHz-only networks, at a cost (battery usage/ range).
I have two separate SSID, but even with the above, they never give up what they connected to last. Linux machines are a little better here
The problem is that if 5ghz is in range, it is almost always superior. I quite often wander into the garden where 5ghz wont reach so devices need to be both
I also have an annoying old printer that can't use the 5ghz!
Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have:
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 23.05.5, r24106-10cc5fcd00
-----------------------------------------------------
root@asus:~# ubus call system board
{
"kernel": "5.15.167",
"hostname": "asus",
"system": "ARMv8 Processor rev 4",
"model": "ASUS TUF-AX6000",
"board_name": "asus,tuf-ax6000",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "23.05.5",
"revision": "r24106-10cc5fcd00",
"target": "mediatek/filogic",
"description": "OpenWrt 23.05.5 r24106-10cc5fcd00"
}
}
root@asus:~# cat /etc/config/network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'DontUseIpv6'
config device
option name 'br-lan'
option type 'bridge'
option ipv6 '0'
list ports 'eth1'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
list ports 'lan5'
config device
option name 'lan1'
option macaddr 'mac'
config device
option name 'lan2'
option macaddr 'mac'
config device
option name 'lan3'
option macaddr 'mac'
config device
option name 'lan4'
option macaddr 'mac'
config device
option name 'lan5'
option macaddr 'mac'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.212.4'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.212.1'
list dns '192.168.212.1'
list dns_search 'home'
config device
option name 'eth1'
option macaddr 'mac'
config device
option name 'eth0'
option ipv6 '0'
root@asus:~# cat /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/soc/18000000.wifi'
option channel '6'
option band '2g'
option htmode 'HE40'
option country 'GB'
option cell_density '0'
option txpower '10'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'SSID'
option encryption 'psk2'
option key 'PWPWPW'
option macfilter 'allow'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
config wifi-device 'radio1'
option type 'mac80211'
option path 'platform/soc/18000000.wifi+1'
option channel '36'
option band '5g'
option htmode 'HE160'
option country 'GB'
option cell_density '0'
option txpower '20'
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option ssid 'SSID'
option encryption 'sae'
option key 'PWPWPW'
option macfilter 'allow'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
list maclist 'MAC'
root@asus:~# cat /etc/config/dhcp
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
root@asus:~# cat /etc/config/firewall
config defaults
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option synflood_protect '1'
root@asus:~# cat /etc/config/usteer
config usteer
# The network interface for inter-AP communication
option 'network' 'lan'
# Log messages to syslog (0/1)
option 'syslog' '1'
# Disable network communication (0/1)
option local_mode '0'
# Use IPv6 for remote exchange
option 'ipv6' '0'
# Minimum level of logged messages
# 0 = fatal
# 1 = info
# 2 = verbose
# 3 = some debug messages
# 4 = network packet information
# 5 = all debug messages
option 'debug_level' '2'
# Maximum number of neighbor reports set for a node
#option max_neighbor_reports 8
# Maximum amount of time (ms) a station may be blocked due to policy decisions
#option sta_block_timeout 30000
# Maximum amount of time (ms) a local unconnected station is tracked
#option local_sta_timeout 120000
# Maximum amount of time (ms) a measurement report is stored
#option measurement_report_timeout 120000
# Local station information update interval (ms)
#option local_sta_update 1000
# Maximum number of consecutive times a station may be blocked by policy
#option max_retry_band 5
# Maximum idle time of a station entry (ms) to be considered for policy decisions
#option seen_policy_timeout 30000
# Minimum number of stations delta between APs before load balancing policy is active
#option load_balancing_threshold 0
# Minimum number of stations delta between bands before band steering policy is active
#option band_steering_threshold 5
# Interval (ms) between sending state updates to other APs
#option remote_update_interval 1000
# Number of remote update intervals after which a remote-node is deleted
#option remote_node_timeout 10
# Allow rejecting assoc requests for steering purposes (0/1)
#option assoc_steering 0
# Allow ignoring probe requests for steering purposes (0/1)
#option probe_steering 0
# Minimum signal-to-noise ratio or signal level (dBm) to allow connections
#option min_connect_snr 0
# Minimum signal-to-noise ratio or signal level (dBm) to remain connected
#option min_snr 0
# Timeout after which a station with snr < min_snr will be kicked
#option min_snr_kick_delay 5000
# Timeout (ms) for which a client will not be steered after rejecting a BSS-transition-request
#option steer_reject_timeout 60000
# Timeout (in ms) after which a association following a disassociation is not seen
# as a roam
#option roam_process_timeout 5000
# Minimum signal-to-noise ratio or signal level (dBm) before attempting to trigger
# client scans for roaming
#option roam_scan_snr 0
# Maximum number of client roaming scan trigger attempts
#option roam_scan_tries 3
# Retry scanning when roam_scan_tries is exceeded after this timeout (in ms)
# In case this option is set to 0, the client is kicked instead
#option roam_scan_timeout 0
# Minimum time (ms) between client roaming scan trigger attempts
#option roam_scan_interval 10000
# Minimum signal-to-noise ratio or signal level (dBm) before attempting to trigger
# forced client roaming
#option roam_trigger_snr 0
# Minimum time (ms) between client roaming trigger attempts
#option roam_trigger_interval 60000
# Timeout (ms) for client roam requests. usteer will kick the client after this times out.
#option roam_kick_delay 10000
# Minimum signal strength difference until AP steering policy is active
#option signal_diff_threshold 0
# Initial delay (ms) before responding to probe requests (to allow other APs to see packets as well)
#option initial_connect_delay 0
# Enable kicking client on excessive channel load (0/1)
#option load_kick_enabled 0
# Minimum channel load (%) before kicking clients
#option load_kick_threshold 75
# Minimum amount of time (ms) that channel load is above threshold before starting to kick clients
#option load_kick_delay 10000
# Minimum number of connected clients before kicking based on channel load
#option load_kick_min_clients 10
# Reason code on client kick based on channel load (default: WLAN_REASON_DISASSOC_AP_BUSY)
#option load_kick_reason_code 5
# Attempting to steer clients to a higher frequency-band every n ms.
# A value of 0 disabled band-steering.
#option band_steering_interval 120000
# Minimal SNR or absolute signal a device has to maintain over band_steering_interval to be
# steered to a higher frequency band
#option band_steering_min_snr -60
# Interval (ms) the device is sent a link-measurement request to help assess
# the bi-directional link quality. Setting the interval to 0 disables link-measurements.
#option link_measurement_interval 30000
# Script to run after bringing up a node
#option node_up_script ''
# Message types to include in log
# Available types:
# - probe_req_accept
# - probe_req_deny
# - auth_req_accept
# - auth_req_deny
# - assoc_req_accept
# - assoc_req_deny
# - load_kick_trigger
# - load_kick_reset
# - load_kick_min_clients
# - load_kick_no_client
# - load_kick_client
# - signal_kick
#list event_log_types ''
# List of SSIDs to enable steering on
#list ssid_list ''
root@asus:~# cat /etc/config/dawn
config local
option loglevel '0'
config network
option broadcast_ip '10.0.0.255'
option broadcast_port '1025'
option tcp_port '1026'
option network_option '2'
option shared_key 'Niiiiiiiiiiiiick'
option iv 'Niiiiiiiiiiiiick'
option use_symm_enc '0'
option collision_domain '-1'
option bandwidth '-1'
config hostapd
option hostapd_dir '/var/run/hostapd'
config times
option con_timeout '60'
option update_client '10'
option remove_client '15'
option remove_probe '30'
option remove_ap '460'
option update_hostapd '10'
option update_tcp_con '10'
option update_chan_util '5'
option update_beacon_reports '20'
config metric 'global'
option min_probe_count '3'
option bandwidth_threshold '24'
option use_station_count '0'
option max_station_diff '1'
option eval_probe_req '0'
option eval_auth_req '0'
option eval_assoc_req '0'
option kicking '1'
option kicking_threshold '20'
option deny_auth_reason '1'
option deny_assoc_reason '17'
option min_number_to_kick '2'
option chan_util_avg_period '3'
option set_hostapd_nr '0'
option duration '0'
option rrm_mode 'pat'
config metric '802_11g'
option initial_score '65'
option ht_support '5'
option vht_support '5'
option no_ht_support '0'
option no_vht_support '0'
option rssi '15'
option rssi_val '-60'
option low_rssi_val '-80'
option low_rssi '-15'
option chan_util '0'
option chan_util_val '140'
option max_chan_util '-15'
option max_chan_util_val '170'
option rssi_weight '0'
option rssi_center '-70'
config metric '802_11a'
option initial_score '100'
option ht_support '7'
option vht_support '7'
option no_ht_support '0'
option no_vht_support '0'
option rssi '15'
option rssi_val '-60'
option low_rssi_val '-80'
option low_rssi '-15'
option chan_util '0'
option chan_util_val '140'
option max_chan_util '-15'
option max_chan_util_val '170'
option rssi_weight '1'
option rssi_center '-70'