DFS fails/incorrect channel listing on WRT32X

Report wireless and/or network connectivity problems in this forum.

Moderator: Moderators

Post Reply
Rog66
Posts: 206
Joined: Fri Jan 04, 2013 4:53 pm

DFS fails/incorrect channel listing on WRT32X

Post by Rog66 »

I have an EU WRT32X - the DFS channels dont work (in either Openwrt or Gargoyle) but work fine in DD-WRT. In addition, the channel listing appears incorrect (higher channels are disabled).

Error in the syslog is DFS start_dfs_cac() failed, -1

Output of various files is as follows (MAC / IP addresses in last file are valid but have been removed)

Code: Select all

Wiphy phy0
        max # scan SSIDs: 4
        max scan IEs length: 2247 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports AP-side u-APSD.
        Device supports T-DLS.
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
        Band 2:
                Capabilities: 0x186f
                        RX LDPC
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        No RX STBC
                        Max AMSDU length: 7935 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 4 usec (0x05)
                HT TX/RX MCS rate indexes supported: 0-23, 32
                VHT Capabilities (0x339b7976):
                        Max MPDU length: 11454
                        Supported Channel Width: 160 MHz
                        RX LDPC
                        short GI (80 MHz)
                        short GI (160/80+80 MHz)
                        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: not supported
                        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: not supported
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT TX highest supported: 0 Mbps
                Frequencies:
                        * 5180 MHz [36] (20.0 dBm)
                        * 5200 MHz [40] (20.0 dBm)
                        * 5220 MHz [44] (20.0 dBm)
                        * 5240 MHz [48] (20.0 dBm)
                        * 5260 MHz [52] (20.0 dBm) (radar detection)
                        * 5280 MHz [56] (20.0 dBm) (radar detection)
                        * 5300 MHz [60] (20.0 dBm) (radar detection)
                        * 5320 MHz [64] (20.0 dBm) (radar detection)
                        * 5500 MHz [100] (27.0 dBm) (radar detection)
                        * 5520 MHz [104] (27.0 dBm) (radar detection)
                        * 5540 MHz [108] (27.0 dBm) (radar detection)
                        * 5560 MHz [112] (27.0 dBm) (radar detection)
                        * 5580 MHz [116] (27.0 dBm) (radar detection)
                        * 5600 MHz [120] (27.0 dBm) (radar detection)
                        * 5620 MHz [124] (27.0 dBm) (radar detection)
                        * 5640 MHz [128] (27.0 dBm) (radar detection)
                        * 5660 MHz [132] (27.0 dBm) (radar detection)
                        * 5680 MHz [136] (27.0 dBm) (radar detection)
                        * 5700 MHz [140] (27.0 dBm) (radar detection)
                        * 5720 MHz [144] (disabled)
                        * 5745 MHz [149] (disabled)
                        * 5765 MHz [153] (disabled)
                        * 5785 MHz [157] (disabled)
                        * 5805 MHz [161] (disabled)
        valid interface combinations:
                 * #{ AP } <= 16, #{ mesh point } <= 1, #{ managed } <= 1,
                   total <= 16, #channels <= 1, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 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

Code: Select all

Wiphy phy1
        max # scan SSIDs: 4
        max scan IEs length: 2242 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports AP-side u-APSD.
        Device supports T-DLS.
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
        Band 1:
                Capabilities: 0x186f
                        RX LDPC
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        No RX STBC
                        Max AMSDU length: 7935 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 4 usec (0x05)
                HT TX/RX MCS rate indexes supported: 0-23, 32
                VHT Capabilities (0x339b7976):
                        Max MPDU length: 11454
                        Supported Channel Width: 160 MHz
                        RX LDPC
                        short GI (80 MHz)
                        short GI (160/80+80 MHz)
                        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: not supported
                        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: not supported
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT TX highest supported: 0 Mbps
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
        valid interface combinations:
                 * #{ AP } <= 16, #{ mesh point } <= 1, #{ managed } <= 1,
                   total <= 16, #channels <= 1, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 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

Code: Select all

var isBcm94704 = false;
var allLanMacs = [];
allLanMacs.push("*");
allLanMacs.push("*");
allLanMacs.push("*");
var isRamips = false;
var wifiDevG=uciWirelessDevs.length > 0 ? uciWirelessDevs[0] : "";
var wifiDevA="";
var wirelessDriver="mac80211";
var mac80211Channels = [];
var mac80211ChFreqs = [];
var mac80211ChPwrs = [];
var nextCh=[];
var dualBandWireless=true;
nextCh     = [];
nextChFreq = [];
nextChPwr  = [];
wifiDevA="radio0";
var AwifiN = true;
var AwifiAC = true;
var maxACwidth = "160" ;
nextCh.push(36); nextChFreq[36] = "5180MHz"; nextChPwr[36] = 20;
nextCh.push(40); nextChFreq[40] = "5200MHz"; nextChPwr[40] = 20;
nextCh.push(44); nextChFreq[44] = "5220MHz"; nextChPwr[44] = 20;
nextCh.push(48); nextChFreq[48] = "5240MHz"; nextChPwr[48] = 20;
nextCh.push(52); nextChFreq[52] = "5260MHz"; nextChPwr[52] = 20;
nextCh.push(56); nextChFreq[56] = "5280MHz"; nextChPwr[56] = 20;
nextCh.push(60); nextChFreq[60] = "5300MHz"; nextChPwr[60] = 20;
nextCh.push(64); nextChFreq[64] = "5320MHz"; nextChPwr[64] = 20;
nextCh.push(100); nextChFreq[100] = "5500MHz"; nextChPwr[100] = 27;
nextCh.push(104); nextChFreq[104] = "5520MHz"; nextChPwr[104] = 27;
nextCh.push(108); nextChFreq[108] = "5540MHz"; nextChPwr[108] = 27;
nextCh.push(112); nextChFreq[112] = "5560MHz"; nextChPwr[112] = 27;
nextCh.push(116); nextChFreq[116] = "5580MHz"; nextChPwr[116] = 27;
nextCh.push(120); nextChFreq[120] = "5600MHz"; nextChPwr[120] = 27;
nextCh.push(124); nextChFreq[124] = "5620MHz"; nextChPwr[124] = 27;
nextCh.push(128); nextChFreq[128] = "5640MHz"; nextChPwr[128] = 27;
nextCh.push(132); nextChFreq[132] = "5660MHz"; nextChPwr[132] = 27;
nextCh.push(136); nextChFreq[136] = "5680MHz"; nextChPwr[136] = 27;
nextCh.push(140); nextChFreq[140] = "5700MHz"; nextChPwr[140] = 27;
mac80211Channels["A"] = nextCh ;
mac80211ChFreqs["A"]  = nextChFreq ;
mac80211ChPwrs["A"]   = nextChPwr ;
nextCh     = [];
nextChFreq = [];
nextChPwr  = [];
wifiDevG="radio1";
var GwifiN = true;
nextCh.push(1); nextChFreq[1] = "2412MHz"; nextChPwr[1] = 20;
nextCh.push(2); nextChFreq[2] = "2417MHz"; nextChPwr[2] = 20;
nextCh.push(3); nextChFreq[3] = "2422MHz"; nextChPwr[3] = 20;
nextCh.push(4); nextChFreq[4] = "2427MHz"; nextChPwr[4] = 20;
nextCh.push(5); nextChFreq[5] = "2432MHz"; nextChPwr[5] = 20;
nextCh.push(6); nextChFreq[6] = "2437MHz"; nextChPwr[6] = 20;
nextCh.push(7); nextChFreq[7] = "2442MHz"; nextChPwr[7] = 20;
nextCh.push(8); nextChFreq[8] = "2447MHz"; nextChPwr[8] = 20;
nextCh.push(9); nextChFreq[9] = "2452MHz"; nextChPwr[9] = 20;
nextCh.push(10); nextChFreq[10] = "2457MHz"; nextChPwr[10] = 20;
nextCh.push(11); nextChFreq[11] = "2462MHz"; nextChPwr[11] = 20;
nextCh.push(12); nextChFreq[12] = "2467MHz"; nextChPwr[12] = 20;
nextCh.push(13); nextChFreq[13] = "2472MHz"; nextChPwr[13] = 20;
mac80211Channels["G"] = nextCh ;
mac80211ChFreqs["G"]  = nextChFreq ;
mac80211ChPwrs["G"]   = nextChPwr ;
var distribTarget='mvebu/cortexa9';
var geo_ipaddress = "*"; var geo_countrycode = "GB";

Lantis
Moderator
Posts: 6753
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: DFS fails/incorrect channel listing on WRT32X

Post by Lantis »

For the dfs not start error, this is usually an error in the country code.
Can you please check what the country code set in your wireless config is?

Code: Select all

cat /etc/config/wireless
... removing passwords etc.
I expect the answer will be "GB".

GB isn't actually valid when it comes to these devices. We can check what it should be by running:

Code: Select all

strings /dev/mtd3|sed -ne 's/^cert_region=//p'
Valid entries as far as the driver are concerned (but they also must match the device):

Code: Select all

	{"US", 0x10}, /* US FCC */
	{"CA", 0x20}, /* Canada */
	{"FR", 0x30}, /* France */
	{"ES", 0x31}, /* Spain  */
	{"FR", 0x32}, /* France */
	{"JP", 0x40}, /* Japan  */
	{"TW", 0x80}, /* Taiwan */
	{"AU", 0x81}, /* Australia */
	{"CN", 0x90}, /* China (Asia) */
So i'd say trying to change to the valid entry (which i think will be FR in your case) will fix that error. The next question will be, why was it wrong in the first place? Have a few theories but 1 step at a time.


As far as higher channels not being available, looks fine to me.
These are the related regulatory rules for both GB and FR:

Code: Select all

country FR: DFS-ETSI
	(2402 - 2482 @ 40), (20)
	(5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
	(5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI
	(5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI
        # short range devices (ETSI EN 300 440)
	(5725 - 5875 @ 80), (25 mW)
	# 60 GHz band channels 1-4, ref: Etsi En 302 567
	(57000 - 66000 @ 2160), (40)

country GB: DFS-ETSI
	(2402 - 2482 @ 40), (20)
	(5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI
	(5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI
	(5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI
	# 60 GHz band channels 1-4, ref: Etsi En 302 567
	(57000 - 66000 @ 2160), (40)
Note that both of them do not allow any channels higher than 140.
http://lantisproject.com/downloads/gargoyle_ispyisail.php for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

Rog66
Posts: 206
Joined: Fri Jan 04, 2013 4:53 pm

Re: DFS fails/incorrect channel listing on WRT32X

Post by Rog66 »

Ok - the UK allows higher channels than France . If I run firstboot the Country is set by default to "00" in the wireless config. This config fails on ANY DFS channel.

If I set the country to "FR" and restart wifi, DFS still fails to start. If I remove the country line I only get 2 options for channels and only 36 works (I cant use this as my satellite box uses Channel 36 - with 80 MHz for its mesh network)

Do you know where the comparable info is held in the DD-WRT config (I couldnt find it) and I'll try and do some investigation to see why it works there and not on Openwrt/Gargoyle.

Lantis
Moderator
Posts: 6753
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: DFS fails/incorrect channel listing on WRT32X

Post by Lantis »

Not according to the rules in the Linux regulatory database.
If those aren’t up to date you can send them the latest rules with a reference to legislation or whatever and they will update it. But the power table is probably hard coded in the device anyway.

Did you check the mtd3 partition for your device code? 00 shouldn’t be right I think. Command was in my first post.

Not sure on ddwrt config, I’ve never used it
http://lantisproject.com/downloads/gargoyle_ispyisail.php for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

Rog66
Posts: 206
Joined: Fri Jan 04, 2013 4:53 pm

Re: DFS fails/incorrect channel listing on WRT32X

Post by Rog66 »

Sorry yes it says "EU". Ive tried EU, GB, 00 and DE but none work - same result in openwrt. But Radio 2 in openwrt works and also on the higher channels so is definitely something to do with openwrt and radio 0.

Lantis
Moderator
Posts: 6753
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: DFS fails/incorrect channel listing on WRT32X

Post by Lantis »

Well EU isn't even valid as far as regulatory database is concerned... jeez this driver is annoying.

Can you check

Code: Select all

cat /sys/kernel/debug/ieee80211/phy0/mwlwifi/info
please?

It would be interesting to know why it is working on DDWRT... once i know what your info debugfile shows i'll try checking with him.
http://lantisproject.com/downloads/gargoyle_ispyisail.php for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

Rog66
Posts: 206
Joined: Fri Jan 04, 2013 4:53 pm

Re: DFS fails/incorrect channel listing on WRT32X

Post by Rog66 »

Sorry
took a while as getting back from dd-wrt to gargoyle isn't easy on a WRT32X ;-) Logfile below (mac address modified) - really appreciate your help with this - whilst DD-WRT works I'd much rather stay with Gargoyle if I can.

Code: Select all

driver name: mwlwifi
chip type: 88W8964
hw version: 7
driver version: 10.3.8.0-20181120
firmware version: 0x09030206
power table loaded from dts: no
firmware region code: 0x30
mac address: 60:38:e0:xx:xx:xx
2g: disable
5g: enable
antenna: 4 4
irq number: 49
ap macid support: 0000ffff
sta macid support: 00010000
macid used: 00000001
radio: disable
iobase0: e1100000
iobase1: e1380000
tx limit: 1024
rx limit: 16384
p.s. I think country code x30(48) is ETSI i.e. EU not FR

Rog66
Posts: 206
Joined: Fri Jan 04, 2013 4:53 pm

Re: DFS fails/incorrect channel listing on WRT32X

Post by Rog66 »

Lantis - this morning I thought I would try the 5Ghz again - I put in "option country 'FR'" and the wifi came up straight away. Now I can put any country code in the config (its currently on 'RU' to test and it works . This is really frustrating as I have changed nothing - I am beginning to agree with you - this driver sucks. The only thing I can think of is that to come back from DD-WRT you have to write the firmware directly to both partitions and reboot and that this time around it wrote something correctly that it hadn't done before - a long shot but I can think of nothing else as running firstboot and setting the wifi up from scratch hadn't fixed the issue so I dont believe it was a config problem and I had the exact same issue in openwrt with a different config. I hate not knowing what "fixed" it but I'll live with that as I now have the firmware I wanted and now the guest network issue is fixed have set that up with no wmm for my esp devices and have everything working on gargoyle again!. Thanks for all your work on this !!

Roger.

Lantis
Moderator
Posts: 6753
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: DFS fails/incorrect channel listing on WRT32X

Post by Lantis »

Hah, i agree, that's pretty annoying. I don't like when problems "solve themselves" lol. 8-)

Let me know if it goes south again and we'll look more into it, but to be honest i was out of ideas anyway.
http://lantisproject.com/downloads/gargoyle_ispyisail.php for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

Post Reply