Warning
Following instructions are provided without any warranty, and may even get you in trouble legally. The instructions are provided for testing, and should be use with care. We (including commentators) are not responsible for any damage to your device(s).
Introduction
This may enable additional channels and power (in most cases don't) on ASUS Merlin provided routers.
The nvram settings have been tested on a ASUS RT-AX58U, they may work on other models as well (ASUS RT-AC78U).
Please use nvram dump
and adjust when needed, as they may differ on your device!
Credits to the commentators below, and members on the SNBForums posting instructions. Please post your findings, and help others when needed. :)
Login into router using SSH
See https://www.htpcguides.com/enable-ssh-asus-routers-without-ssh-keys/ for instructions.
Backup current settings
nvram dump > dump.txt
NOTE: You need to copy the dump.txt (or output by
nvram dump
to somewhere else, as they will be lost on reboot
JFFS custom scripts and configs
Make sure
Enable JFFS custom scripts and configs
, is enabled in System settings. See https://github.com/RMerl/asuswrt-merlin.ng/wiki/User-scripts for details.
Create a /jffs/scripts/wl
file, and paste the nvram
overwrites into this file (see given example file).
Create/adjust /jffs/scripts/init-start
:
#!/bin/sh
[ -x /jffs/scripts/wl ] && /jffs/scripts/wl &
# [ -x /jffs/addons/AdGuardHome.d/AdGuardHome.sh ] && /jffs/addons/AdGuardHome.d/AdGuardHome.sh init-start & # place before addons
Create/adjust /jffs/scripts/services-start
:
#!/bin/sh
cru a wl "0 */8 * * * /jffs/scripts/wl"
Make sure the scripts are executable:
chmod a+rx /jffs/scripts/*
Applying changes
You need to reboot the router to apply changes
Please note changing settings in the UI, may undo nvram changes.
It is recommended to change settings using CLI instead:
nvram set wl1_chanspec=149/160
# nvram set wl1_chanspec=149/80
# nvram set wl1_chanspec=48
service restart_wireless
To make the changes persistent, make sure to add them to the jffs/scripts/wl
script.
If you are using AiMesh, you might need to change the node as well.
Another thing you can try is to check to read the values for wl_chanspec, wl0_chanspec, wl1_chanspec and wl2_chanspec.
I don't remember, but some of the info floating around is wrong. They are referring to wl1, when it should be wl2.
Some stuff also just doesn't work as expected. Like the reg_mode. It appears as if you can it independently, but it just bounces back to whatever after reboot. BUT if you change the country code then the reg_mode is also changed automatically.
The whole thing is a mess with limited transparency because of boards/people are afraid of getting heat from the manufacturers.
I'd do a nvram dump as they suggest in the very first top post just to see what settings are already present and defined in the config.