Qualcommax NSS Build

edit : someone with one of these up and running should try this... i have one of these in my collection of "i really should sell these" downstairs... i put it away strictly because of the lack of 160mhz... and the fact that these bad boys get pretty toasty (80c+ from what i recall...)... but on the up side it has a superior antenna design and i was getting much better range than with my 301w when i had it running as my primary gateway.

is it really as simple as adding ath11k_remove_regdomain under the nbg7815 block in 11-ath11k-caldata?

here is the current version:

        zyxel,nbg7815)
                caldata_extract "0:art" 0x1000 0x20000
                label_mac=$(get_mac_label)
                ath11k_patch_mac $(macaddr_add $label_mac 3) 0
                ath11k_patch_mac $(macaddr_add $label_mac 2) 1
                ath11k_patch_mac $(macaddr_add $label_mac 4) 2
                ath11k_set_macflag
                ;;
        esac

and for mx4200:

        linksys,mx4200v2)
                caldata_extract "0:art" 0x1000 0x20000
                label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
                ath11k_patch_mac $(macaddr_add $label_mac 2) 0
                ath11k_patch_mac $(macaddr_add $label_mac 1) 1
                ath11k_patch_mac $(macaddr_add $label_mac 3) 2
                ath11k_remove_regdomain
                ath11k_set_macflag
                ;;

unless there is other crap in the bdf which prevents it, yes. its that simple. it simply modifies the calibration data and clears out the regdomain to 0. this means the driver is permitted to upload regulatory information to the firmware.
i made a modification for ath11k which does this automaticly in the driver and clears bdf and caldata to handle that

2 Likes

You also need to modify the BDF. There is a tool for that: https://github.com/testuser7/ath_bdf_tool

or you simply modify ath11k since ath11k reads both into memory before uploading

have fun. this also modifies the bdf and caldata template version for 2.12 (experimental)

Index: core.c
===================================================================
--- core.c      (revision 8040)
+++ core.c      (working copy)
@@ -1387,6 +1387,97 @@ int ath11k_core_fetch_board_data_api_1(struct ath1
        return 0;
 }

+static void calcchecksum(void *caldata, int size)
+{
+       int i;
+       u16 *cdata = (u16 *)caldata;
+       u16 *ptr_eeprom = (u16 *)caldata;
+       u16 crc = 0;
+       cdata[0x5] = 0;
+       for (i = 0; i < size; i += 2) {
+               crc ^= le16_to_cpu(*ptr_eeprom);
+               ptr_eeprom++;
+       }
+       crc = ~crc;
+       cdata[0x5] = cpu_to_le16(crc);
+}
+
+static void removeregdomain(struct ath11k_base *ab, void *data, int type)
+{
+       u16 *s = (u16*)data;
+       ath11k_info(ab, "remove regdomain0 0x%02x\n", s[52 / 2]);
+       s[52 / 2] = 0;
+       if (type == 0) {
+               ath11k_info(ab, "remove regdomain1 0x%02x\n", s[1104 / 2]);
+               s[1104 / 2] = 0;
+       } else {
+               ath11k_info(ab, "remove regdomain1 0x%02x\n", s[1112 / 2]);
+               s[1112 / 2] = 0;
+               ath11k_info(ab, "remove regdomain2 0x%02x\n", s[1280 / 2]);
+               s[1280 / 2] = 0;
+               ath11k_info(ab, "remove regdomain3 0x%02x\n", s[1448 / 2]);
+               s[1448 / 2] = 0;
+       }
+}
+
+void show_bdf_version(struct ath11k_base *ab,const void *bd)
+{
+       u8 *data = (u8*)bd;
+       u32 offset;
+       u8 patch[3];
+       u32 size = 0x10000;
+       switch (ab->hw_rev) {
+       case ATH11K_HW_IPQ8074:
+               patch[0]=7;
+               patch[1]=2;
+               patch[2]=3;
+               offset = 559;
+               size = 0x20000;
+               removeregdomain(ab,bd,1);
+               break;
+       case ATH11K_HW_IPQ6018_HW10:
+               patch[0]=1;
+               patch[1]=4;
+               patch[2]=3;
+               offset = 495;
+               size = 0x10000;
+               removeregdomain(ab,bd,0);
+               break;
+       case ATH11K_HW_QCN9074_HW10:
+               patch[0]=4;
+               patch[1]=2;
+               patch[2]=0;
+               offset = 555;
+               size = 0x20000;
+               removeregdomain(ab,bd,0);
+               break;
+       case ATH11K_HW_IPQ5018_HW10:
+               patch[0]=3;
+               patch[1]=4;
+               patch[2]=0;
+               offset = 0x1eb;
+               size = 0x20000;
+               removeregdomain(ab,bd,0);
+               break;
+       default:
+               return;
+       }
+
+       if (data) {
+//             if (data[offset] != patch[0]) {
+//                     ath11k_info(ab, "warning. incompatible bdf template revision v%d.%d.%d, boardrev %d (major version must be %d)\n", data[offset], data[offset+1], data[offset+2], data[59], patch[0]);
+//             } else
+               {
+                       ath11k_info(ab, "bdf template revision v%d.%d.%d, boardrev %d, patch to v%d.%d.%d\n", data[offset], data[offset+1], data[offset+2], data[59], patch[0], patch[1], patch[2]);
+                       memcpy(&data[offset], patch, 3);
+                       calcchecksum(data, size);
+
+               }
+       }
+
+
+
+}
 #define BOARD_NAME_SIZE 200
 int ath11k_core_fetch_bdf(struct ath11k_base *ab, struct ath11k_board_data *bd)
 {
@@ -1412,8 +1503,10 @@ int ath11k_core_fetch_bdf(struct ath11k_base *ab,
                                                 ATH11K_BD_IE_BOARD,
                                                 ATH11K_BD_IE_BOARD_NAME,
                                                 ATH11K_BD_IE_BOARD_DATA);
-       if (!ret)
+       if (!ret) {
+               show_bdf_version(ab, bd->data);
                goto exit;
+       }

        fallback_boardname = kzalloc(BOARD_NAME_SIZE, GFP_KERNEL);
        if (!fallback_boardname) {
@@ -1432,9 +1525,11 @@ int ath11k_core_fetch_bdf(struct ath11k_base *ab,
                                                 ATH11K_BD_IE_BOARD,
                                                 ATH11K_BD_IE_BOARD_NAME,
                                                 ATH11K_BD_IE_BOARD_DATA);
-       if (!ret)
+       if (!ret) {
+               show_bdf_version(ab, bd->data);
                goto exit;
-
+       }
+
        chip_id_boardname = kzalloc(BOARD_NAME_SIZE, GFP_KERNEL);
        if (!chip_id_boardname) {
                ret = -ENOMEM;
@@ -1453,9 +1548,11 @@ int ath11k_core_fetch_bdf(struct ath11k_base *ab,
                                                 ATH11K_BD_IE_BOARD_NAME,
                                                 ATH11K_BD_IE_BOARD_DATA);

-       if (!ret)
+       if (!ret) {
+               show_bdf_version(ab, bd->data);
                goto exit;
-
+       }
+
        ab->bd_api = 1;
        ret = ath11k_core_fetch_board_data_api_1(ab, bd, ATH11K_DEFAULT_BOARD_FILE);
        if (ret) {
Index: peer.c
===================================================================
Index: core.h
===================================================================
--- core.h      (revision 8040)
+++ core.h      (working copy)
@@ -1294,6 +1294,7 @@ int ath11k_core_fetch_board_data_api_1(struct ath1
                                       struct ath11k_board_data *bd,
                                       const char *name);
 void ath11k_core_free_bdf(struct ath11k_base *ab, struct ath11k_board_data *bd);
+void show_bdf_version(struct ath11k_base *ab,const void *data);
 int ath11k_core_check_dt(struct ath11k_base *ath11k);
 int ath11k_core_check_smbios(struct ath11k_base *ab);
 void ath11k_core_halt(struct ath11k *ar);
Index: qmi.c
===================================================================
--- qmi.c       (revision 8040)
+++ qmi.c       (working copy)
@@ -2502,6 +2502,7 @@ static int ath11k_qmi_load_bdf_qmi(struct ath11k_b
 success:
                fw_size = min_t(u32, ab->hw_params.fw.board_size, fw_entry->size);
                tmp = fw_entry->data;
+               show_bdf_version(ab, tmp);
        }

        ret = ath11k_qmi_load_file_target_mem(ab, tmp, fw_size, file_type);
l
4 Likes

sigh

everything is good as is and seeing as im half-ADHD i like consistency so i'll stick with the 3x 301ws instead of 1x nbg7815 + 2x 301w... that being said the range of the nbg7815 is supperior without a doubt.

i forgot who it was that wrote the fan + rgb handlers for the nbg7815... he should give it a shot. he was active in this thread..

edit : @asvio care to give the above a shot?

@qosmio Hello, I'm using 11.4.0.5. When the terminal is connected to 160mhz, web pages can be opened normally, but videos cannot be opened. In addition, the Internet speed is limited to 1200mbs.

Hey,

So I have VERY CRUDELY added remove_regdomain under nbg7815 to 2 ath11k-caldata files I have found on a router (using winscp). After reboot etc., there was no change in behaviour - same errors.

I will check if I can dig into that tool @trongkhoa1505 has suggested, as it looks that just adding a line in caldata may not be enough.

Please note though that I am literally doing 'fake it till you make it' - I am not a dev, so don't shout if I do things completely wrong :slight_smile:

Try to add country to your wireless configuration.

I just tried again to see wireless file output:

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/soc@0/c000000.wifi'
	option band '5g'
	option channel '100'
	option htmode 'HE160'
	option country 'GB'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt'
	option encryption 'none'

Still same error and ap is disabling itself.

Here is zyxel part in caldata I have modified:

zyxel,nbg7815)
		caldata_extract "0:art" 0x1000 0x20000
		label_mac=$(get_mac_label)
		ath11k_patch_mac $(macaddr_add $label_mac 3) 0
		ath11k_patch_mac $(macaddr_add $label_mac 2) 1
		ath11k_patch_mac $(macaddr_add $label_mac 4) 2
		ath11k_remove_regdomain
		ath11k_set_macflag
		;;

Cheers

Can you try channel 36?

channel 36 isnt capable of doing 160. not technically, but by any regdb i know

for me it would be more important if he would just output the regdb info and channels info again and the iw phy phy0 info which he missed at all from the beginning. so we can also check the reported capabilities.
and by the ath11k patch i posted should solve it in general for all chipsets and variants. but this cannot be done by filesystem editing of course

@BrainSlayer Can you release your ath11k patch?

Hey,

Here it is for radio 0:

root@OpenWrt:~# iw phy phy0 info
Wiphy phy0
        wiphy index: 0
        max # scan SSIDs: 16
        max scan IEs length: 142 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports AP-side u-APSD.
        Available Antennas: TX 0xf RX 0xf
        Configured Antennas: TX 0xf RX 0xf
        Supported interface modes:
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
        Band 2:
                Capabilities: 0x19ef
                        RX LDPC
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        TX STBC
                        RX STBC 1-stream
                        Max AMSDU length: 7935 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: No restriction (0x00)
                HT TX/RX MCS rate indexes supported: 0-31
                VHT Capabilities (0x339b79b2):
                        Max MPDU length: 11454
                        Supported Channel Width: neither 160 nor 80+80
                        RX LDPC
                        short GI (80 MHz)
                        TX STBC
                        SU Beamformer
                        SU Beamformee
                        MU Beamformer
                        MU Beamformee
                        RX antenna pattern consistency
                        TX antenna pattern consistency
                VHT RX MCS set:
                        1 streams: MCS 0-9
                        2 streams: MCS 0-9
                        3 streams: MCS 0-9
                        4 streams: MCS 0-9
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT RX highest supported: 0 Mbps
                VHT TX MCS set:
                        1 streams: MCS 0-9
                        2 streams: MCS 0-9
                        3 streams: MCS 0-9
                        4 streams: MCS 0-9
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT TX highest supported: 0 Mbps
                VHT extended NSS: supported
                HE Iftypes: managed
                        HE MAC Capabilities (0x000b9a181040):
                                +HTC HE Supported
                                TWT Requester
                                Dynamic BA Fragementation Level: 1
                                BSR
                                Broadcast TWT
                                OM Control
                                Maximum A-MPDU Length Exponent: 3
                                RX Control Frame to MultiBSS
                                A-MSDU in A-MPDU
                                OM Control UL MU Data Disable RX
                        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
                        HE RX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE RX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        PPE Threshold 0x3b 0x1c 0xc7 0x71 0x1c 0xc7 0x71 0x1c 0xc7 0x71
                HE Iftypes: AP
                        HE MAC Capabilities (0x000d9a181040):
                                +HTC HE Supported
                                TWT Responder
                                Dynamic BA Fragementation Level: 1
                                BSR
                                Broadcast TWT
                                OM Control
                                Maximum A-MPDU Length Exponent: 3
                                RX Control Frame to MultiBSS
                                A-MSDU in A-MPDU
                                OM Control UL MU Data Disable RX
                        HE PHY Capabilities: (0x0c604c887fdb839c010c00):
                                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 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
                        HE RX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE RX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        PPE Threshold 0x3b 0x1c 0xc7 0x71 0x1c 0xc7 0x71 0x1c 0xc7 0x71
                HE Iftypes: mesh point
                        HE MAC Capabilities (0x00098a081040):
                                +HTC HE Supported
                                Dynamic BA Fragementation Level: 1
                                BSR
                                OM Control
                                Maximum A-MPDU Length Exponent: 1
                                RX Control Frame to MultiBSS
                                A-MSDU in A-MPDU
                                OM Control UL MU Data Disable RX
                        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
                        HE RX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE RX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        PPE Threshold 0x3b 0x1c 0xc7 0x71 0x1c 0xc7 0x71 0x1c 0xc7 0x71
                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)
        valid interface combinations:
                 * #{ managed } <= 1, #{ AP, mesh point } <= 16,
                   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 }

        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Maximum associated stations in AP mode: 128
        Supported extended features:
                * [ RRM ]: RRM
                * [ SET_SCAN_DWELL ]: scan dwell setting
                * [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ ACK_SIGNAL_SUPPORT ]: ack signal level support
                * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
                * [ ENABLE_FTM_RESPONDER ]: enable FTM (Fine Time Measurement) responder
                * [ STA_TX_PWR ]: TX power control per station
                * [ VLAN_OFFLOAD ]: VLAN offload support
                * [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
                * [ BSS_COLOR ]: BSS coloring support
                * [ POWERED_ADDR_CHANGE ]: can change MAC address while up
root@OpenWrt:~#

And reg get:

root@OpenWrt:~# iw reg get
global
country GB: DFS-ETSI
        (2400 - 2483 @ 40), (N/A, 20), (N/A)
        (5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5470 - 5730 @ 160), (N/A, 26), (0 ms), DFS
        (5725 - 5850 @ 80), (N/A, 23), (N/A), NO-OUTDOOR
        (5925 - 6425 @ 160), (N/A, 23), (N/A), NO-OUTDOOR
        (57000 - 71000 @ 2160), (N/A, 40), (N/A)

phy#2 (self-managed)
country GB: DFS-ETSI
        (2402 - 2482 @ 40), (N/A, 20), (N/A)
        (5170 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5330 @ 80), (N/A, 23), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5490 - 5590 @ 80), (N/A, 30), (0 ms), DFS, AUTO-BW
        (5590 - 5650 @ 40), (N/A, 30), (600000 ms), DFS, AUTO-BW
        (5650 - 5710 @ 40), (N/A, 30), (0 ms), DFS, AUTO-BW

phy#1 (self-managed)
country GB: DFS-ETSI
        (2402 - 2482 @ 40), (N/A, 20), (N/A)
        (5170 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5330 @ 80), (N/A, 23), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5490 - 5590 @ 80), (N/A, 30), (0 ms), DFS, AUTO-BW
        (5590 - 5650 @ 40), (N/A, 30), (600000 ms), DFS, AUTO-BW
        (5650 - 5710 @ 40), (N/A, 30), (0 ms), DFS, AUTO-BW

phy#0 (self-managed)
country GB: DFS-ETSI
        (2402 - 2482 @ 40), (N/A, 20), (N/A)
        (5170 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5330 @ 80), (N/A, 23), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5490 - 5590 @ 80), (N/A, 30), (0 ms), DFS, AUTO-BW
        (5590 - 5650 @ 40), (N/A, 30), (600000 ms), DFS, AUTO-BW
        (5650 - 5710 @ 40), (N/A, 30), (0 ms), DFS, AUTO-BW

root@OpenWrt:~#

And apologies - implementing patches, extracting bdf's etc. is something I have never done before - I could try but it would take a bit of time to learn how to do it.

Hope that info posted above helps!

There is also radio 2, but it didn't fit in previous post body:

root@OpenWrt:~# iw phy phy2 info
Wiphy phy2
        wiphy index: 2
        max # scan SSIDs: 16
        max scan IEs length: 142 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports AP-side u-APSD.
        Available Antennas: TX 0xf RX 0xf
        Configured Antennas: TX 0xf RX 0xf
        Supported interface modes:
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
        Band 2:
                Capabilities: 0x19e7
                        RX LDPC
                        HT20/HT40
                        Dynamic SM Power Save
                        RX HT20 SGI
                        RX HT40 SGI
                        TX STBC
                        RX STBC 1-stream
                        Max AMSDU length: 7935 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: No restriction (0x00)
                HT TX/RX MCS rate indexes supported: 0-31
                VHT Capabilities (0x339b79b2):
                        Max MPDU length: 11454
                        Supported Channel Width: neither 160 nor 80+80
                        RX LDPC
                        short GI (80 MHz)
                        TX STBC
                        SU Beamformer
                        SU Beamformee
                        MU Beamformer
                        MU Beamformee
                        RX antenna pattern consistency
                        TX antenna pattern consistency
                VHT RX MCS set:
                        1 streams: MCS 0-9
                        2 streams: MCS 0-9
                        3 streams: MCS 0-9
                        4 streams: MCS 0-9
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT RX highest supported: 0 Mbps
                VHT TX MCS set:
                        1 streams: MCS 0-9
                        2 streams: MCS 0-9
                        3 streams: MCS 0-9
                        4 streams: MCS 0-9
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT TX highest supported: 0 Mbps
                VHT extended NSS: supported
                HE Iftypes: managed
                        HE MAC Capabilities (0x000b9a181040):
                                +HTC HE Supported
                                TWT Requester
                                Dynamic BA Fragementation Level: 1
                                BSR
                                Broadcast TWT
                                OM Control
                                Maximum A-MPDU Length Exponent: 3
                                RX Control Frame to MultiBSS
                                A-MSDU in A-MPDU
                                OM Control UL MU Data Disable RX
                        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
                        HE RX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE RX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        PPE Threshold 0x3b 0x1c 0xc7 0x71 0x1c 0xc7 0x71 0x1c 0xc7 0x71
                HE Iftypes: AP
                        HE MAC Capabilities (0x000d9a181040):
                                +HTC HE Supported
                                TWT Responder
                                Dynamic BA Fragementation Level: 1
                                BSR
                                Broadcast TWT
                                OM Control
                                Maximum A-MPDU Length Exponent: 3
                                RX Control Frame to MultiBSS
                                A-MSDU in A-MPDU
                                OM Control UL MU Data Disable RX
                        HE PHY Capabilities: (0x0c604c887fdb839c010c00):
                                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 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
                        HE RX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE RX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        PPE Threshold 0x3b 0x1c 0xc7 0x71 0x1c 0xc7 0x71 0x1c 0xc7 0x71
                HE Iftypes: mesh point
                        HE MAC Capabilities (0x00098a081040):
                                +HTC HE Supported
                                Dynamic BA Fragementation Level: 1
                                BSR
                                OM Control
                                Maximum A-MPDU Length Exponent: 1
                                RX Control Frame to MultiBSS
                                A-MSDU in A-MPDU
                                OM Control UL MU Data Disable RX
                        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
                        HE RX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set <= 80 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE RX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        PPE Threshold 0x3b 0x1c 0xc7 0x71 0x1c 0xc7 0x71 0x1c 0xc7 0x71
                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)
        valid interface combinations:
                 * #{ managed } <= 1, #{ AP, mesh point } <= 16,
                   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 }

        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Maximum associated stations in AP mode: 128
        Supported extended features:
                * [ RRM ]: RRM
                * [ SET_SCAN_DWELL ]: scan dwell setting
                * [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ ACK_SIGNAL_SUPPORT ]: ack signal level support
                * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
                * [ ENABLE_FTM_RESPONDER ]: enable FTM (Fine Time Measurement) responder
                * [ STA_TX_PWR ]: TX power control per station
                * [ VLAN_OFFLOAD ]: VLAN offload support
                * [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
                * [ BSS_COLOR ]: BSS coloring support
                * [ POWERED_ADDR_CHANGE ]: can change MAC address while up

EDIT:

I am adding channels info again:

root@OpenWrt:~# iw phy phy0 channels
Band 2:
        * 5180 MHz [36]
          Maximum TX power: 23.0 dBm
          Channel widths: 20MHz HT40+ VHT80
        * 5200 MHz [40]
          Maximum TX power: 23.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5220 MHz [44]
          Maximum TX power: 23.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5240 MHz [48]
          Maximum TX power: 23.0 dBm
          Channel widths: 20MHz HT40- HT40+ VHT80
        * 5260 MHz [52]
          Maximum TX power: 23.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5280 MHz [56]
          Maximum TX power: 23.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5300 MHz [60]
          Maximum TX power: 23.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5320 MHz [64]
          Maximum TX power: 23.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5500 MHz [100]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5520 MHz [104]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5540 MHz [108]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5560 MHz [112]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5580 MHz [116]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5600 MHz [120]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 600000 ms
        * 5620 MHz [124]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 600000 ms
        * 5640 MHz [128]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 600000 ms
        * 5660 MHz [132]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5680 MHz [136]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- HT40+ VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 5700 MHz [140]
          Maximum TX power: 30.0 dBm
          Radar detection
          Channel widths: 20MHz HT40- VHT80
          DFS state: usable (for 1911 sec)
          DFS CAC time: 60000 ms
        * 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)
        * 5885 MHz [177] (disabled)
root@OpenWrt:~#

cheers

FYI,

For those interested @BrainSlayer's remove bdf regdomain patch modded for my repo.

Copy to package/kernel/mac80211/patches/nss/ath11k/999-818-ath11k-bdf-removeregdomain.patch and clean and rebuild mac80211.

3 Likes

i posted it already if you are refering to the 160 mhz problem. just read my posts

your radio doesnt support 160 mhz by hw report (according to iw phy phy0 info)

the vht capabilities returned by the chipset
"Supported Channel Width: neither 160 nor 80+80"

so even if the he cap does say its 160 mhz capable. if vht capabilities are returning 80 only 160mhz is disabled

For the next 10-12 days I'm going to be unable to test the nbg7815.

You've caught me on a journey and I don't even have a computer to include the patches that are being published in my nbg7815 repository.

Hey, thanks for checking, but wouldn't VHT apply to wifi-ac? Below it states multiple times that it support HE160, which is an wifi-ax extension.

EDIT:

HE PHY Capabilities: (0x0c604c897fdb839c010c00):
                                HE40/HE80/5GHz
                                HE160/5GHz
HE RX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported
                        HE TX MCS and NSS set 160 MHz
                                1 streams: MCS 0-11
                                2 streams: MCS 0-11
                                3 streams: MCS 0-11
                                4 streams: MCS 0-11
                                5 streams: not supported
                                6 streams: not supported
                                7 streams: not supported
                                8 streams: not supported

That would be consistent with what I see in luci - I can't see 160 when mode is ac, but I can when mode is ax?