(1) 上面 1、2、3 步,官方推荐的是 Oracle VirtualBox 虚拟机加 Ubuntu 16.04 LTS i386 系统,你可以根据自己的情况来调整,尽量与官方的一致,增加成功率。另外你也可以像我一样,找一个 VPS 主机试试,比较简单。
(2)上面的方法是官方默认的,编辑出来的固件是英文版的 RT-N56U(CPU是RT3883),也缺乏我们需要的中文支持。
(3)在第 8 步上,刚才默认安装的是 toolchain-3.4.x 内核,如果你要编辑支持 toolchain-3.0.x 内核的固件(在配置文件里有这么一行供你选择 CONFIG_LINUXDIR=linux-3.4.x ),你就要运行下面的代码。这一步我们不需要做,因为我们的固件大多数都是支持 3.4.x 的,但万一呢?好吧:
cd /opt/rt-n56u/toolchain-mipsel sudo ./clean_sources sudo ./build_toolchain_3.0.x
(4)上面的第 9 步,怎么编辑我们自己的配置文件,这是重点,也是难点,也是我不善于做的事。 可以把别人的配置文件拿来,修改以后再编辑自己的固件。官方的配置文件在这里,包括一个文件夹(例如 /opt/rt-n56u/trunk/configs/boards/RT-AC54U —— 这个CPU是7620,)和一个文件(对应 /opt/rt-n56u/trunk/configs/templates/ac54u_base.config)。根据自己了解到的硬件情况,例如生产厂家、CPU、内存、闪存、复位键、SD、USB、网线口等等,找一个相近的拿来修改。修改好以后,把这样一个文件夹(例如 RT-AC54U-ALL)和文件(ac54u_all.config)上传到对应的目录,把 /opt/rt-n56u/trunk/.config 文件修改成 ac54u_all.config 的信息(最好先把这个 .config 备份一下)。如果没有问题,你便可以使用上面的 10、11 两步生成自己的固件了。这一步修改,成功率很低,最容易出问题,慢慢折腾吧。这也是本文的特色,许多人都是死在这个配置文件上,我帮你们跨越了直接到达成功 ^_^。 另外,你也可以从恩山 hiboy 大侠的
文章 的一楼文末去下载 “padavan华硕固件源码汉化文件2015-5-17.zip” 回来,再找一款来修改。 常见的修改地方有这些:
(4.1)配置文件(例如 ac54u_base.config)里面每一行都可以为一条配置,前面带有“#”的为注释,可以认为它不存在,不管几个都与一个意义一样,一般带有几个“#”的不得修改,其他都是通过带和不带“#”实现增减的,根据英文含义,自己取舍吧 ^_^,我把几个重要的地方强调一下: CONFIG_FIRMWARE_PRODUCT_ID="RT-AC54U",RT-AC54U 对应配置文件夹的名字,注意名字的大小写要完全一致(其他地方也要这样严格要求),编辑时它会根据 /opt/rt-n56u/trunk/.config 对应过来读取,一点不对胃就反水,电脑不比人脑,呆板得很。 CONFIG_TOOLCHAIN_DIR=/opt/rt-n56u/toolchain-mipsel,为编辑工具链 toolchain-mipsel 所在位置,要符合实际。
(4.2)配置文件夹里面内容的修改(以 RT-AC54U 为例说明)
(4.2.1) board.h,关系到一些按键、指示灯之类的,需要修改; 自己路由器的状态,可以在 Breed 状态下,使用 putty 在 22 端口,用 telnet 的方式进入,输入 gpio 获得,更多信息见 这里。
(4.2.2)续上,board.mk 里面关系到 USB 的个数,例如 BOARD_NUM_USB_PORTS=2,这样写表示有2个USB口,没有就是 0
(4.2.3)续上,kernel-3.4.x.config 里面
(4.2.3.1)搜索这段代码 CONFIG_RAETH_ESW_PORT_WAN=,在这里开始的地方修改网线口顺序
(4.2.3.2)搜索这段代码 CONFIG_EXTERNAL_PA_EXTERNAL_LNA,改成下面第一段这样表示开启外置PA&LAN(外置无线信号放大器,如果你的机器有的话,注意去掉前面的#),第二段表示关闭,只取其一
CONFIG_EXTERNAL_PA_EXTERNAL_LNA=y # CONFIG_EXTERNAL_PA_EXTERNAL_LNA is not set
(4.2.3.3)调用原厂无线参数,搜索如下语句(不是连续的),根据情况逐项修改(注意与周边不要矛盾),并删除 RT-AC54U 目录下以 SingleSKU 开头的文件
CONFIG_RT_SINGLE_SKU=n CONFIG_RT2860V2_AP_GREENAP=y CONFIG_EXTERNAL_PA_EXTERNAL_LNA=y CONFIG_MT76X2_AP_GREENAP=y CONFIG_MT76X2_AP_EXTERNAL_PA_EXTERNAL_LNA=y
(4.2.3.4)搜索 CONFIG_RT2880_DRAM_,根据自己的机器设置内存的大小(下面是64M的,两处对应)
# CONFIG_RT2880_DRAM_16M is not set # CONFIG_RT2880_DRAM_32M is not set CONFIG_RT2880_DRAM_64M=y # CONFIG_RT2880_DRAM_128M is not set # CONFIG_RT2880_DRAM_256M is not set CONFIG_RALINK_RAM_SIZE=64
(4.2.3.5)搜索 CONFIG_RALINK_UART_BRATE ,修改成 CONFIG_RALINK_UART_BRATE=57600,便于与 breed 协调工作。 (5)公共部分修改 (5.1)常用设置的修改(此处不需去掉每行前面的#),打开 /opt/rt-56u/trunk/user/shared/defaults.h,建议做如下修改。
#define DEF_WLAN_2G_CC "CN" #define DEF_TIMEZONE "CST-8" #define DEF_NTP_SERVER0 "ntp1.aliyun.com"
(4.2.3.6)修改闪存空间,搜索 CONFIG_MTD_STORE_PART_SIZ,例如你要将 /etc/storage 的存储空间改大成20M,则将后面的数字由 0x40000 改成 0xfb0000,同时需要更改 /opt/rt-n56u/trunk/user/scripts/dev_init.sh 里面的 /etc 后,改成 20M,noatime,此处同时可以修改 /tmp /var 的空间的大小。
(5.2)爱刷机的朋友,可以打开 /opt/rt-56u/trunk/user/shared/defaults.c,开启ssh,关闭telnet
{ "telnetd", "1" }, { "sshd_enable", "0" },
(5.3)安装中文支持(安装好以后,界面上可以中英文转换) 从
这里 下载附件,本地电脑上解压,根据其目录结构,把你的编辑环境中的对应文件改名,把此处的文件上传替代原有,然后在我们的配置(例如 ac54u_base.config)文件里,设置成中文就可以了。
#CONFIG_FIRMWARE_INCLUDE_LANG_BR=y CONFIG_FIRMWARE_INCLUDE_LANG_CN=y #CONFIG_FIRMWARE_INCLUDE_LANG_CZ=y #CONFIG_FIRMWARE_INCLUDE_LANG_DA=y #CONFIG_FIRMWARE_INCLUDE_LANG_DE=y #CONFIG_FIRMWARE_INCLUDE_LANG_ES=y #CONFIG_FIRMWARE_INCLUDE_LANG_FI=y #CONFIG_FIRMWARE_INCLUDE_LANG_FR=y #CONFIG_FIRMWARE_INCLUDE_LANG_NO=y #CONFIG_FIRMWARE_INCLUDE_LANG_PL=y #CONFIG_FIRMWARE_INCLUDE_LANG_RU=y #CONFIG_FIRMWARE_INCLUDE_LANG_SV=y #CONFIG_FIRMWARE_INCLUDE_LANG_UK=y
(5.4)修改环境变量,请去这个文件里修改:/opt/rt-n56u/trunk/user/scripts/profile
至此,全文结束,回去编辑第二个固件吧。
小米路由3g怎么填写?感谢
CONFIG_RAETH_ESW_PORT_WAN=
CONFIG_RAETH_ESW_PORT_LAN1=
CONFIG_RAETH_ESW_PORT_LAN2=
CONFIG_RAETH_ESW_PORT_LAN3=
CONFIG_RAETH_ESW_PORT_LAN4=
自己估计到填吧,编辑好固件再测试,重点保证 WAN 口正确。
有没什么办法可以查WLAN口的数啊?小米路由3g已经刷过不死Breed,和H大的padavan 。怎么保证WLAN口不错误?如果填写错误怎么办?会不会导致进不了 不死Breed?三个问题谢谢了。
即使wan口不正确,仍然可以再次刷机,刷你正确不正确的都可以,只要不动 breed 即可。
那么这5个数字好难测试啊,编译了几次数字都不正确。你的路由是在哪里查询到的?有没有什么方法可以在哪里查询到,例如再别人编译好的固件里面查?具体呢?
不可以在别人编辑好的固件里看到,我不知捷径。
我已经按照0-4编译5个固件,刷进去还是不行。你原来的是怎么知道怎么测试的哈?
请问我贴的这个教程。小米路由3G,WAN口LAN口怎么测试适配?我找了很多教程都没有教,就差这一步了。。Breed输入btntst或者输入gpio都没有显示什么啊。
修改文件/opt/rt-n56u/trunk/configs/boards/RT-AC54U/kernel-3.4.x.config
CONFIG_RALINK_UART_BRATE=57600
CONFIG_RAETH_ESW_PORT_WAN=4
CONFIG_RAETH_ESW_PORT_LAN1=3
CONFIG_RAETH_ESW_PORT_LAN2=2
CONFIG_RAETH_ESW_PORT_LAN3=1
CONFIG_RAETH_ESW_PORT_LAN4=0
想哭了
你是不是刷入以后没有恢复出厂设置?如果是这样,它会保持上一个固件的样子,包括端口顺序,。。。
刷入H大的padavan固件后没有恢复出厂设置也可以用,启动都正常,刷入我自己编译的就都不行。我今晚再试试按照你说的。
另外在Breed里面,应该选择恢复小米3G的设置还是Padavan的出厂设置?
博主,您好,您的中文界面从哪里来的呢?
编辑固件中,是没有中文界面的,你按照上面的顺序,大概跟着走即可。