Skip to content

Instantly share code, notes, and snippets.

@francoism90
Last active December 22, 2024 17:49
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. :)

@HerMajestyDrMona
Copy link

@bubobih Could you please tell how do you set the maximum power?

nvram set 0:maxp2ga0=0x78
nvram set 0:maxp2ga1=0x78
nvram set 0:maxp2ga2=0x78
nvram set 1:maxp5ga0=0x78,0x78,0x78,0x78
nvram set 1:maxp5ga1=0x78,0x78,0x78,0x78
nvram set 1:maxp5ga2=0x78,0x78,0x78,0x78
nvram set wl_txpower=708
nvram set wl0_txpower=708
nvram set wl1_txpower=708

wl_txpower, wl0_txpower, wl1_txpower stands for Tx power (100 is max allowed in EU, 1000 in China/USA, right), but what are all the other values with 0x78? What should I set there if I want to use the txpower of 500?

Also, can I use some European country together with the higher txpower? I want to set the fixed channels anyway (as in my old router), I'm just curious how does it work. Does setting the wrong (European) country automatically limit the txpower?

@Dunnaldur
Copy link

@bubobih Could you please tell how do you set the maximum power?

For me on XT12 the only thing needed to change to get max power is location code. Nothing else.
Both #a and US worked for me for the power, but some of the other settings behave quite differently depending if you use #a or US

nvram set location_code=#a
nvram commit
service restart_wireless

@HerMajestyDrMona
Copy link

I noticed that on my GT-AX6000:

0:maxp2ga0
0:maxp2ga1
0:maxp2ga2

don't exist in nvram_dump.txt. Instead, I have:

1:maxp2ga0=0x76
1:maxp2ga1=0x76
1:maxp2ga2=0x76
1:maxp2ga3=0x76

and:

2:maxp5gb0a0=0x6E
2:maxp5gb0a1=0x6E
2:maxp5gb0a2=0x6E
2:maxp5gb0a3=0x6E
2:maxp5gb1a0=0x6E
2:maxp5gb1a1=0x6E
2:maxp5gb1a2=0x6E
2:maxp5gb1a3=0x6E
2:maxp5gb2a0=0x6E
2:maxp5gb2a1=0x6E
2:maxp5gb2a2=0x6E
2:maxp5gb2a3=0x6E
2:maxp5gb3a0=0x6E
2:maxp5gb3a1=0x6E
2:maxp5gb3a2=0x6E
2:maxp5gb3a3=0x6E
2:maxp5gb4a0=0x6E
2:maxp5gb4a1=0x6E
2:maxp5gb4a2=0x6E
2:maxp5gb4a3=0x6E
2:maxp5gb5a0=0x6E
2:maxp5gb5a1=0x6E
2:maxp5gb5a2=0x6E
2:maxp5gb5a3=0x6E
2:maxp5gb6a0=0x6E
2:maxp5gb6a1=0x6E
2:maxp5gb6a2=0x6E
2:maxp5gb6a3=0x6E

I wonder if I should add all of 2:maxp5gb0*=0x78 (or 0x76) to the init-start script? Or it's something else?

Since I don't need 2.4Ghz that much, I set its txpower to:

nvram set wl0_txpower=100

but it behaves weirdly. I can see the full 2.4Ghz Wi-Fi signal 3 rooms / floor away, but the phone fails to connect to it. I wonder if it's somehow related to wl_txpower which is 500.

@Armand0oooo
Copy link

Only that :
nvram set location_code=#a
nvram commit
service restart_wireless

Thanks for tip, and the settings stick when reading the values, but doesn't seem to make a difference in the UI.

@ZenWiFi_Pro_XT12-2A60:/jffs/controld# nvram get location_code
#a

UI still only shows Control Channel options from 100-140.
Just to confirm, do you guys get the additional channels over 140?

Yes, but using a gt-ax6000.

You have to play with different location codes.

Are you using some aimesh node? You have to set this on them also. Odd thing that I discovered playing - main router using #a location code. Aimesh node, rt-ac86u, using US as location code, which gives me more throughput than using #a.

With this config, using channel 149 at 80mhz

Hello Maghuro,

Would you be able to explain how you did enable the 5.9ghz band of the gt-ax6000. Is this using the procedure above to change country or something more specific?

Thank you

@FightMan01
Copy link

Hi!

Can anyone help with TUF-AX3000 (v2) as the main router and RT-AX1800U as aimesh node?
I managed to connect to both routers and set the values but I don't think it worked on the RT-AX1800U. I can't check the values with the wl txpwr_target_max command since it is a Mediatek router.

I would appreciate any help if someone knows something about asus router with mediatek.

@tommy030314
Copy link

hello, is there a solution to unlock ax5400 v2.

@Sprtop
Copy link

Sprtop commented Aug 2, 2023

Hi @Dunnaldur , can you please share your final working config for XT12.

@barkmarkin
Copy link

wl txpwr_target_max shows

Maximum Tx Power Target (chanspec:0x100b): 28.00 28.00 28.00 28.00

On my ax88u pro. Is this too high or within limtis of the router? I dont want to damage it,
Also this is from someone here who possted for their ax86u, It gave them 26.00

Put this in init-start

#!/bin/sh
nvram set location_code=US
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=h
nvram set wl1_country=#a
nvram set wl1_country_code=#a
nvram set wl1_country_rev=0
nvram set wl1_reg_mode=h
nvram set 0:maxp2ga0=0x78
nvram set 0:maxp2ga1=0x78
nvram set 0:maxp2ga2=0x78
nvram set 1:maxp5ga0=0x78,0x78,0x78,0x78
nvram set 1:maxp5ga1=0x78,0x78,0x78,0x78
nvram set 1:maxp5ga2=0x78,0x78,0x78,0x78
nvram set wl_txpower=708
nvram set wl0_txpower=708
nvram set wl1_txpower=708

nvram set wl1_chanspec=161/80
nvram set territory_code=US/02

nvram commit

@barkmarkin
Copy link

barkmarkin commented Aug 17, 2023

#!/bin/sh
nvram set location_code=US
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=h
nvram set wl1_country=#a
nvram set wl1_country_code=#a
nvram set wl1_country_rev=0
nvram set wl1_reg_mode=h
nvram set 0:maxp2ga0=0x78
nvram set 0:maxp2ga1=0x78
nvram set 0:maxp2ga2=0x78
nvram set 1:maxp5ga0=0x78,0x78,0x78,0x78
nvram set 1:maxp5ga1=0x78,0x78,0x78,0x78
nvram set 1:maxp5ga2=0x78,0x78,0x78,0x78
nvram set wl_txpower=708
nvram set wl0_txpower=708
nvram set wl1_txpower=708

nvram set wl1_chanspec=161/80
nvram set territory_code=US/02

nvram commit

This script works like charm for Asus RT-AX86U with latest firmware from Asuswrt-Merlin v388.1. wl txpwr_target_max returns 26.00 26.00 26.00 and channels unblocked. Even after router reboot or changing wifi bandwidth/channel. My router original territory_code was UK/02

This works on my ax88u pro and shows 28.00 28.00 28.00 28.00. But when I change any settings after turning it off than on, it goes back down to 24.00 24.00 24.00 24.00 how can I prevent this?

@francoism90
Copy link
Author

@barkmarkin Did you paste them in init-start as well?

A workaround (if init-start doesn't do the trick) is using a cronjob.

@barkmarkin
Copy link

@barkmarkin Did you paste them in init-start as well?

A workaround (if init-start doesn't do the trick) is using a cronjob.

İ used winscp to copy it into init start jffs folder it works what is a cronjob,? I'm code disabled

@barkmarkin
Copy link

@barkmarkin https://github.com/RMerl/asuswrt-merlin.ng/wiki/User-scripts#creating-scripts

Make sure the script is executable.

Well it is. Maybe it's not the right settings for ax88u pro but it's all fine unless I change a setting and if I reboot its 28 again and settings persist

@francoism90
Copy link
Author

@barkmarkin https://gist.github.com/francoism90/3dede7973354d067c41bff5e54203fe9?permalink_comment_id=4620888#gistcomment-4620888

See note/warning - changing (WiFi) settings using the UI, will overrule the nvram changes.

@francoism90
Copy link
Author

I have improved the instructions, based on comments given on this gist (many thanks for that!).

If anything is missing, please let me know. :)

@barkmarkin
Copy link

Well thank you if it says 28 then I'm getting the most out of my device correct?

@francoism90
Copy link
Author

francoism90 commented Aug 21, 2023

@barkmarkin It all depends, even if your router uses a different country, the device still can use different/legit settings. I think 28 in tx power?

I've done some reading, and tried multiple things, but it seems WiFi is able to send a signal, which make sure no one can actually change the country, as like forcing Germany when being in the EU.

As said in the disclaimer, it may work, but results may vary.

@ovidiu4
Copy link

ovidiu4 commented Sep 14, 2023

Hi guys,

None of the settings from above worked on my ASUS ZenWiFi Pro ET12.
I am trying to enable the 6GHz channel but nothing seems to work.

nvram set location_code=#a nvram set 0:ccode=#a nvram set 0:regrev=0 nvram set 1:ccode=#a nvram set 1:regrev=0 nvram set 2:ccode=#a nvram set 2:regrev=0 nvram set territory_code=CN/02 nvram set wl_country_code=#a nvram set wl_reg_mode=h nvram set wl2_country_code=#a nvram set wl2_country_rev=0 nvram set wl2_reg_mode=h nvram set acs_unii4=1 nvram set wl_acs_excl_chans_dfs= nvram set wl_acs_excl_chans= nvram set wl2_acs_dfs=1 nvram set wl2_acs_excl_chans_base= nvram set wl2_acs_excl_chans=

Does anyone have any idea what else they may be locking on this router?

@Doc-Steve
Copy link

Doc-Steve commented Nov 21, 2023

Hi, does anyone know which settings change the "PRE-ISM Channel Availability Check (CAC)" for DFS-channels? I don't want to switch DFS off with #a, In-Service-Monitoring is fine and I think necessary. But I'd like to reduce the initial wait time for the WLAN to come up scanning for 60s after every reboot or WLAN channel change. Any tips appreciated - thanks in advance.

@francoism90
Copy link
Author

@ovidiu4 @Doc-Steve Please use nvram dump, and check the values.

Hopefully you can force this, by changing the nvram setting.

@ovidiu4
Copy link

ovidiu4 commented Dec 4, 2023

@francoism90 there are literally 5000 lines in the nvram dump and i have no idea what to look for...
Somehow the radio for the 6GHz band is disabled because even though i can change any settings i want, there is no network broadcasting. Asus technicians are useless like always so i am stuck

@Warborn123
Copy link

Hi everyone, I got a dumb question. What does wl0, wl1 and wl2 stand for? Someone on the other forum said it's corresponding to 2.4GHz, 5GHz and 6GHz, but I start to think that's not the case?

@francoism90
Copy link
Author

@Warborn123 In most cases they are.

You could dump nvram before and after making changes, so check what values are being adjusted.

If I'm not mistaken commands exists as well, but I'm on mobile atm.

@Warborn123
Copy link

Warborn123 commented Dec 30, 2023

@Warborn123 In most cases they are.

You could dump nvram before and after making changes, so check what values are being adjusted.

If I'm not mistaken commands exists as well, but I'm on mobile atm.

Hmmm, interesting. I found the following code on the other forum, and applied it to my UK version AXE11000, and it worked. But I noticed that there's no wl2 command in there, but the TX power of the 6Ghz did get a massive boost. That's when I start to wonder what do wl0, wl1 and wl2 mean.

nvram set location_code=AU
nvram set wl0_country_code=AU
nvram set 0:ccode=AU
nvram set wl1_country_code=AU
nvram set 1:ccode=AU
nvram commit
service restart_wireless

Also, using this command nvram show | grep -e 'country_code\|location_code\|territory_code\|ccode', I got the following results:

0:ccode=AU
1:ccode=ALL
2:ccode=ALL
3:ccode=ALL
location_code=AU
territory_code=EU/01
size: 112260 bytes (18812 left)
wl0_country_code=ALL
wl1_country_code=ALL
wl2_country_code=ALL
wl_country_code=E0

It's quite strange, isn't it? Although the location code is AU now, but the territory code and wl_country are still EU? I was wondering if it's fine to leave it like this, or maybe I should find the command that change the territory_code and wl_country_code to AU as well? Thanks for your help!

@francoism90
Copy link
Author

@Warborn123 Unfortunately this is in most cases hardware related. They seem to force the region, with some hidden signals. Yeah, it's pretty weird.

So even when you set it, it doesn't mean it (fully) works.

@pasko-zh
Copy link

@Warborn123 : Were you also able to change 6 GHz channels on your AXE11000, i.e., to allow those US/Canada channels (channel 97, 6435 MHz and above) that are "forbidden" here in Europe?

@Warborn123
Copy link

Warborn123 commented Dec 30, 2023

@Warborn123 : Were you also able to change 6 GHz channels on your AXE11000, i.e., to allow those US/Canada channels (channel 97, 6435 MHz and above) that are "forbidden" here in Europe?

Yep, it's quite wild. I guess it has something to do with that ccode=ALL or wl2_country_code=ALL. My router now has almost all the frequency band unlocked for 2.4, 5 and 6GHz.

IMG_3481

@pasko-zh
Copy link

@Warborn123 : Were you also able to change 6 GHz channels on your AXE11000, i.e., to allow those US/Canada channels (channel 97, 6435 MHz and above) that are "forbidden" here in Europe?

Yep, it's quite wild. I guess it has something to do with that ccode=ALL or wl2_country_code=ALL. My router now has almost all the frequency band unlocked for 2.4, 5 and 6GHz.

Cool! That is good news. Thanks!

@robinjoo1
Copy link

@Warborn123 : Were you also able to change 6 GHz channels on your AXE11000, i.e., to allow those US/Canada channels (channel 97, 6435 MHz and above) that are "forbidden" here in Europe?

Yep, it's quite wild. I guess it has something to do with that ccode=ALL or wl2_country_code=ALL. My router now has almost all the frequency band unlocked for 2.4, 5 and 6GHz.

IMG_3481

thanks that worked for me and i didnt even have to include a file with that text/commands in init start :D

@nudeln
Copy link

nudeln commented Jan 15, 2024

I am a complete beginner in the field, but I think I was able to increase my signal as well on my RT-AX92U
running 3.0.0.4.388_23630-g9d6ee22, I have set nvram as per:
admin@RT-AX92U-95D0:/tmp/home/root# nvram dump | grep 'country|code|location|txpower'
1:ccode=ALL
2:ccode=ALL
3:ccode=ALL
ddns_return_code=,200
ddns_return_code_chk=,200
size: 83778 bytes (47294 left)
fb_country=
location_code=#a
modem_country=
modem_pincode=
modem_pincode_opt=1
oauth_google_auth_code=
rc_support=mssid 2.4G 5G update usbX2 switchctrl manual_stb 11AX pwrctrl WIFI_LOGO nandflash movistarTriple wifi2017 app ofdma wpa3 reboot_schedule ipv6 ipv6pt s46 ocnvc PARENTAL2 dnsfilter dnspriv dualwan pptpd openvpnd utf8_ssid printer modem webdav rrsut cloudsync media appnet timemachine hdspindown diskutility dnssec usb_bk frs_feedback dblog email 5G-2 bwdpi wrs_wbl ookla HTTPS letsencrypt ssh vpnc vpn_fusion repeater psta wl6 user_low_rssi tcode usericon cfg_wps_btn stainfo cloudcheck realip lacp wanbonding wtfast ifttt alexa ipsec_srv mumimo netool cfg_sync no_finiwl fupgrade afwupg betaupg amas bcmwifi bcmhnd mbo conndiag eula proxysta iperf3 gn_wbl amazon_wss account_binding gameMode wireguard ftp_ssl acl96 dhdlog dis11b smart_connect
secret_code=22774156
territory_code=UK/01
wl0_country_code=ALL
wl0_country_rev=0
wl0_txpower=300
wl1_country_code=ALL
wl1_country_rev=0
wl1_txpower=300
wl2_country_code=ALL
wl2_country_rev=0
wl2_txpower=300
wl_country_code=#a
wl_country_rev=0
wl_txpower=300
admin@RT-AX92U-95D0:/tmp/home/root# wl txpwr_target_max
Maximum Tx Power Target (chanspec:0x100e): 25.00 25.00 25.00

But I think location_code was the one that actually affected txpwr_target_max and had it increased from 15.25 to 25 dBm, and this also seems to be persistent. wl*_country_code are just set by the value of location_code.

Ubiquiti WiFiman also states 25 dBm, and I get the impression that my connection in the, from the router, most remote room has improved.
image

@Linden1
Copy link

Linden1 commented Feb 21, 2024

Quick question. It's great to have a little punch with the increased power, but communication works both ways. So has anyone made any beneficial changes to the rxgain settings?

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