基本上就是把 bootloader cfe (Common Firmware Environment) file 里面的 country code (ISO2, e.g. US, CN, AU, etc) 改掉,放回去。
以我试过的 ASUS RT-AC68U 为例:
需要的工具:
- PuTTY
- WinSCP
- Hex editor (我下载了 Neo,随便什么Hex editor 都行,但要能显示charactor,不仅仅是Hex数字)
- mid-write(我对这个不懂,是从这里找到的。我从craigslist 5刀买了个T-mobile ASUS AC1900 练手)
步奏:
- from browser login to the router: 192.168.1.1 (your router might be different), user/password (default admin/admin or admin/password)
- administration / system, enable SSH, apply
- launch PuTTY and login to router, 192.168.1.1
- in PuTTY, run command: cat /dev/mtd0 > original_cfe.bin
- luanch WinSCP and select SCP as file protocal, login 192.168.1.1
- in WinSCP, copy the original_cfe.bin from the router to a local directory
- launch the Hex editor, open original_cfe.bin
- in Hex editor, search for ccode, change the country code to what you want
- in Hex editor, save the modified file, to a different name, say, new_cfe.bin
- use WinSCP to copy the new_cfe.bin from local directory to the router
- use WinSCP to copy mid-write from local directory to the router
- use PuTTY, run command: chmod u+x mtd-write
- and then run command: mtd-write new_cfe.bin boot
- perform NVRAM reset on the router: turn off, wait 10s, push and hold WPS button, turn on, continue to hold WPS button until the power light rapidly flash, release WPS button. 这个会把你原来router里所有的setting都清掉,相当于 factory reset
表面上你是看不出 router 有什么变化的。唯一能看到的是 wifi 可选频道变了。比如 2.4GHz wifi, 美国的没有12,13,改成中国或澳大利亚后显示12,13。据说改了cfe country code 后,最大发射功率也会跟着改变,以符合各地区政府的规范。据说中国、欧洲的允许发射功率小一些,美国、澳大利亚的大一些。