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.
Confirming it works on RT-AX58U, Merlin 388.1 😁
(probably works on RT-AX3000 as well)
@barkmarkin since you wrote it won't work on your AX58U
I have two RT-AX58U and was able to increase transmit power and to select all possible 5 GHz channels. I was on country
wl1_country_code=E0, wl1_country_rev=742
before. Concerning 5 GHz channels: The Broadcom BCM6750 supports max frequency of 5.85 GHz, i.e. the U-NII-3 band. Hence, the "highest" possible 80 MHz channel isnvram set wl1_chanspec=161/80
.These steps worked for me, but only exactly like this!
(also non-IT-guys should be able to follow this)
Alternatively change those things via
nvram set
.nvram dump | grep jffs
you should then havejffs2_auto_erase=0 jffs2_enable=1 jffs2_format=0 jffs2_on=1 jffs2_scripts=1 jffs2_state=3 log_path=/jffs
You don't need to setjffs2_exec=
init-start
, store it in/jffs/scripts
chmod +x init-start
./init-start
DO NOT try to change channels via Web-GUI or via console after reboot! This will not work and reset back to the old country settings!!
Example of one of my
init-start
file, where I only wanted to change 5 Ghz channels:Note: You select the most upper channel with
nvram set wl1_chanspec=161/80
, the control channel is then the lowest of those four 20 MHz channels, i.e. 149, see wikipediaMy lenovo laptop connects as (omitting some details here)