Following instructions are provided without any warranty, and may even get you in trouble legally.
The instructions are provided for testing, learning, preventing e-waste, and should be use with care.
We (including contributers + commentators) are not responsible for any damage to your device(s) or any legal issues.
This repository provides information on how one may possibly enable additional or change WiFi-channels, and TX-power on ASUS provided routers. It also offers some tweaks for AiMesh nodes.
The purpose is to adjust a router or AP (AiMesh node) to the legal state of the country (e.g. you bought an ASUS router in JAP, and want to re-use again it in GER). The current method is focussing on exposed nvram variables, and overrule them again when a service or event has been restarted or dispatched.
Please note adjustments may cause connectivity issues and may have a performance impact. It's advisable to test each value (overwrite), check your routers temps and validate if it actually works for you.
The adjusted nvram settings have been tested on the ASUS RT-AX58U v1 (Asuswrt-Merlin) & ASUS ZenWiFi AX XT8 v2 (AiMesh node - stock firmware).
Note: Please do not ask for any support on the SNBForums, ASUS or any (official) Merlin related projects about these tweaks. See the Troubleshooting section to reset any changes, or remove any adjustments first if you need to ask for support/help.
Note: Most modern wireless devices use something called Location Aware Regulatory (LAR), and other hidden signals to check the origin of the country. This means that even changing/forcing your router's WiFi-settings, your clients may choose to ignore it (use a fallback-mode) or do not connect at all. See troubleshooting if this happens in your case.
A massive shoutout goes out to the contributes on my previous gist, and members of the SNBForums for findings and information about certain parameters.
See https://www.htpcguides.com/enable-ssh-asus-routers-without-ssh-keys/ for instructions. The guide explains both the usage of a password and SSH-keys.
Login into router using SSH (password or key):
- Run
nvram dump > dump.txt
- Use
scp
to copy it to your working machine or copy the contents ofnvram dump
to somewhere safe. - Make sure
Enable JFFS custom scripts and configs
is enabled and working in System settings. - Reboot router
Tip: If your router or AP doesn't support Asuswrt-Merlin, checkout asuswrt-scripts.
-
Follow https://github.com/RMerl/asuswrt-merlin.ng/wiki/User-scripts.
-
Make sure JFFS has been enabled:
nvram set jffs2_on=1
nvram set jffs2_scripts=1
nvram commit
reboot
-
Create/update the required
/jffs/scripts
files, see given example for details. -
Update your device
nvram
overwrites into the/jffs/scripts/wlupdate
file (uncomment lines starting with#
). -
Update
/jffs/scripts/wlboost
if you want to force more channel steering (uncomment lines starting with#
). -
Make sure scripts are executable:
chmod a+rx /jffs/scripts/*
- Apply nvram overwrites, and register the cronjob:
/jffs/scripts/wlupdate
- If the overrules work, you can make them persistent on reboots:
nvram commit
reboot
To validate the wireless settings, you may want to use com.vrem.wifianalyzer or any other wireless tool.
To restart the wireless service, use service restart_wireless
or by using the scMerlin addon.
The script /jffs/scripts/wlboost
may be useful to force channel steering. While the ASUS firmware uses nvram settings, it may choose to ignore them. This script forces wireless interfaces to follow certain parameters, but may cause your wireless to go down for a few seconds.
You may also want to use System Log for diagnostics:
It's possible to restore factory nvram settings by using a hard reset:
This will clear all overwrites and restores factory defaults.