文章转自恩山 原文链接:https://www.right.com.cn/forum/thread-365936-1-1.html
刷机的准备
- breed: 按照大神hackpascal 的这个帖子 https://www.right.com.cn/forum/thread-342918-1-1.html, 下载好包含breed的解锁包:newifi-d2-jail-break.zip
- ftp软件: 到这个官网下载 ftp32.exe/ftp64.exe 软件: http://tftpd32.jounin.net/
- ssh/telnet软件: SecureCRT/Putty等。
- 固件程序: 自己编译OpenWrt官方固件。(openwrt-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin), 见最后部分。
(也可以到OpenWrt官网下载编译好的固件,不过目前看mt7621还在添加代码, 因此自己编译master分支应干不错)
官网18.06.1的已编译好固件地址:https://downloads.openwrt.org/releases/18.06.1/targets/ramips/mt7621/
没有看到newifi-d2版本,说明之前最新的稳定版并未加入newifi-d2的支持。期待稳定版的要等以后了~~解锁及刷机
- 开启sshd
设置好newifi管理员密码。电脑连接路由器,浏览器输入地址: http://192.168.99.1/newifi/ifiwen_hss.html , 页面出现success字样表明开启sshd成功。 - 用ssh客户端软件SecureCRT/Putty等, 输入地址192.168.99.1, 用户名root, 密码是设置的管理员密码即可登录进入路由器的控制台。
未用“newifi-d2-jail-break.ko”解锁之前的mtd,其中u-boot和fullflash部分不可见: 用newifi-d2-jail-break.ko
解锁之之后,完整的mtd所有分区: - 备份
(请运行第5步的解锁后再备份)
可以在这里备份,也可以刷入breed后,再进行编程器固件和eeprom固件备份。
备份到/tmp目录下面。(注意:/tmp目录是内存映射的目录,可以随便读写,速度快。其它目录因为存储器原因-只写/速度慢-不推荐)1
2
3
4
5
6# cd /tmp
# cat /proc/mtd
# dd if=/dev/mtd2 of=2-Factory.bin
# dd if=/dev/mtd3 of=3-fullflash.bin
# dd if=/dev/mtd4 of=4-firmware.bin
# dd if=/dev/mtd9 of=9-nvram.bin
文件说明:
Factory 就是breed里面的eeprom文件, 含无线相关参数内容。
fullflash大小为完整的32M, 为编程器固件。(这个固件和用breed备份的内容有点差别)
firmware为 原厂固件。
1 | [root@newifi_A91F:/root]#cat /proc/mtd |
将备份的文件上传到PC电脑上
在电脑上打开上面下载的tftpd32.exe/tftpd64.exe, 地址选择绑定到 192.168.99.x的地址,目录选择你要备份保存的目录。记下电脑IP地址: 192.168.99.x (这里x是实际的IP地址)
在ssh软件的控制台里面,输入如下命令:1
2
3
4
5
6
7
8# cd /tmp
# (完成上面的备份操作得到2-Factory.bin等)
#tftp
# tftp -p -l 2-Factory.bin 192.168.99.x
# tftp -p -l 3-fullflash.bin 192.168.99.x
# tftp -p -l 4-firmware.bin 192.168.99.x
# tftp -p -l 9-nvram.bin 192.168.99.x
(依次上传备份的几个文件到电脑上)解锁并刷入breed
在上述tftp32/64.exe运行的目录下,拷贝入前面下载的解锁文件:newifi-d2-jail-break.ko
(注意,前面下载的是压缩包,需要解压得到), 为了方便,重命名为d2.ko
在ssh控制台,输入如下命令解锁并刷入breed:1
2
3#cd /tmp
# tftp -g -r d2.ko 192.168.99.x
# insmod d2.ko
(这里不能断电,建议多等等个几分钟,直到刷机完成并自动重启)
( 此时 SSH 会停止响应,因为 newifi-d2-jail-break.ko
会冻结系统的其他功能,强制写入 Newifi D2
专用版 Breed
到 Flash
)
成功后路由器会自动重启。断电后按复位健/USB键开机均可进入 Breed.
- 进入breed
断电,按住usb键或者reset不放,开机,等待电源灯闪烁,此时进入breed.
电脑连接路由,浏览器输入: http://192.168.1.1
此时也可以备份编程器固件和eeprom。 - 在breed界面, 刷入OpenWrt官方固件。然后重启即可。
(一般不需要恢复eeprom,如果想尝试其它人的eeprom,可以在breed界面刷入)编译OpenWrt官方固件
- 编译环境准备,请查看网上教程。
- 检出代码并配置选项:
1
2
3
4
5
6
7
8$ git clone https://github.com/openwrt/openwrt
$cd openwrt
$./scripts/feeds update -a
$./scripts/feeds install -a
$ make menuconfig
配置需要的选项,主要是base-system中的usb块设备,luci, kernel中的本地语言支持等。
$ make download
$ make -j5
编译好的固件文件在 bin/targets/ramips/mt7621/openwrt-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin
- 选项说明:
Base System –> block块设备支持:
Kenel models –> Usb Support, 选择usb2/usb3
Kenel models –>naive language support, 选择code 936, 简体中文支持
Luci-modules-translation , 选择简体中文支持:
MT7603驱动选择:”kernel modules —-> wireless drivers”
(这里有两种驱动,一个是MT76开源驱动,一个是自带的7603驱动)
MT76开源驱动: https://github.com/openwrt/mt76
其它选项也可以自行添加,也可以下载别人编译好的ipk文件安装。
结论
目前的OpenWrt 主分支master已经有了newifi-d2的支持,但是新的稳定版未发布,喜欢干净的,自己折腾的,可以试试。
基本上,按照这样的顺序操作,路由器上的eeprom是不需要事后再进入breed中恢复一次的。
当然如果无线以及mac地址不正常,可以进breed中,恢复一下eeprom, 并设置路由器的mac地址。刷入后无线功能正常,但是速率等未进行测试。 最后附上一张编译好刷入的截图: