Orbi rbk50 Atheros QCA9984 802.11ac/n issue with VHT160 in mesh configuration

I have multiple Orbi rbk50 (rbr50+rbs50) both flashed with OpenWrt 24.10.2 r28739-d9340319c6 / LuCI openwrt-24.10 branch 25.168.50434~d6b13f6

the mesh is working normal with QCA9984 channel 149 + htmode 'VHT80' + US country set
I have three problems,
problem 1) when adjust width to 160 its does not work:

Wed Jul  9 17:20:38 2025 daemon.notice wpa_supplicant[940]: Set new config for phy phy0
Wed Jul  9 17:20:38 2025 daemon.notice hostapd: Set new config for phy phy0:
Wed Jul  9 17:20:38 2025 kern.warn kernel: [ 4183.802239] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 0
Wed Jul  9 17:20:38 2025 kern.info kernel: [ 4183.886625] br-lan: port 5(phy0-mesh0) entered disabled state
Wed Jul  9 17:20:38 2025 kern.info kernel: [ 4183.951000] ath10k_pci 0000:01:00.0 phy0-mesh0 (unregistering): left allmulticast mode
Wed Jul  9 17:20:38 2025 kern.info kernel: [ 4183.951074] ath10k_pci 0000:01:00.0 phy0-mesh0 (unregistering): left promiscuous mode
Wed Jul  9 17:20:38 2025 kern.info kernel: [ 4183.957881] br-lan: port 5(phy0-mesh0) entered disabled state
Wed Jul  9 17:20:44 2025 kern.warn kernel: [ 4190.173047] ath10k_pci 0000:01:00.0: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
Wed Jul  9 17:20:44 2025 kern.warn kernel: [ 4190.173125] ath10k_pci 0000:01:00.0: msdu-desc: 2500  skid: 32
Wed Jul  9 17:20:44 2025 kern.info kernel: [ 4190.256409] ath10k_pci 0000:01:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
Wed Jul  9 17:20:44 2025 kern.info kernel: [ 4190.257235] ath10k_pci 0000:01:00.0: wmi print 'free: 84920 iram: 13156 sram: 11224'
Wed Jul  9 17:20:45 2025 kern.info kernel: [ 4190.642264] ath10k_pci 0000:01:00.0: rts threshold -1
Wed Jul  9 17:20:45 2025 kern.warn kernel: [ 4190.642535] ath10k_pci 0000:01:00.0: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4
Wed Jul  9 17:20:45 2025 kern.info kernel: [ 4190.654087] br-lan: port 5(phy0-mesh0) entered blocking state
Wed Jul  9 17:20:45 2025 kern.info kernel: [ 4190.657307] br-lan: port 5(phy0-mesh0) entered disabled state
Wed Jul  9 17:20:45 2025 kern.info kernel: [ 4190.663181] ath10k_pci 0000:01:00.0 phy0-mesh0: entered allmulticast mode
Wed Jul  9 17:20:45 2025 kern.info kernel: [ 4190.669114] ath10k_pci 0000:01:00.0 phy0-mesh0: entered promiscuous mode
Wed Jul  9 17:20:45 2025 daemon.notice netifd: radio0 (3278): kernel reports: invalid channel definition
Wed Jul  9 17:20:45 2025 daemon.notice netifd: radio0 (3278): command failed: Invalid argument (-22)
Wed Jul  9 17:20:45 2025 daemon.notice netifd: radio0 (3278): kernel reports: invalid channel definition
Wed Jul  9 17:20:45 2025 daemon.notice netifd: radio0 (3278): command failed: Invalid argument (-22)
Wed Jul  9 17:20:45 2025 daemon.notice netifd: Wireless device 'radio0' is now up

the most interested for me is: kernel reports: invalid channel definition !!!

root@OpenWrt:~# iw phy0 info | grep -A30 Frequencies
                Frequencies:
                        * 5180.0 MHz [36] (disabled)
                        * 5200.0 MHz [40] (disabled)
                        * 5220.0 MHz [44] (disabled)
                        * 5240.0 MHz [48] (disabled)
                        * 5260.0 MHz [52] (disabled)
                        * 5280.0 MHz [56] (disabled)
                        * 5300.0 MHz [60] (disabled)
                        * 5320.0 MHz [64] (disabled)
                        * 5500.0 MHz [100] (24.0 dBm) (radar detection)
                        * 5520.0 MHz [104] (24.0 dBm) (radar detection)
                        * 5540.0 MHz [108] (24.0 dBm) (radar detection)
                        * 5560.0 MHz [112] (24.0 dBm) (radar detection)
                        * 5580.0 MHz [116] (24.0 dBm) (radar detection)
                        * 5600.0 MHz [120] (24.0 dBm) (radar detection)
                        * 5620.0 MHz [124] (24.0 dBm) (radar detection)
                        * 5640.0 MHz [128] (24.0 dBm) (radar detection)
                        * 5660.0 MHz [132] (24.0 dBm) (radar detection)
                        * 5680.0 MHz [136] (24.0 dBm) (radar detection)
                        * 5700.0 MHz [140] (24.0 dBm) (radar detection)
                        * 5720.0 MHz [144] (24.0 dBm) (radar detection)
                        * 5745.0 MHz [149] (30.0 dBm)
                        * 5765.0 MHz [153] (30.0 dBm)
                        * 5785.0 MHz [157] (30.0 dBm)
                        * 5805.0 MHz [161] (30.0 dBm)
                        * 5825.0 MHz [165] (30.0 dBm)
                        * 5845.0 MHz [169] (27.0 dBm) (no IR)
                        * 5865.0 MHz [173] (disabled)
        valid interface combinations:
                 * #{ managed } <= 16, #{ AP, mesh point } <= 16, #{ IBSS } <= 1,
                   total <= 16, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 80+80 MHz, 160 MHz }
root@OpenWrt:~# iw phy0 channels
Band 2:
        * 5180 MHz [36] (disabled)
        * 5200 MHz [40] (disabled)
        * 5220 MHz [44] (disabled)
        * 5240 MHz [48] (disabled)
        * 5260 MHz [52] (disabled)
        * 5280 MHz [56] (disabled)
        * 5300 MHz [60] (disabled)
        * 5320 MHz [64] (disabled)
        * 5500 MHz [100]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5520 MHz [104]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5540 MHz [108]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5560 MHz [112]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5580 MHz [116]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5600 MHz [120]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5620 MHz [124]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5640 MHz [128]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5660 MHz [132]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5680 MHz [136]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5700 MHz [140]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5720 MHz [144]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5745 MHz [149]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+ VHT80 VHT160
        * 5765 MHz [153]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5785 MHz [157]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5805 MHz [161]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5825 MHz [165]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5845 MHz [169]
          Maximum TX power: 27.0 dBm
          No IR
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5865 MHz [173] (disabled)

as you see my hw already supports 160 mhz

problem 2) channels from 100 to 144 does not work with mesh at all even with width 20 mhz
I know there shod be radar detection for 60 seconds then start but i noticed it does not work at all
from router

root@OpenWrt:~# logread -f
Wed Jul  9 17:44:44 2025 daemon.notice wpa_supplicant[1142]: Set new config for phy phy0
Wed Jul  9 17:44:44 2025 daemon.notice hostapd: Set new config for phy phy0:
Wed Jul  9 17:44:44 2025 kern.warn kernel: [ 6344.906728] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 0
Wed Jul  9 17:44:44 2025 kern.info kernel: [ 6344.992798] br-lan: port 4(phy0-mesh0) entered disabled state
Wed Jul  9 17:44:44 2025 kern.info kernel: [ 6344.993545] ath10k_pci 0000:01:00.0 phy0-mesh0: left allmulticast mode
Wed Jul  9 17:44:44 2025 kern.info kernel: [ 6344.997708] ath10k_pci 0000:01:00.0 phy0-mesh0: left promiscuous mode
Wed Jul  9 17:44:44 2025 kern.info kernel: [ 6345.004194] br-lan: port 4(phy0-mesh0) entered disabled state
Wed Jul  9 17:44:50 2025 kern.warn kernel: [ 6351.377478] ath10k_pci 0000:01:00.0: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
Wed Jul  9 17:44:50 2025 kern.warn kernel: [ 6351.377555] ath10k_pci 0000:01:00.0: msdu-desc: 2500  skid: 32
Wed Jul  9 17:44:50 2025 kern.info kernel: [ 6351.460827] ath10k_pci 0000:01:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
Wed Jul  9 17:44:50 2025 kern.info kernel: [ 6351.461657] ath10k_pci 0000:01:00.0: wmi print 'free: 84920 iram: 13156 sram: 11224'
Wed Jul  9 17:44:51 2025 kern.info kernel: [ 6351.846734] ath10k_pci 0000:01:00.0: rts threshold -1
Wed Jul  9 17:44:51 2025 kern.warn kernel: [ 6351.847388] ath10k_pci 0000:01:00.0: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4
Wed Jul  9 17:44:51 2025 kern.info kernel: [ 6351.862563] br-lan: port 4(phy0-mesh0) entered blocking state
Wed Jul  9 17:44:51 2025 kern.info kernel: [ 6351.862661] br-lan: port 4(phy0-mesh0) entered disabled state
Wed Jul  9 17:44:51 2025 kern.info kernel: [ 6351.867713] ath10k_pci 0000:01:00.0 phy0-mesh0: entered allmulticast mode
Wed Jul  9 17:44:51 2025 kern.info kernel: [ 6351.873827] ath10k_pci 0000:01:00.0 phy0-mesh0: entered promiscuous mode
Wed Jul  9 17:44:51 2025 daemon.notice netifd: radio0 (21493): command failed: Invalid argument (-22)
Wed Jul  9 17:44:51 2025 daemon.notice netifd: Wireless device 'radio0' is now up
Wed Jul  9 17:44:51 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Wed Jul  9 17:44:51 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
Wed Jul  9 17:44:51 2025 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Wed Jul  9 17:44:52 2025 daemon.warn odhcpd[1281]: No default route present, overriding ra_lifetime to 0!

from node

root@OpenWrt:~# logread -f
Wed Jul  9 17:26:56 2025 daemon.notice wpa_supplicant[940]: Set new config for phy phy0
Wed Jul  9 17:26:56 2025 daemon.notice hostapd: Set new config for phy phy0:
Wed Jul  9 17:26:56 2025 kern.warn kernel: [ 4562.141458] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 0
Wed Jul  9 17:26:56 2025 kern.info kernel: [ 4562.226632] br-lan: port 5(phy0-mesh0) entered disabled state
Wed Jul  9 17:26:56 2025 kern.info kernel: [ 4562.227400] ath10k_pci 0000:01:00.0 phy0-mesh0: left allmulticast mode
Wed Jul  9 17:26:56 2025 kern.info kernel: [ 4562.231493] ath10k_pci 0000:01:00.0 phy0-mesh0: left promiscuous mode
Wed Jul  9 17:26:56 2025 kern.info kernel: [ 4562.237966] br-lan: port 5(phy0-mesh0) entered disabled state
Wed Jul  9 17:27:02 2025 kern.warn kernel: [ 4568.542828] ath10k_pci 0000:01:00.0: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
Wed Jul  9 17:27:02 2025 kern.warn kernel: [ 4568.542907] ath10k_pci 0000:01:00.0: msdu-desc: 2500  skid: 32
Wed Jul  9 17:27:02 2025 kern.info kernel: [ 4568.626187] ath10k_pci 0000:01:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
Wed Jul  9 17:27:03 2025 kern.info kernel: [ 4568.627019] ath10k_pci 0000:01:00.0: wmi print 'free: 84920 iram: 13156 sram: 11224'
Wed Jul  9 17:27:03 2025 kern.info kernel: [ 4569.011740] ath10k_pci 0000:01:00.0: rts threshold -1
Wed Jul  9 17:27:03 2025 kern.warn kernel: [ 4569.012015] ath10k_pci 0000:01:00.0: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4
Wed Jul  9 17:27:03 2025 kern.info kernel: [ 4569.022248] br-lan: port 5(phy0-mesh0) entered blocking state
Wed Jul  9 17:27:03 2025 kern.info kernel: [ 4569.026785] br-lan: port 5(phy0-mesh0) entered disabled state
Wed Jul  9 17:27:03 2025 kern.info kernel: [ 4569.032673] ath10k_pci 0000:01:00.0 phy0-mesh0: entered allmulticast mode
Wed Jul  9 17:27:03 2025 kern.info kernel: [ 4569.038613] ath10k_pci 0000:01:00.0 phy0-mesh0: entered promiscuous mode
Wed Jul  9 17:27:03 2025 daemon.notice netifd: radio0 (3449): command failed: Invalid argument (-22)
Wed Jul  9 17:27:03 2025 daemon.notice netifd: Wireless device 'radio0' is now up

problem 3)
by normal I already have max TX power for some specific channels with 30 dBm as you see in bellow log, why at luci i see them only 24 dBm

 Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+ VHT80
        * 5765 MHz [153]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5785 MHz [157]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5805 MHz [161]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5825 MHz [165]
          Maximum TX power: 30.0 dBm

i must apply and save changes then 30dBm appears in luci , why not appear from the beginning

"does not work" means you have to wait few minutes for channel to be cleared for transmission.
Your device has 2 5GHz radios. One is 160MHz capable, other not.

1 Like

this command shows there is 160 mhz capable from channel 149 to 173, I also waited for 60 seconds with nothing, I see issues in the log -22

radio0 (4486): command failed: Invalid argument (-22)
root@OpenWrt:~# iw phy0 channels
Band 2:
        * 5180 MHz [36] (disabled)
        * 5200 MHz [40] (disabled)
        * 5220 MHz [44] (disabled)
        * 5240 MHz [48] (disabled)
        * 5260 MHz [52] (disabled)
        * 5280 MHz [56] (disabled)
        * 5300 MHz [60] (disabled)
        * 5320 MHz [64] (disabled)
        * 5500 MHz [100]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5520 MHz [104]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5540 MHz [108]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5560 MHz [112]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5580 MHz [116]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5600 MHz [120]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5620 MHz [124]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5640 MHz [128]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5660 MHz [132]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5680 MHz [136]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5700 MHz [140]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5720 MHz [144]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- VHT80 VHT160
          DFS state: usable (for 98 sec)
          DFS CAC time: 60000 ms
        * 5745 MHz [149]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+ VHT80 VHT160
        * 5765 MHz [153]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5785 MHz [157]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5805 MHz [161]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5825 MHz [165]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5845 MHz [169]
          Maximum TX power: 27.0 dBm
          No IR
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5865 MHz [173] (disabled)

See here: https://en.wikipedia.org/wiki/List_of_WLAN_channels#5_GHz_(802.11a/h/n/ac/ax/be)

While legal in US I think you need Wifi6 adapter to have those last 5GHz channels.available.
(setting mt76 wifi6 disabled radio to US)

                        * 5180.0 MHz [36] (23.0 dBm)
                        * 5200.0 MHz [40] (23.0 dBm)
                        * 5220.0 MHz [44] (23.0 dBm)
                        * 5240.0 MHz [48] (23.0 dBm)
                        * 5260.0 MHz [52] (24.0 dBm) (radar detection)
                        * 5280.0 MHz [56] (24.0 dBm) (radar detection)
                        * 5300.0 MHz [60] (24.0 dBm) (radar detection)
                        * 5320.0 MHz [64] (24.0 dBm) (radar detection)
                        * 5500.0 MHz [100] (24.0 dBm) (radar detection)
                        * 5520.0 MHz [104] (24.0 dBm) (radar detection)
                        * 5540.0 MHz [108] (24.0 dBm) (radar detection)
                        * 5560.0 MHz [112] (24.0 dBm) (radar detection)
                        * 5580.0 MHz [116] (24.0 dBm) (radar detection)
                        * 5600.0 MHz [120] (24.0 dBm) (radar detection)
                        * 5620.0 MHz [124] (24.0 dBm) (radar detection)
                        * 5640.0 MHz [128] (24.0 dBm) (radar detection)
                        * 5660.0 MHz [132] (24.0 dBm) (radar detection)
                        * 5680.0 MHz [136] (24.0 dBm) (radar detection)
                        * 5700.0 MHz [140] (24.0 dBm) (radar detection)
                        * 5720.0 MHz [144] (24.0 dBm) (radar detection)
                        * 5745.0 MHz [149] (28.0 dBm)
                        * 5765.0 MHz [153] (28.0 dBm)
                        * 5785.0 MHz [157] (28.0 dBm)
                        * 5805.0 MHz [161] (28.0 dBm)
                        * 5825.0 MHz [165] (28.0 dBm)
                        * 5845.0 MHz [169] (27.0 dBm) (no IR)
                        * 5865.0 MHz [173] (27.0 dBm) (no IR)
                        * 5885.0 MHz [177] (27.0 dBm) (no IR)

I think many drivers miss those last channels, similar to 20MHz channel 32 which is out there since forever but only ath9k (wifi4) supports it.
Do you want to try your hand at programming?

yep sure give me the instructions step by step and lets have fun with that lovely router,
I want to that it has 3 radios Qualcomm Atheros QCA9984 802.11ac/n this only for 5GHZ high band
Qualcomm Atheros IPQ4019 802.11b/g/n for 2.4 and 5GHz lower band
lemme show you one by one

Qualcomm Atheros QCA9984 802.11ac/n
US selected

root@OpenWrt:~# iw phy phy0 channels
Band 2:
        * 5180 MHz [36] (disabled)
        * 5200 MHz [40] (disabled)
        * 5220 MHz [44] (disabled)
        * 5240 MHz [48] (disabled)
        * 5260 MHz [52] (disabled)
        * 5280 MHz [56] (disabled)
        * 5300 MHz [60] (disabled)
        * 5320 MHz [64] (disabled)
        * 5500 MHz [100]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5520 MHz [104]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5540 MHz [108]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5560 MHz [112]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5580 MHz [116]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5600 MHz [120]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5620 MHz [124]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5640 MHz [128]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5660 MHz [132]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5680 MHz [136]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5700 MHz [140]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5720 MHz [144]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- VHT80 VHT160
          DFS state: usable (for 96 sec)
          DFS CAC time: 60000 ms
        * 5745 MHz [149]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+ VHT80 VHT160
        * 5765 MHz [153]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5785 MHz [157]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5805 MHz [161]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5825 MHz [165]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5845 MHz [169]
          Maximum TX power: 27.0 dBm
          No IR
          Channel widths: 20MHz HT40- HT40+ VHT80 VHT160
        * 5865 MHz [173] (disabled)
        * 5885 MHz [177] (disabled)

Tasks for radio0 :

  1. I guess 24.0 dBm due to radar, but i hope if increase up to 30 dBm + support its mesh
  2. I need to enable VHT160 with channels from 149 to 173 with 30 dBm
  3. enable disabled channels from 36 to 64 , I guess they disabled to avoid interference with radio3, which is 5 GHZ too and have same channels Qualcomm Atheros IPQ4019 802.11ac/n
  4. show hidden channels [173 - 177]

Qualcomm Atheros IPQ4019 802.11b/g/n

root@OpenWrt:~# iw phy phy1 channels
Band 1:
        * 2412 MHz [1]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+
        * 2417 MHz [2]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+
        * 2422 MHz [3]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+
        * 2427 MHz [4]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+
        * 2432 MHz [5]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+
        * 2437 MHz [6]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+
        * 2442 MHz [7]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+
        * 2447 MHz [8]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+
        * 2452 MHz [9]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+
        * 2457 MHz [10]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40-
        * 2462 MHz [11]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40-
        * 2467 MHz [12]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40-
        * 2472 MHz [13]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40-
        * 2484 MHz [14] (disabled)

Tasks for radio1 :
5) show hidden channels from 13 to 14

Qualcomm Atheros IPQ4019 802.11ac/n

root@OpenWrt:~# iw phy phy2 channels
Band 2:
        * 5180 MHz [36]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40+ VHT80
        * 5200 MHz [40]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5220 MHz [44]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5240 MHz [48]
          Maximum TX power: 30.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5260 MHz [52]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 7121 sec)
          DFS CAC time: 60000 ms
        * 5280 MHz [56]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 7121 sec)
          DFS CAC time: 60000 ms
        * 5300 MHz [60]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 7121 sec)
          DFS CAC time: 60000 ms
        * 5320 MHz [64]
          Maximum TX power: 24.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- VHT80
          DFS state: usable (for 7121 sec)
          DFS CAC time: 60000 ms
        * 5500 MHz [100] (disabled)
        * 5520 MHz [104] (disabled)
        * 5540 MHz [108] (disabled)
        * 5560 MHz [112] (disabled)
        * 5580 MHz [116] (disabled)
        * 5600 MHz [120] (disabled)
        * 5620 MHz [124] (disabled)
        * 5640 MHz [128] (disabled)
        * 5660 MHz [132] (disabled)
        * 5680 MHz [136] (disabled)
        * 5700 MHz [140] (disabled)
        * 5720 MHz [144] (disabled)
        * 5745 MHz [149] (disabled)
        * 5765 MHz [153] (disabled)
        * 5785 MHz [157] (disabled)
        * 5805 MHz [161] (disabled)
        * 5825 MHz [165] (disabled)
        * 5845 MHz [169] (disabled)
        * 5865 MHz [173] (disabled)

from datasheet of 4019 soc i can see extra hidden channels


tasks for radio2:
6- enable 30dBm from channels 52 to 64
7- enables channels from 100 to 173 with 30dBm support
8- enable/show hidden channels from 5885 mhz to 5905 mhz per dayasheet

I am ready :))

30dbm is a pipe dream, mesh units do not have that kind of amplifiers. But finding ath10k driver source and expanding frequency range could be worth the time and help others.

1 Like

thank bro, waiting your instructions ,
as well as do not forget need to fix 160 mhz with qca9984
qualcomm website confirm it supports 160 mhz

Cant help much. it is kernel development, you have to find unjustly short channel map in the driver and extend it.

I get idea, why not test 160 mhz with AP mode not mesh for QCA9984, and check logs what happens there, because it looks like a critical bug to support BW 160 mhz with QCA9984

root@OpenWrt:~# logread -f
Thu Jul 10 17:57:36 2025 daemon.notice netifd: radio0 (2812): WARNING: Variable 'data' does not exist or is not an array/object
Thu Jul 10 17:57:36 2025 daemon.notice hostapd: Set new config for phy phy0:
Thu Jul 10 17:57:36 2025 daemon.notice wpa_supplicant[1138]: Set new config for phy phy0
Thu Jul 10 17:57:37 2025 daemon.notice wpa_supplicant[1138]: Set new config for phy phy0
Thu Jul 10 17:57:37 2025 daemon.notice hostapd: Set new config for phy phy0: /var/run/hostapd-phy0.conf
Thu Jul 10 17:57:37 2025 daemon.notice hostapd: Restart interface for phy phy0
Thu Jul 10 17:57:37 2025 daemon.notice hostapd: Configuration file: data: driver=nl80211 logger_syslog=127 logger_syslog_level=2 logger_stdout=127 logger_stdout_level=2 country_code=US ieee80211d=1 ieee80211h=1 hw_mode=a beacon_int=100 stationary_ap=1 chanlist=157 tx_queue_data2_burst=2.0 #num_global_macaddr=1 #macaddr_base= ieee80211n=1 ht_coex=0 ht_capab=[HT40+][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935][DSSS_CCK-40] ieee80211ac=1 vht_oper_chwidth=2 vht_oper_centr_freq_seg0_idx=163 vht_capab=[RXLDPC][SHORT-GI-80][SHORT-GI-160][TX-STBC-2BY1][SU-BEAMFORMER][SU-BEAMFORMEE][MU-BEAMFORMER][MU-BEAMFORMEE][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][RX-STBC-1][SOUNDING-DIMENSION-4][BF-ANTENNA-4][VHT160-80PLUS80][MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP7] channel=157  interface=phy0-ap0 bssid=8c:3b:ad:c2:5a:8a ctrl_interface=/var/run/hostapd ap_isolate=1 bss_load_update_period=60 chan_util_avg_period=600 disassoc_low_ack=1 skip_inactivity_poll=0 preamble=1 wmm_enabled=1 ignore_broadcast_ssid=0 uapsd_advertisement_enabl
Thu Jul 10 17:57:38 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Thu Jul 10 17:57:38 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 0 names
Thu Jul 10 17:57:43 2025 kern.warn kernel: [ 2754.854454] ath10k_pci 0000:01:00.0: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
Thu Jul 10 17:57:43 2025 kern.warn kernel: [ 2754.854530] ath10k_pci 0000:01:00.0: msdu-desc: 2500  skid: 32
Thu Jul 10 17:57:43 2025 kern.info kernel: [ 2754.937858] ath10k_pci 0000:01:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
Thu Jul 10 17:57:43 2025 kern.info kernel: [ 2754.938688] ath10k_pci 0000:01:00.0: wmi print 'free: 84920 iram: 13156 sram: 11224'
Thu Jul 10 17:57:44 2025 kern.info kernel: [ 2755.323173] ath10k_pci 0000:01:00.0: rts threshold -1
Thu Jul 10 17:57:44 2025 kern.warn kernel: [ 2755.323419] ath10k_pci 0000:01:00.0: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4
Thu Jul 10 17:57:44 2025 kern.info kernel: [ 2755.331596] br-lan: port 4(phy0-ap0) entered blocking state
Thu Jul 10 17:57:44 2025 kern.info kernel: [ 2755.338227] br-lan: port 4(phy0-ap0) entered disabled state
Thu Jul 10 17:57:44 2025 kern.info kernel: [ 2755.343687] ath10k_pci 0000:01:00.0 phy0-ap0: entered allmulticast mode
Thu Jul 10 17:57:44 2025 daemon.notice hostapd: phy0-ap0: interface state UNINITIALIZED->COUNTRY_UPDATE
Thu Jul 10 17:57:44 2025 kern.info kernel: [ 2755.349709] ath10k_pci 0000:01:00.0 phy0-ap0: entered promiscuous mode
Thu Jul 10 17:57:44 2025 daemon.notice hostapd: phy0-ap0: interface state COUNTRY_UPDATE->HT_SCAN
Thu Jul 10 17:57:44 2025 daemon.notice netifd: Wireless device 'radio0' is now up
Thu Jul 10 17:57:44 2025 daemon.err hostapd: phy0-ap0: nl80211: kernel reports: (extension) channel is disabled
Thu Jul 10 17:57:44 2025 daemon.err hostapd: Could not set channel for kernel driver
Thu Jul 10 17:57:44 2025 daemon.err hostapd: Interface initialization failed
Thu Jul 10 17:57:44 2025 daemon.notice hostapd: phy0-ap0: interface state HT_SCAN->DISABLED
Thu Jul 10 17:57:44 2025 daemon.notice hostapd: phy0-ap0: AP-DISABLED
Thu Jul 10 17:57:45 2025 daemon.warn odhcpd[1291]: No default route present, overriding ra_lifetime to 0!
Thu Jul 10 17:58:05 2025 authpriv.info dropbear[2422]: Exit before auth from <192.168.50.135:64227>: Exited normally

do you see (Could not set channel for kernel driver), which i do not see if selected 80 mhz

root@OpenWrt:~# iwinfo
phy0-ap0  ESSID: "ggggg"
          Access Point: 8C:he:he:he:he:he      #hehehhe :))
          Mode: Master  Channel: 157 (5.785 GHz)  HT Mode: NOHT
          Center Channel 1: unknown 2: unknown
          Tx-Power: 0 dBm  Link Quality: unknown/70
          Signal: unknown  Noise: -106 dBm
          Bit Rate: unknown
          Encryption: none
          Type: nl80211  HW Mode(s): 802.11ac/n
          Hardware: 168C:0046 168C:CAFE [Qualcomm Atheros QCA9984]
          TX power offset: none
          Frequency offset: none
          Supports VAPs: yes  PHY name: phy0

at other AP I scanned networks and ESSID: "ggggg" does not exist, but it became visible if selected 80 mhz
any solution ?

You understand that device and driver combo is not capable of instrumenting ch149+160MHz...
Just stop and use viable channels.

Hello

I used I perf3 to check throughput speed between two routers same qca9984, Its only 340Mbps,

question is , why in its specs says 1733mbps , and i get only 340 mbps in real test ?
i checked with both 80mhz and 160mhz gives same speed no difference!