Can't use 5GHz 160MHz channels for AP - SXR80 Qualcomm Atheros IPQ8074

Hello,
I've just converted a SXS80 and a SXR80 router to openwrt. Before, with Netgear firmware, they were using channel 64 for 5GHz, and 104 for backbone/mesh. For both, the router/satellite were using 160MHz channels.
The board is AFAIK a Qualcomm Atheros IPQ8074, the wifi driver is ath11k.
Both for phy0 ("normal" 5GHz) and phy2 (netgear "mesh" backbone), iw info shows similar capabilities (these are for phy0):

			HE PHY Capabilities: (0x0c604c897fdb839c010c00):
				HE40/HE80/5GHz
				HE160/5GHz
				LDPC Coding in Payload
				HE SU PPDU with 1x HE-LTF and 0.8us GI
				STBC Tx <= 80MHz
				STBC Rx <= 80MHz
				Full Bandwidth UL MU-MIMO
				DCM Max Constellation: 1
				DCM Max Constellation Rx: 1
				SU Beamformer
				SU Beamformee
				MU Beamformer
				Beamformee STS <= 80Mhz: 7
				Beamformee STS > 80Mhz: 3
				Sounding Dimensions <= 80Mhz: 3
				Sounding Dimensions > 80Mhz: 3
				Ng = 16 SU Feedback
				Ng = 16 MU Feedback
				Codebook Size SU Feedback
				Codebook Size MU Feedback
				PPE Threshold Present
				HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
				Max NC: 3
				STBC Rx > 80MHz
				HE ER SU PPDU 4x HE-LTF 0.8us GI
				TX 1024-QAM
				RX 1024-QAM

phy2:

			HE PHY Capabilities: (0x0c600c807d5b811c000000):
				HE40/HE80/5GHz
				HE160/5GHz
				LDPC Coding in Payload
				HE SU PPDU with 1x HE-LTF and 0.8us GI
				STBC Tx <= 80MHz
				STBC Rx <= 80MHz
				SU Beamformer
				SU Beamformee
				Beamformee STS <= 80Mhz: 7
				Beamformee STS > 80Mhz: 3
				Sounding Dimensions <= 80Mhz: 3
				Sounding Dimensions > 80Mhz: 3
				Ng = 16 SU Feedback
				Codebook Size SU Feedback
				PPE Threshold Present
				HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
				Max NC: 3

The big issue is that I can only use 80Mhz channel widths with openwrt. With 80Mhz, this is the system log output for the phy2 interface (set to channel 100):

Tue Feb 11 09:28:18 2025 daemon.notice wpa_supplicant[1788]: Set new config for phy phy2
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: Set new config for phy phy2: /var/run/hostapd-phy2.conf
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: Restart interface for phy phy2
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: Remove interface 'phy2'
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: phy2-ap0: interface state DISABLED->DISABLED
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: phy2-ap0: AP-DISABLED
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: phy2-ap0: CTRL-EVENT-TERMINATING
Tue Feb 11 09:28:18 2025 daemon.err hostapd: rmdir[ctrl_interface=/var/run/hostapd]: Permission denied
Tue Feb 11 09:28:18 2025 daemon.err hostapd: hostapd_free_hapd_data: Interface phy2-ap0 wasn't started
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: nl80211: deinit ifname=phy2-ap0 disabled_11b_rates=0
Tue Feb 11 09:28:18 2025 kern.info kernel: [ 2475.358441] ath11k c000000.wifi phy2-ap0: left allmulticast mode
Tue Feb 11 09:28:18 2025 kern.info kernel: [ 2475.358495] ath11k c000000.wifi phy2-ap0: left promiscuous mode
Tue Feb 11 09:28:18 2025 kern.info kernel: [ 2475.363593] br-lan: port 7(phy2-ap0) entered disabled state
Tue Feb 11 09:28:18 2025 daemon.notice netifd: lan (2868): udhcpc: sending renew to server 10.0.0.16
Tue Feb 11 09:28:18 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=BE ieee80211d=1 ieee80211h=1 hw_mode=a beacon_int=100 stationary_ap=1 chanlist=100 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=1 vht_oper_centr_freq_seg0_idx=106 vht_capab=[RXLDPC][SHORT-GI-80][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][MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP7] ieee80211ax=1 he_oper_chwidth=1 he_oper_centr_freq_seg0_idx=106 he_su_beamformer=1 he_su_beamformee=1 he_mu_beamformer=1 he_bss_color=128 he_spr_sr_control=3 he_default_pe_duration=4 he_rts_threshold=1023 he_mu_edca_qos_info_param_count=0 he_mu_edca_qos_info_q_ack=0 he_mu_edca_qos_info_queue_reques
Tue Feb 11 09:28:18 2025 kern.info kernel: [ 2475.644679] br-lan: port 7(phy2-ap0) entered blocking state
Tue Feb 11 09:28:18 2025 kern.info kernel: [ 2475.644722] br-lan: port 7(phy2-ap0) entered disabled state
Tue Feb 11 09:28:18 2025 kern.info kernel: [ 2475.649104] ath11k c000000.wifi phy2-ap0: entered allmulticast mode
Tue Feb 11 09:28:18 2025 kern.info kernel: [ 2475.654840] ath11k c000000.wifi phy2-ap0: entered promiscuous mode
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: phy2-ap0: interface state UNINITIALIZED->COUNTRY_UPDATE
Tue Feb 11 09:28:18 2025 daemon.notice hostapd: phy2-ap0: interface state COUNTRY_UPDATE->HT_SCAN
Tue Feb 11 09:28:19 2025 daemon.notice netifd: Interface 'lan' has lost the connection
Tue Feb 11 09:28:19 2025 daemon.notice netifd: Wireless device 'radio2' is now up
Tue Feb 11 09:28:19 2025 daemon.notice hostapd: Switch own primary and secondary channel to get secondary channel with no Beacons from other BSSes
Tue Feb 11 09:28:19 2025 daemon.notice netifd: Network device 'phy2-ap0' link is up
Tue Feb 11 09:28:19 2025 kern.info kernel: [ 2476.135386] br-lan: port 7(phy2-ap0) entered blocking state
Tue Feb 11 09:28:19 2025 kern.info kernel: [ 2476.135436] br-lan: port 7(phy2-ap0) entered forwarding state
Tue Feb 11 09:28:19 2025 daemon.notice hostapd: phy2-ap0: interface state HT_SCAN->ENABLED
Tue Feb 11 09:28:19 2025 daemon.notice hostapd: phy2-ap0: AP-ENABLED
Tue Feb 11 09:28:20 2025 daemon.notice netifd: lan (2868): udhcpc: broadcasting select for 10.0.0.6, server 10.0.0.16
Tue Feb 11 09:28:21 2025 daemon.notice netifd: lan (2868): udhcpc: lease of 10.0.0.6 obtained from 10.0.0.16, lease time 86400
Tue Feb 11 09:28:21 2025 daemon.notice netifd: Interface 'lan' is now up
Tue Feb 11 09:28:21 2025 user.notice firewall: Reloading firewall due to ifup of lan (br-lan)

With 160Mhz, hostapd won't bring it up with a nl80211 error:


Tue Feb 11 09:26:48 2025 daemon.notice wpa_supplicant[1788]: Set new config for phy phy2
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: Set new config for phy phy2: /var/run/hostapd-phy2.conf
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: Restart interface for phy phy2
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: Remove interface 'phy2'
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: phy2-ap0: interface state ENABLED->DISABLED
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: phy2-ap0: AP-DISABLED
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: phy2-ap0: CTRL-EVENT-TERMINATING
Tue Feb 11 09:26:48 2025 daemon.err hostapd: rmdir[ctrl_interface=/var/run/hostapd]: Permission denied
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: nl80211: deinit ifname=phy2-ap0 disabled_11b_rates=0
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.311485] ath11k c000000.wifi phy2-ap0: left allmulticast mode
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.311540] ath11k c000000.wifi phy2-ap0: left promiscuous mode
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.316668] br-lan: port 7(phy2-ap0) entered disabled state
Tue Feb 11 09:26:48 2025 daemon.notice netifd: Network device 'phy2-ap0' link is down
Tue Feb 11 09:26:48 2025 daemon.notice netifd: lan (2868): udhcpc: sending renew to server 10.0.0.16
Tue Feb 11 09:26:48 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=BE ieee80211d=1 ieee80211h=1 hw_mode=a beacon_int=100 stationary_ap=1 chanlist=100 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=114 vht_capab=[RXLDPC][SHORT-GI-80][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][MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP7] ieee80211ax=1 he_oper_chwidth=2 he_oper_centr_freq_seg0_idx=114 he_su_beamformer=1 he_su_beamformee=1 he_mu_beamformer=1 he_bss_color=128 he_spr_sr_control=3 he_default_pe_duration=4 he_rts_threshold=1023 he_mu_edca_qos_info_param_count=0 he_mu_edca_qos_info_q_ack=0 he_mu_edca_qos_info_queue_reques
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.635315] br-lan: port 7(phy2-ap0) entered blocking state
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.635356] br-lan: port 7(phy2-ap0) entered disabled state
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.639737] ath11k c000000.wifi phy2-ap0: entered allmulticast mode
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.645499] ath11k c000000.wifi phy2-ap0: entered promiscuous mode
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.651596] br-lan: port 7(phy2-ap0) entered blocking state
Tue Feb 11 09:26:48 2025 kern.info kernel: [ 2385.657776] br-lan: port 7(phy2-ap0) entered forwarding state
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: phy2-ap0: interface state UNINITIALIZED->COUNTRY_UPDATE
Tue Feb 11 09:26:48 2025 daemon.notice hostapd: phy2-ap0: interface state COUNTRY_UPDATE->HT_SCAN
Tue Feb 11 09:26:49 2025 daemon.notice netifd: Interface 'lan' has lost the connection
Tue Feb 11 09:26:49 2025 daemon.notice netifd: Wireless device 'radio2' is now up
Tue Feb 11 09:26:49 2025 daemon.notice netifd: lan (2868): udhcpc: broadcasting select for 10.0.0.6, server 10.0.0.16
Tue Feb 11 09:26:49 2025 daemon.notice hostapd: Switch own primary and secondary channel to get secondary channel with no Beacons from other BSSes
Tue Feb 11 09:26:49 2025 daemon.notice hostapd: phy2-ap0: interface state HT_SCAN->DFS
Tue Feb 11 09:26:49 2025 daemon.notice hostapd: phy2-ap0: DFS-CAC-START freq=5520 chan=104 sec_chan=-1, width=2, seg0=114, seg1=0, cac_time=600s
Tue Feb 11 09:26:49 2025 daemon.err hostapd: nl80211: kernel reports: (extension) channel is disabled
Tue Feb 11 09:26:49 2025 daemon.err hostapd: DFS start_dfs_cac() failed, -1
Tue Feb 11 09:26:49 2025 daemon.err hostapd: Interface initialization failed
Tue Feb 11 09:26:49 2025 daemon.notice hostapd: phy2-ap0: interface state DFS->DISABLED
Tue Feb 11 09:26:49 2025 daemon.notice hostapd: phy2-ap0: AP-DISABLED
Tue Feb 11 09:26:49 2025 daemon.notice netifd: lan (2868): udhcpc: lease of 10.0.0.6 obtained from 10.0.0.16, lease time 86400
Tue Feb 11 09:26:49 2025 daemon.notice netifd: Interface 'lan' is now up
Tue Feb 11 09:26:49 2025 user.notice firewall: Reloading firewall due to ifup of lan (br-lan)
Tue Feb 11 09:26:49 2025 kern.info kernel: [ 2386.404194] br-lan: port 7(phy2-ap0) entered disabled state

I have another netgear router "mesh", and it is using 160Mhz channels without any issue.
Is this fixable?

Channels list for each interface:

Wiphy phy0 (5GHz radio)
                Frequencies:                                                           
                        * 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] (23.0 dBm) (radar detection)                 
                        * 5280.0 MHz [56] (23.0 dBm) (radar detection)                           
                        * 5300.0 MHz [60] (23.0 dBm) (radar detection)                                                                                   
                        * 5320.0 MHz [64] (23.0 dBm) (radar detection)                               
                        * 5500.0 MHz [100] (disabled)                                  
                        * 5520.0 MHz [104] (disabled)                                  
                        * 5540.0 MHz [108] (disabled)                  
                        * 5560.0 MHz [112] (disabled)                  
                        * 5580.0 MHz [116] (disabled)                                  
                        * 5600.0 MHz [120] (disabled)                  
                        * 5620.0 MHz [124] (disabled)                   
                        * 5640.0 MHz [128] (disabled)                                   
                        * 5660.0 MHz [132] (disabled)                                  
                        * 5680.0 MHz [136] (disabled)                                            
                        * 5700.0 MHz [140] (disabled)                                  
                        * 5720.0 MHz [144] (disabled)                                                
                        * 5745.0 MHz [149] (disabled)                   
                        * 5765.0 MHz [153] (disabled)                                   
                        * 5785.0 MHz [157] (disabled)                                 
                        * 5805.0 MHz [161] (disabled)                                  
                        * 5825.0 MHz [165] (disabled)                                                                                                    
                        * 5845.0 MHz [169] (disabled)                                  
                        * 5865.0 MHz [173] (disabled)                                  
                        * 5885.0 MHz [177] (disabled)

Wiphy phy1 (2.4GHz radio)             
                Frequencies:                                           
                        * 2412.0 MHz [1] (20.0 dBm)                    
                        * 2417.0 MHz [2] (20.0 dBm)                                    
                        * 2422.0 MHz [3] (20.0 dBm)                    
                        * 2427.0 MHz [4] (20.0 dBm)                     
                        * 2432.0 MHz [5] (20.0 dBm)                                     
                        * 2437.0 MHz [6] (20.0 dBm)                                    
                        * 2442.0 MHz [7] (20.0 dBm)                                              
                        * 2447.0 MHz [8] (20.0 dBm)                                    
                        * 2452.0 MHz [9] (20.0 dBm)                                                  
                        * 2457.0 MHz [10] (20.0 dBm)                    
                        * 2462.0 MHz [11] (20.0 dBm)                                    
                        * 2467.0 MHz [12] (20.0 dBm)                                   
                        * 2472.0 MHz [13] (20.0 dBm)                                   
                        * 2484.0 MHz [14] (disabled)

Wiphy phy2 (5GHz backbone radio)
                Frequencies:                                           
                        * 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] (23.0 dBm) (radar detection)                  
                        * 5280.0 MHz [56] (23.0 dBm) (radar detection)                 
                        * 5300.0 MHz [60] (23.0 dBm) (radar detection)                           
                        * 5320.0 MHz [64] (23.0 dBm) (radar detection)                 
                        * 5500.0 MHz [100] (30.0 dBm) (radar detection)                              
                        * 5520.0 MHz [104] (30.0 dBm) (radar detection) 
                        * 5540.0 MHz [108] (30.0 dBm) (radar detection)                 
                        * 5560.0 MHz [112] (30.0 dBm) (radar detection)                
                        * 5580.0 MHz [116] (30.0 dBm) (radar detection)                
                        * 5600.0 MHz [120] (30.0 dBm) (radar detection)                                                                                  
                        * 5620.0 MHz [124] (30.0 dBm) (radar detection)                
                        * 5640.0 MHz [128] (30.0 dBm) (radar detection)                
                        * 5660.0 MHz [132] (30.0 dBm) (radar detection)                                                                                  
                        * 5680.0 MHz [136] (30.0 dBm) (radar detection)                
                        * 5700.0 MHz [140] (30.0 dBm) (radar detection)                          
                        * 5720.0 MHz [144] (disabled)                                                                                                    
                        * 5745.0 MHz [149] (disabled)                                                
                        * 5765.0 MHz [153] (disabled)                                  
                        * 5785.0 MHz [157] (disabled)                                  
                        * 5805.0 MHz [161] (disabled)                  
                        * 5825.0 MHz [165] (disabled)                  
                        * 5845.0 MHz [169] (disabled)                                  
                        * 5865.0 MHz [173] (disabled)                  
                        * 5885.0 MHz [177] (disabled)

https://www.asus.com/se/support/faq/1045936/

DFS is not an issue if the channel width is set to 80MHz or less, regardless of which channel I choose, including those from 52 to 140. Also, it is not an issue to the routers with Netgear's bastardized openwrt with 160MHz channel widths.

If you check the lines just before in the log, DFS start_dfs_cac() fails because of nl80211, not because of radar interference:

Start reading from here and maybe you will find a solution like I found for the nbg7815 (ipq8074)

Thanks, I'm diving into that (and getting a bit lost in all the comments and exchanges). What solution did work for you, replacing the board-2.bin firmware, using Brainslayer's BDF remove regdomain patch, or something else?

The nbg7815 has a board ID of 255 if I remember correctly.
I extracted this board ID from the codelinaro board-2.bin (https://git.codelinaro.org/clo/ath-firmware/ath11k-firmware/-/tree/main/IPQ8074/hw2.0) with the ath11k swiss army knife tool
I also changed the board-2.bin header to match the openwrt header (I did this with a hex editor).
The important thing is not to make a mistake with the board ID.

I did this so I wouldn't have to replace the board-2.bin every time I updated the router.

If you're not going to update the router frequently I wouldn't make my life complicated and I would replace the board-2.bin every time I updated the firmware.

The other way you'll have to compile the firmware yourself every time you want to update it with the effort and time that this entails.

I have been using it since August last year without any problems.

Please note that if you use 160mhz with an ETSI country configuration (e.g. DE) and channel 100 you will have to wait 10 minutes for the 5g radio to activate.
If, on the other hand, you use an FCC country configuration (e.g. US) the time is reduced to 60 seconds

1 Like

If you finally decide to change 2x80mhz to 1x160mhz check the temperature of the router components.
In the case of the nbg7815 it is easy to reach 90ºC with a little load on the wlan

I will check, thanks. The sxr80 used to get hot also with the original firmware, that's true. Might need some case mods to add fans...

ETA: I opened the SXS80, it has a truly impressive heatsink. A fan underneath should be enough in case it really heats up...

2 Likes

One question, did you lose the phy2 wifi, or do you have both with 160MHz channels like the original firmware?

What's the country code set to?

for nbg7815 i lost phy2

The country code is set to BE right now. I've tried with DE also (as that is what some of my wifi pcie adapters like to default to), no change.

I think I'll stay with 80 for now then - I'd like to use phy2 to mesh connect to the "satellite" that will be in a place without cabling to the main router. I can live with a theoretical maximum of ~2.4Gbps for these two routers, even though I'd prefer to have the 4.8Gbps like the factory firmware as a theoretical possibility...

1 Like

How did you format the quote/log so as to show a specific section in your post but also allow the whole log/post to be read if expanded?

Select the lines you what highlighted and then choose quote on the popup.

1 Like

That must have been part of the new HTML/Website update.

Nice touch.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.