Skip to content

Instantly share code, notes, and snippets.

@francoism90
Last active December 6, 2024 08:16
Show Gist options
  • Save francoism90/3dede7973354d067c41bff5e54203fe9 to your computer and use it in GitHub Desktop.
Save francoism90/3dede7973354d067c41bff5e54203fe9 to your computer and use it in GitHub Desktop.
Change country to unlock channels, increase TX-power. (Use at your own risk)

Disclaimer

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.

Getting Started

Instructions have been moved to https://github.com/francoism90/asus-router. :)

@francoism90
Copy link
Author

@Euri007 If you did nvram commit, they are stored/persists.

It's really recommended to dump your original nvram, before applying any changes.

@pasko-zh
Copy link

I'have Just installed Merlin gnuton fork. Now can i use script and It works?

Try it out, then you will know and you could also share this feedback to the community here 😊

In general, scripts as listed above should work...

May I ask you to check, whether manipulating the driver via wl command works as well? See here and following. 🙏

@Hellohi3654
Copy link

Followed steps on a GT-AX6000 from Germany. Tx power did increase and better signal (signal strength from same spot -58dbm to -44dbm). New channels (149 and up) appeared as well. GUI changes seems to not cause issues and I can swap to other channels in GUI. However, whenever I try to connect to channel 149 from an Intel AX211 card, Windows shows I am using wifi 4 instead of wifi 6. Lower channels (36, 44, 48 etc) are fine. Is this an Intel issue like the previous posts indicated? Thanks for the help and good luck everyone.

i have the same router as you Asus gt-ax6000 wondering what version is your hw ? thanks

I'm using the ax-86u pro and have this same issue using 149 and above causes specifically Intel WiFi cards to use wifi 4 when connected to the 5ghz network Mediatek WiFi cards work fine so not sure if this is a bug or intentional design from Intel. Would be quite stupid if it's intentional

It is most likely intentional and it is stupid. This is Intel's LAR (Location-Aware Regulatory)... I always had issues with my Intel cards, so I replaced them with Mediatek. Works much better, both under win and ubuntu 😊

Yeah thought as much

@Euri007
Copy link

Euri007 commented Aug 26, 2024

@Euri007 If you did nvram commit, they are stored/persists.

It's really recommended to dump your original nvram, before applying any changes.

my mistake I have not dump.
Is there another solution?

So I have anoter router equal. Can I dump this?

@francoism90
Copy link
Author

@Euri007 No worries, you can also reset your router, and you'll have the default values again. It's also recommended to do so after switching firmwares.

I don't know that fork, but you should be able to simply reset using the router interface.

@Euri007
Copy link

Euri007 commented Aug 26, 2024

@Euri007 No worries, you can also reset your router, and you'll have the default values again. It's also recommended to do so after switching firmwares.

I don't know that fork, but you should be able to simply reset using the router interfac
I have merlin gnuton fork.
If I coming back to asus firmware and then I flash again gnuton the values come back to original?

@francoism90
Copy link
Author

@Euri007 You don't have to flash back to stock, just stay on the fork if you want to test channels and such.

@Euri007
Copy link

Euri007 commented Aug 26, 2024

@Euri007 You don't have to flash back to stock, just stay on the fork if you want to test channels and such.

Ok perfect. I'll try

@Euri007
Copy link

Euri007 commented Aug 26, 2024

@RE3CON I have an AX86S, but I cannot raise tx power. I've tried all possible commands and also cross-tried all commands. On my "old" AC86U, I could raise tx power with an "init-start" script in jffs, but this does not work anymore with the AX86S. Any idea how I can raise tx power? It's an EU-model.

Edit: I got it working now! I think, I made some mistakes earlier, like not making the init-start script executable. Here is my init-start:

#!/bin/sh nvram set asuscfe0:ccode=#a nvram set asuscfe1:ccode=#a nvram set asuscfe0:regrev=0 nvram set asuscfe1:regrev=0 nvram set asuscfecommit=1 nvram set 0:regrev=0 nvram set 1:regrev=0 nvram set 0:ccode=#a nvram set 1:ccode=#a nvram set pci/1/1/ccode=#a nvram set pci/1/1/regrev=0 nvram set pci/2/1/ccode=#a nvram set pci/2/1/regrev=0 nvram set regulation_domain=#a nvram set regulation_domain_5G=#a nvram set wl_country_code=#a nvram set wl_country_rev=0 nvram set wl0_country=#a nvram set wl0_country_code=#a nvram set wl0_country_rev=0 nvram set wl0_reg_mode=off nvram set wl1_country=#a nvram set wl1_country_code=#a nvram set wl1_country_rev=0 nvram set wl1_reg_mode=off nvram set 0:maxp2ga0=120 nvram set 0:maxp2ga1=120 nvram set 0:maxp2ga2=120 nvram set 1:maxp5ga0=120,120,120,120 nvram set 1:maxp5ga1=120,120,120,120 nvram set 1:maxp5ga2=120,120,120,120 nvram set wl_txpower=708 nvram set wl0_txpower=708 nvram set wl1_txpower=708 nvram commit

wl txpwr_target_max is now showing 26.00 All connected clients also show much better connection now! Any suggestions to these settings above?

Edit2: Only one problem left: My AC86U-AI-mesh node won't transmit with maximum tx anymore. I also use an executable init-start script on the mesh node with jffs scrips enabled:

nvram set jffs2_exec=/jffs/scripts/init-start nvram set jffs2_scripts=1 nvram commit reboot

The mesh-node starts with wl txpwr_target_max showing 22.50 but after a few seconds it's going back down to 13,75. I think my AX86S is saying to the AC86U-AI-mesh node, to power down tx performance. How can I solve this?

Edit3: Also solved: I had to downgrade the fw of the AC86U to 386.5_2. Now it's transmitting with 22.50 again.

How to change in node with ssh? Whai ip can I use? And how to enable ssh in node?
solved

@khawajamechatronics
Copy link

Hi,

I have ASUS 66U B1 , I am trying to follow this guide. I enabled ssh and logged in through putty, I did the dump and enable jfss. But can understand the next steps, can some oone guide what I need to run or using putty? Thanks

@Caude123
Copy link

Caude123 commented Sep 6, 2024

@Limpi1978 Download this modified init-start script: https://mega.nz/file/is4FSDgD#9m4A7N-r6BomeU1n7SfrF9ZE9_036454nwAjmzA9_nM Copy this init-start script to your router into the folder jffs/scripts. (I use WinSCP to copy files onto my router) Make the init-start script executable (x in file properties). Make sure you "Enable JFFS custom scripts and configs" in System settings on your router. You don't need to format JFFS. SSH into your router and enter these commands:

nvram set jffs2_exec=/jffs/scripts/init-start nvram set jffs2_scripts=1 nvram commit reboot

You can modify the init-start script to your likings. See if it works.

Btw. I use channel 48 for 5GHz after extensive testing. With 48, I get the best results in range and speed. (80MHz channel bandwidth)

You seem very knowledgeable on this. Can you please explain how I can enable all the channels on it? Mine has many locked out.

@alfky12
Copy link

alfky12 commented Sep 13, 2024

Hi all, I think my question is off topic, but does anyone know which variable in nvram to enable 4x4 (4T4R) streams on the 5ghz band? Or maybe use the wl command?
I have an asus tuf-ax3000 (v1), the 5ghz chipset is capable of 4x4 streams, but it is locked to 2x2 by asus.

@francoism90
Copy link
Author

@alfky12 Interesting! :)

You could run nvram dump, and check if it's being exposed.

@alfky12
Copy link

alfky12 commented Sep 14, 2024

@alfky12 Interesting! :)

You could run nvram dump, and check if it's being exposed.

Thanks for responding. What does "check if it's being exposed" mean? I've dumped it and it's not encrypted.

@friendodevil
Copy link

friendodevil commented Sep 27, 2024

is there a nvram show / get / set guide for Mediatech based TUF-AX6000?

@francoism90
Copy link
Author

@ALL I have moved the instructions to a repo instead, this makes it easier to maintain (branches, wiki, etc.).

Thanks again to all your contributes. :)

@DeMuirs
Copy link

DeMuirs commented Oct 26, 2024

Hi all. Firstly, many thanks for doing this. It is greatly appreciated! Managed to get this going on an ASUS RC-AX58U V2 running a Merlin fork: RT-AX58U_V2_3004_388.8_2 and an ASUS RC-AX88U running Merlin firmware RT-AX88U_3004_388.8_2.
Downloaded the:
init-start
File available at:
https://mega.nz/file/is4FSDgD#9m4A7N-r6BomeU1n7SfrF9ZE9_036454nwAjmzA9_nM
Copied the file into my:
jffs/scripts
Folder using WinSCP. One thing not mentioned regarding this is that when setting up WinSCP, you need to choose the session file protocol:
SCP
I didn’t know that although do now and as these routers are Linux based, this will also work when accessing a Raspberry Pi.
Other things worth mentioning. Although I got this working, I can’t select any Wireless channels above 140 on 5G on my RC-AX88U. No idea why and the only way that I can select above channels 128 is to set this to 20/40/80 MHz Not running 160Mhz on WIFI6 as 80MHz is fast enough. Wonder if anyone can access channels above 140 on an RT-AX-88U? BTW, can access all 5G channels including 149 on my RC-AX58U V2 with this script running.

@skymansh
Copy link

Hi all.
Thank you for all informations you posted here.
These are my settings for my router RT-AX5400, firmware 3004.388.8_2-gnuton1.

#!/bin/sh
nvram set 0:ccode=#a
nvram set 0:regrev=0
nvram set 1:ccode=#a
nvram set 1:regrev=0
nvram set location_code=#a
nvram set territory_code=US/02
nvram set wl_country_code=#a
nvram set wl_country_rev=0
nvram set wl0_country_code=#a
nvram set wl0_country_rev=0
nvram set wl1_country_code=#a
nvram set wl1_country_rev=0
nvram set 0:maxp2ga0=120
nvram set 0:maxp2ga1=120
nvram set 1:maxp5gb0a0=120
nvram set 1:maxp5gb0a1=120
nvram set 1:maxp5gb0a2=120
nvram set 1:maxp5gb0a3=120
nvram set 1:maxp5gb1a0=120
nvram set 1:maxp5gb1a1=120
nvram set 1:maxp5gb1a2=120
nvram set 1:maxp5gb1a3=120
nvram set 1:maxp5gb2a0=120
nvram set 1:maxp5gb2a1=120
nvram set 1:maxp5gb2a2=120
nvram set 1:maxp5gb2a3=120
nvram set 1:maxp5gb3a0=120
nvram set 1:maxp5gb3a1=120
nvram set 1:maxp5gb3a2=120
nvram set 1:maxp5gb3a3=120
nvram set 1:maxp5gb4a0=120
nvram set 1:maxp5gb4a1=120
nvram set 1:maxp5gb4a2=120
nvram set 1:maxp5gb4a3=120
nvram set 1:maxp5gb5a0=120
nvram set 1:maxp5gb5a1=120
nvram set 1:maxp5gb5a2=120
nvram set 1:maxp5gb5a3=120
nvram set 1:maxp5gb6a0=120
nvram set 1:maxp5gb6a1=120
nvram set 1:maxp5gb6a2=120
nvram set 1:maxp5gb6a3=120
nvram set wl_txpower=708
nvram set wl0_txpower=708
nvram set wl1_txpower=708
nvram commit

These are my results.
putty
putty2

I hope it helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment