I've spent several hours searching through the forum, archives and docs. I would just like it if someone can clarify something for me, please.
My question specifically relates to the following:
/etc/config/wireless
option channel 'auto'
option channels '149 100 36'
Some past forum posts suggest not to use option channel 'auto'
. However, the documentation suggests Use specific channels, when channel is in “auto” mode
. To me, that suggests that the fallback channels wont even come into play without option channel 'auto'
being set.
/etc/config/wireless
option channel '149'
option channels '149 100 36'
or
/etc/config/wireless
option channel '100'
option channels '149 100 36'
Now, what if I want to always start with channel 149 (or DFS channel 100) , would the type of config (above) start with channel 149 (or DFS channel 100) and if that fails, utilize one of the fallback channels?
To clarify, if I specify a specific channel in option channel
, would that always be the starting channel and, in case of failure of some sort, fallback to channels specified in option channels
?
I just feel like the more I read in the forums and documentation, the more unsure I am about how this works with fallback channels.
Thank you for your time.
brada4
September 7, 2024, 1:37pm
2
Fallback channels come in play ONLY when radar is detected in current channel.
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:
ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall
iw list | less # here press /Frequencies and copy 5GHz channel map
1 Like
WildByDesign:
To clarify, if I specify a specific channel in option channel
, would that always be the starting channel and, in case of failure of some sort, fallback to channels specified in option channels
?
Yes, like brada4 said...
I also prefer a high channel because usually not so crowded. Using it myself with the same intention you mentioned because once in a while radar detection kicks in.
option channel '120'
option channels '36-64'
1 Like
brada4
September 7, 2024, 1:51pm
4
You can tune ACS to prefer one channel more than other for initial selection.
1 Like
Is that done with acs_chan_bias
in hostapd.conf
or can it be done within the wireless
config file?
I don’t have access to my router right now so I will follow up more on the other comments later in the day.
Thank you. This sounds like something that I would like to try as well.
brada4
September 7, 2024, 3:14pm
7
Provide config details about your system. There are dozen other places you can break your wifi before editing wireless conf file.
/etc/config$ ubus call system board
{
"kernel": "5.15.150",
"hostname": "OpenWrt",
"system": "ARMv7 Processor rev 1 (v7l)",
"model": "Linksys WRT3200ACM",
"board_name": "linksys,wrt3200acm",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "23.05.3",
"revision": "r23809-234f1a2efa",
"target": "mvebu/cortexa9",
"description": "OpenWrt 23.05.3 r23809-234f1a2efa"
}
}
/etc/config$ 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 'fdae:cdee:280d::/48'
option packet_steering '1'
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option delegate '0'
list dns '208.67.222.222'
list dns '208.67.220.220'
list dns '149.112.121.10'
list dns '149.112.122.10'
config device
option name 'wan'
option macaddr 'xx:xx:xx:xx:xx:xx'
option ipv6 '0'
config interface 'wan'
option device 'wan'
option proto 'dhcp'
option peerdns '0'
option delegate '0'
/etc/config$ cat /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option macaddr 'xx:xx:xx:xx:xx:xx'
option channel '149'
option band '5g'
option htmode 'VHT40'
option cell_density '0'
option country 'US'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'OpenWrt-5GHz'
option encryption 'psk2+ccmp'
option key 'xxxxx'
option disassoc_low_ack '0'
option wpa_group_rekey '86400'
option ieee80211w '0'
option dtim_period '3'
option macaddr 'xx:xx:xx:xx:xx:xx'
config wifi-device 'radio1'
option type 'mac80211'
option macaddr 'xx:xx:xx:xx:xx:xx'
option channel '1'
option band '2g'
option htmode 'HT20'
option cell_density '0'
option country 'US'
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option ssid 'OpenWrt-2.4GHz'
option key 'xxxxx'
option encryption 'psk2+ccmp'
option disassoc_low_ack '0'
option wpa_group_rekey '86400'
option ieee80211w '0'
option dtim_period '3'
option macaddr 'xx:xx:xx:xx:xx:xx'
/etc/config$ cat /etc/config/dhcp
config dnsmasq 'main'
option interface 'lan'
option domainneeded '1'
option boguspriv '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option localservice '1'
option ednspacket_max '1232'
option cachesize '2000'
option dnsforwardmax '1000'
list server '208.67.222.222'
list server '208.67.220.220'
option noresolv '1'
option confdir '/tmp/dnsmasq.d'
config dnsmasq 'kidsafe'
option port '5353'
option domainneeded '1'
option boguspriv '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/kidsafe/'
option domain 'kidsafe'
option expandhosts '1'
option authoritative '1'
option readethers '1'
option localservice '1'
option ednspacket_max '1232'
option cachesize '1000'
option dnsforwardmax '1000'
# DNS Servers
list server '208.67.222.123'
list server '208.67.220.123'
option noresolv '1'
option confdir '/etc/dnsmasq.kidsafe'
config dnsmasq 'kidsafetube'
option port '5454'
option domainneeded '1'
option boguspriv '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/kidsafetube/'
option domain 'kidsafetube'
option expandhosts '1'
option authoritative '1'
option readethers '1'
option localservice '1'
option ednspacket_max '1232'
option cachesize '1000'
option dnsforwardmax '1000'
# DNS Servers
list server '208.67.222.123'
list server '208.67.220.123'
option noresolv '1'
option confdir '/etc/dnsmasq.kidsafe.yt'
config dhcp 'lan'
option instance 'main'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
/etc/config$ cat /etc/config/firewall
config defaults
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
config zone
option name 'wan'
option output 'ACCEPT'
option masq '1'
option mtu_fix '1'
list network 'wan'
option input 'DROP'
option forward 'DROP'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
option enabled '0'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fc00::/6'
option dest_ip 'fc00::/6'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config redirect
option target 'DNAT'
option name 'KidSafe DNS'
option src 'lan'
option proto 'tcp udp'
list src_mac 'xx:xx:xx:xx:xx:xx'
list src_mac 'xx:xx:xx:xx:xx:xx'
list src_mac 'xx:xx:xx:xx:xx:xx'
option src_dport '53'
option dest_port '5353'
config redirect
option target 'DNAT'
option name 'KidSafe DNS YT'
option src 'lan'
option proto 'tcp udp'
list src_mac 'xx:xx:xx:xx:xx:xx'
list src_mac 'xx:xx:xx:xx:xx:xx'
list src_mac 'xx:xx:xx:xx:xx:xx'
option src_dport '53'
option dest_port '5454'
iw list | less # here press /Frequencies and copy 5GHz channel map
Frequencies:
* 5180 MHz [36] (23.0 dBm)
* 5200 MHz [40] (23.0 dBm)
* 5220 MHz [44] (23.0 dBm)
* 5240 MHz [48] (23.0 dBm)
* 5260 MHz [52] (24.0 dBm) (radar detection)
* 5280 MHz [56] (24.0 dBm) (radar detection)
* 5300 MHz [60] (24.0 dBm) (radar detection)
* 5320 MHz [64] (24.0 dBm) (radar detection)
* 5500 MHz [100] (24.0 dBm) (radar detection)
* 5520 MHz [104] (24.0 dBm) (radar detection)
* 5540 MHz [108] (24.0 dBm) (radar detection)
* 5560 MHz [112] (24.0 dBm) (radar detection)
* 5580 MHz [116] (24.0 dBm) (radar detection)
* 5600 MHz [120] (24.0 dBm) (radar detection)
* 5620 MHz [124] (24.0 dBm) (radar detection)
* 5640 MHz [128] (24.0 dBm) (radar detection)
* 5660 MHz [132] (24.0 dBm) (radar detection)
* 5680 MHz [136] (24.0 dBm) (radar detection)
* 5700 MHz [140] (24.0 dBm) (radar detection)
* 5720 MHz [144] (24.0 dBm) (radar detection)
* 5745 MHz [149] (30.0 dBm)
* 5765 MHz [153] (30.0 dBm)
* 5785 MHz [157] (30.0 dBm)
* 5805 MHz [161] (30.0 dBm)
brada4
September 14, 2024, 3:55pm
9
Use vht80, for vht40 you need to specify 2x more channels.
80: 36 52 100 116 132 149
40: 36 44 52 60 .... 157
Best 20MHz sub-channel will be selected independent of your setting - 36 is equivalent to 40 44 48, and so on.
You can influence ACS algorithm to reflect your preferences like here:
https://w1.fi/cgit/hostap/tree/hostapd/hostapd.conf#n198
"less is more" the channel occupancy rank is multiplied by this.
1 Like