WRT32X Firmware

Hi guys,

Been using the WRT32X for almost 2 weeks now, and on the whole it's been good. I had planned on waiting to download davidc502's image, but i just couldn't wait to get LEDE running on it. I'm almost certain i'm on the initial snapshot release, but below is the version information:

Firmware: OpenWrt SNAPSHOT r6910-afbb3d2 / LuCI Master (git-18.135.54932-47971d2)
Kernel: 4.14.37

The biggest issue i'm having right now is that the 5Ghz band on radio0 just doesnt seem to work properly, in fact its getting worse. I know the firmware for this unit is super new so i was kinda hoping we could get a discussion going, see who else is having problems, and what those problems are.

I have put together the build for this myself so it could well be that i am missing some packages. Here is a list of the packages i have installed:

adblock - 3.5.2-1
base-files - 190-r6910-afbb3d2
busybox - 1.28.3-2
dnscrypt-proxy - 1.9.5-8
dnscrypt-proxy-resolvers - 1.9.5+git-20171001-2d43be3-8
dnsmasq - 2.80test2-1
dropbear - 2017.75-5
firewall - 2018-05-14-b45e162e-1
fstools - 2018-04-16-e2436836-1
fwtool - 1
haveged - 1.9.2-2
hostapd-common - 2018-04-09-fa617ee6-5
ip6tables - 1.6.2-1
iptables - 1.6.2-1
iw - 4.14-1
jshn - 2018-04-12-6eff829d-1
jsonfilter - 2018-02-04-c7e938d6-1
kernel - 4.14.37-1-0cfd6b894cf43fa2fc3f6d5136a32210
kmod-bluetooth - 4.14.37-1
kmod-btmrvl - 4.14.37-1
kmod-cfg80211 - 4.14.37+2017-11-01-8
kmod-crypto-acompress - 4.14.37-1
kmod-crypto-aead - 4.14.37-1
kmod-crypto-cmac - 4.14.37-1
kmod-crypto-ecb - 4.14.37-1
kmod-crypto-ecdh - 4.14.37-1
kmod-crypto-hash - 4.14.37-1
kmod-crypto-kpp - 4.14.37-1
kmod-crypto-manager - 4.14.37-1
kmod-crypto-null - 4.14.37-1
kmod-crypto-pcompress - 4.14.37-1
kmod-gpio-button-hotplug - 4.14.37-2
kmod-hid - 4.14.37-1
kmod-i2c-core - 4.14.37-1
kmod-input-core - 4.14.37-1
kmod-input-evdev - 4.14.37-1
kmod-ip6tables - 4.14.37-1
kmod-ipt-conntrack - 4.14.37-1
kmod-ipt-core - 4.14.37-1
kmod-ipt-nat - 4.14.37-1
kmod-ipt-offload - 4.14.37-1
kmod-lib-crc-ccitt - 4.14.37-1
kmod-lib-crc16 - 4.14.37-1
kmod-lib-lzo - 4.14.37-1
kmod-mac80211 - 4.14.37+2017-11-01-8
kmod-mmc - 4.14.37-1
kmod-mwifiex-sdio - 4.14.37+2017-11-01-8
kmod-mwlwifi - 4.14.37+2018-03-30-fcaea79a-1
kmod-nf-conntrack - 4.14.37-1
kmod-nf-conntrack6 - 4.14.37-1
kmod-nf-flow - 4.14.37-1
kmod-nf-ipt - 4.14.37-1
kmod-nf-ipt6 - 4.14.37-1
kmod-nf-nat - 4.14.37-1
kmod-nf-reject - 4.14.37-1
kmod-nf-reject6 - 4.14.37-1
kmod-nls-base - 4.14.37-1
kmod-ppp - 4.14.37-1
kmod-pppoe - 4.14.37-1
kmod-pppox - 4.14.37-1
kmod-regmap - 4.14.37-1
kmod-slhc - 4.14.37-1
kmod-tun - 4.14.37-1
kmod-usb-core - 4.14.37-1
lede-keyring - 2017-01-20-a50b7529-1
libblobmsg-json - 2018-04-12-6eff829d-1
libc - 1.1.19-1
libgcc - 7.3.0-1
libhavege - 1.9.2-2
libip4tc - 1.6.2-1
libip6tc - 1.6.2-1
libiwinfo - 2018-02-15-223e09bf-1
libiwinfo-lua - 2018-02-15-223e09bf-1
libjson-c - 0.12.1-1
libjson-script - 2018-04-12-6eff829d-1
liblua - 5.1.5-1
liblucihttp - 2018-04-22-ccc685e5-1
liblucihttp-lua - 2018-04-22-ccc685e5-1
liblzo - 2.10-1
libnl-tiny - 0.1-5
libopenssl - 1.0.2o-1
libpcre - 8.41-2
libpthread - 1.1.19-1
librt - 1.1.19-1
libsodium - 1.0.16-1
libubox - 2018-04-12-6eff829d-1
libubus - 2018-01-16-5bae22eb-1
libubus-lua - 2018-01-16-5bae22eb-1
libuci - 2018-03-24-5d2bf09e-1
libuci-lua - 2018-03-24-5d2bf09e-1
libuclient - 2017-11-02-4b87d831-1
libustream-openssl - 2018-04-30-527e7002-3
libxtables - 1.6.2-1
logd - 2018-02-14-128bc35f-1
lua - 5.1.5-1
luci - git-18.136.23288-7b68436-1
luci-app-adblock - git-18.136.23288-7b68436-1
luci-app-dnscrypt-proxy - git-18.136.23288-7b68436-1
luci-app-firewall - git-18.136.23288-7b68436-1
luci-app-openvpn - git-18.136.23288-7b68436-1
luci-base - git-18.136.23288-7b68436-1
luci-lib-httpprotoutils - git-18.136.23288-7b68436-1
luci-lib-ip - git-18.136.23288-7b68436-1
luci-lib-jsonc - git-18.136.23288-7b68436-1
luci-lib-nixio - git-18.136.23288-7b68436-1
luci-mod-admin-full - git-18.136.23288-7b68436-1
luci-proto-ipv6 - git-18.136.23288-7b68436-1
luci-proto-ppp - git-18.136.23288-7b68436-1
luci-theme-bootstrap - git-18.136.23288-7b68436-1
luci-theme-darkmatter - git-17.010.73729-fd88e48-1
mtd - 21
mwifiex-sdio-firmware - 2017-09-06-a61ac5cf-1
mwlwifi-firmware-88w8964 - 2018-03-30-fcaea79a-1
netifd - 2018-04-26-56cecedb-1
odhcp6c - 2018-04-29-5316d7f8-11
odhcpd-ipv6only - 1.7-1
openssl-util - 1.0.2o-1
openvpn-openssl - 2.4.5-3
opkg - 2017-12-07-3b417b9f-2
ppp - 2.4.7-12
ppp-mod-pppoe - 2.4.7-12
procd - 2018-03-28-dfb68f85-1
rpcd - 2018-05-13-82062195-1
rpcd-mod-rrdns - 20170710
swconfig - 11
ubi-utils - 2.0.2-1
uboot-envtools - 2018.03-1
ubox - 2018-02-14-128bc35f-1
ubus - 2018-01-16-5bae22eb-1
ubusd - 2018-01-16-5bae22eb-1
uci - 2018-03-24-5d2bf09e-1
uclient-fetch - 2017-11-02-4b87d831-1
uhttpd - 2017-11-04-a235636a-1
uhttpd-mod-ubus - 2017-11-04-a235636a-1
usign - 2015-07-04-ef641914-1
wget - 1.19.5-1
wireless-regdb - 2017-10-20-4343d359
wpad-mini - 2018-04-09-fa617ee6-5
zlib - 1.2.11-2

When i started using the unit i was able to set the channel and power without causing any issues, however when i tried setting the channel width to 160Mhz radio0 would fail, stating it was disabled or not associated. I read that, for the WRT3200, 160Mhz only works when the channel is set to 100 or 120 here: https://github.com/kaloz/mwlwifi/issues/280

That didn't work. Since then the problem has gradually gotten worse. 80Mhz channel width stopped working, then 40Mhz, and now the radio wont work at all, no matter what settings i use. 2.4Ghz works fine. I left Radio2 disabled so it didn't interfere in any way and it has been that way since day one after i noticed there were problems with the 5Ghz band. Below is the current wireless config:

config wifi-device 'radio0'
	option type 'mac80211'
	option hwmode '11a'
	option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
	option legacy_rates '0'
	option channel 'auto'
	option country '00'
	option htmode 'VHT20'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option macaddr '62:38:e0:c3:76:a2'
	option ssid 'TheManor [5Ghz]'
	option encryption 'psk2'
	option key '**********'

config wifi-device 'radio1'
	option type 'mac80211'
	option hwmode '11g'
	option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
	option htmode 'HT40'
	option txpower '20'
	option legacy_rates '0'
	option country '00'
	option channel 'auto'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option macaddr '62:38:e0:c3:76:a1'
	option encryption 'psk2'
	option key '***********'
	option ssid 'TheManor [2.4Ghz]'

config wifi-device 'radio2'
	option type 'mac80211'
	option hwmode '11a'
	option path 'platform/soc/soc:internal-regs/f10d8000.sdhci/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
	option channel '100'
	option legacy_rates '0'
	option htmode 'VHT20'
	option country '00'

config wifi-iface 'default_radio2'
	option device 'radio2'
	option network 'lan'
	option mode 'ap'
	option encryption 'none'
	option ssid 'Test 5.2'
	option disabled '1'

I was thinking i'd download the latest firmware to see if it helped but I wasnt sure whether that would remove the packages and configurations i have made so far.

I have tried looking for solutions but i think because the firmware for this unit is so new there hasn't been much discussion about it yet.

Anyone else having this issue? Anyone have any ideas on how to fix it? Is there any further detail i can provide that might help? Happy to test any possible solutions.

TIA

Beard

You can’t use channel auto
Why did you change your country from what it defaulted to? Your device is region locked and the default country should have been sufficiently selected by the init scripts.

As far as wifi issues, treat it like the WRT3200ACM until proven otherwise that the issues are unique.

Set country back to how it was. Set channel to 36 and establish a VHT80. If this works, try VHT160 which may or may not work in your region. You may need it at channel 100.
The system log will tell you if it worked or not based on CAC outcome.

For what it’s worth, I’ve seen no issues.

On my previous router i had to set the Country to 00 so i could increase the transmit power, max in the UK is 20dbm, but it seems it didn't make a difference with the WRT32X so i'll change it back.

I'll make the changes now and test.

Back shortly.

That doesn’t make a lot of sense, as 00 is the minimum of all countries to ensure global compliance.

But yes, Tx power is locked on this device.

Huh?? Not sure why it allowed me to increase it on my old router... But i was able to set it to 26 or 27dbm, sweet spot was around 25dbm though, but then that router didn't have any antenna, which will help with TX and RX.

Ok, so setting the country back to GB, channel to 100 and channel width to 80Mhz worked, and to my surprise so did 160Mhz... I must have been doing something wrong, clearly.

Having said that, i am in work at the moment so i haven't been able to test connecting something to it but it's up with those settings.

Feel stupid now for such a long post, apparently about nothing.

Thanks for the nudge in the right direction amigo. I'll test when i get home and mark this topic solved if there aren't any issues.

While i'm here, does flashing a sysupgrade image remove any packages or settings? I would guess not but just wanted to check.

Also, how can i backup EVERYTHING in one neat little image, including packages and settings?

Thanks

OK, so I got home and couldn't see the SSID for the 5Ghz band and the LED wasn't lit, but it still looked as though it was up and running in Luci. Tried changing the channel to 120 and switching through all the channel widths, also tried rebooting, but none of that helped.

Any ideas?

Maybe try moving aside your current /etc/config/wireless file, generate a new defaulted file

wifi config

and compare, get a baseline. I don't think the current mwlwifi wants you to set the country code at all, and will not override what is in the eeprom table. Be sure the third radio radio2 is not active while you try to sort the issue; and if you set it, be sure it is in agreement with the device manufacture locale.

I do not have a wrt32x, but I assume there to be little, if any, difference on the radio(s) front to a rango, which I own.

WRT3200ACM user here - do not set your country code or power level, it causes all sorts of weirdness. The power levels, available channels, etc. are all defined based on country code, and that country code is hardcoded in your unit to comply with newer FCC regulations.

I agree with @anomeome, try starting with a fresh wifi config and change as little as possible. I would recommend the following settings:

Setting your channel to one of the available ones
Setting your channel width to 80 or 160 depending on what channel you select
Set separate ssid's for your 2.4ghz and 5ghz networks
Make sure to use WPA2 AES. TKIP will destroy throughput as the firmware isn't made to handle it

You can back up your entire config in Luci by going to the page where you would update your firmware, and clicking the Generate Backup Archive button (or something like that). Not sure it does packages, but it does do settings for sure.

In terms of the 5GHz band not being lit, mine will do that if no clients are associated to it, but I can still find my 5GHz network and connect (and when I connect, the light turns on). The LED's may behave differently between WRT32X and WRT3200ACM, but I doubt it cause its essentially the same device.

Setting the country code to what is hardcoded in the device is fine, and is done by default on new flashes of both devices. I don’t think “wifi config” does it automatically, it is handled by an extra script.

The wifi light will be off unless there is at least one device connected.

Some great advice, thanks guys.

Unfortunately i cant remember which country code the firmware chose on initial boot, i think it was DE, and i'm sure it wasnt GB. I switched to DE to test but it hasn't helped. Still no SSID for the 5Ghz band.

Will hitting the Reset button revert things back to default? Alternatively, is there a way to call the script that would recreate the wireless config file, if "wifi config" doesn't do it?

Found this, is this what would generate a new config?

image

Edit: Pretty stupid question really, i just want to be sure that this is still the method used, and that it would actually default the country code too.

That is deprecated. Wifi config is the new command I believe.

The script is here for the country code.
https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/mvebu/base-files/etc/uci-defaults/03_wireless;h=6fb24c8d4f606eb3b0f56e32924027e5063a8b50;hb=HEAD

Since you cannot override, I think

iw reg get

reports what mwlwifi wants. I do not set any country code for radio0 or radio1, both are CA, but like all units??? radio 2 appears as 'US', as here for example

Easiest is using the backup configuration function in LuCI

Packages you've added can't be easily backed up for automated restore, so you'll have to capture a list of them yourself. opkg list-installed can help with that.

You can use sysupgrade -b /tmp/some_file.tar.gz and manually pull it over to your desktop (as /tmp/ is erased on every boot or power failure). Or, if you're paranoid like I am, tar up /overlay which will capture all your changes from "stock", related to config or otherwise.

Based on the script i can see that it checks the SKU of the unit and sets the Country Code accordingly, with only 5 options, and EU units having a setting of DE, so rather than run the script i made sure both 2.4 and 5Ghz bands are set to DE.

I have gone through each channel with width set to 80Mhz and below are the results:

36, 40, 44 and 48 work (SSID is visible and can be connected to)
52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136 and 140 do not (shows as disabled or not associated)

So I set the channel width to 160Mhz and went through all channels but none of them work, showing disabled or not associated.

In each case when the status shows disabled or not associated there is a brief moment, maybe 3-5 seconds where the radio appears to be up, but then changes to disabled.

These tests were done without performing any reset of the config. Looking at the config now it looks pretty straight forward and i cant imagine that it will help to have the config file recreated. Plus, the misses would have complained if WiFi was down for the short period of time it would take me to reconfigure it. I will recreate it tonight if i cant find any other solution or details that explain the behavior i'm seeing.

Here is the output of iw reg get:

global
country 98: DFS-UNSET
        (2402 - 2472 @ 40), (N/A, 20), (N/A)
        (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
        (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
        (5490 - 5710 @ 160), (N/A, 23), (0 ms), DFS
        (57240 - 63720 @ 2160), (N/A, 40), (N/A)

phy#2
country US: DFS-FCC
        (2402 - 2472 @ 40), (N/A, 30), (N/A)
        (5170 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW
        (5250 - 5330 @ 80), (N/A, 23), (0 ms), DFS, AUTO-BW
        (5490 - 5730 @ 160), (N/A, 23), (0 ms), DFS
        (5735 - 5835 @ 80), (N/A, 30), (N/A)
        (57240 - 63720 @ 2160), (N/A, 40), (N/A)

phy#1
country FR: DFS-ETSI
        (2402 - 2482 @ 40), (N/A, 20), (N/A)
        (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
        (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
        (5490 - 5710 @ 160), (N/A, 27), (0 ms), DFS
        (57000 - 66000 @ 2160), (N/A, 40), (N/A)

phy#0
country FR: DFS-ETSI
        (2402 - 2482 @ 40), (N/A, 20), (N/A)
        (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
        (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
        (5490 - 5710 @ 160), (N/A, 27), (0 ms), DFS
        (57000 - 66000 @ 2160), (N/A, 40), (N/A)

I'll try setting the country code to FR, see what happens.

Also, do the figures in brackets show the max channel widths for channels in a certain range or am i misreading that?

Going through the Readme here: https://github.com/kaloz/mwlwifi/blob/master/README.md

Do you guys know if it's up to date?

To confirm, when you were trying to DFS channels (52 - 144), you were waiting 60 seconds for the CAC check to complete before confirming the channel was not working?
You can check the logread and you will see something like "DFS-CAC-START", and at the end "DFS-CAC-COMPLETE" with a status reflecting whether the channel could be established, or whether DFS channels are not usable due to radar interference.

If that is the case, there's nothing to be fixed here.

Hi lantis,

After going through the readme linked in my last post i realised i had messed up by installing kmod-mwifiex-sdio and mwifiex-sdio-firmware which i had seen mentioned in an older post on some wifi bug reporting page linked to from the Openwrt wiki for the Linksys AC range of devices. I removed those packages and rebooted.

Following the reboot i could see that the country code had actually updated. It had been showing as 98 for as long as i could remember in the status section, but now it's set to FR:
image
Awesome.... TX-Power is now 27dBm... ooooshh.

Now when i rebooted the channel was set to 120 and channel width was 160Mhz and while the radio stayed up my computer at home couldn't connect to it. Switched to channel 100 and boom! Radio stayed up computer and computer at home connected to it.

I'm glad i came here now, i was racking my brain wondering what i was doing wrong. Apparently i was doing a lot wrong, but now i know. I shouldn't have installed those two packages, i think they broke DFS. Leave the country code alone, this isn't my old router and on this unit it caused more problems. Set the channel to 100 and width to 160Mhz and all is well with the world, or at least my 5Ghz band!

You guys are legends! Thanks for the assist.

2 Likes