|
楼主 |
发表于 2017-3-1 10:54
|
显示全部楼层
本帖最后由 hikey 于 2020-3-2 10:13 编辑
以下方法已过期,请酌情参考
7.12 更新 不替换 Bootloader刷机方法 (不刷pb-boot)
发现跟帖的机油有人打错命令,覆盖了原厂Bootloader,导致R6220彻底砖掉,不换flash没法恢复的情况。
这里提供一种不刷pb-boot只刷固件的方法,可以避免完全刷成砖,就算刷错固件也有办法恢复。(目前这种方法只适用LEDE固件)
1 ) 下载网盘的固件文件,一共有2个。
一个是 r6220-squashfs-kernel.bin 结尾,另一个是 r6220-squashfs-rootfs.bin 结尾 (tar文件是在线升级使用的,暂时不用下载)。改名为 kernel.bin 和 rootfs.bin
用FAT32格式化一个U盘(卷标填U 之类的好记),把这俩文件复制进去。
2)启用原厂固件的Telnet: 浏览器打开网址 http://192.168.1.1/setup.cgi?todo=debug , 如果需要登录的话用户名密码默认 admin password. 这时你应该会看到 "Debug Enabled!" 字样,启用Telnet成功。
3)使用Telnet登录, Win+R 运行 cmd 回车打开一个终端,然后telnet 192.168.1.1 , 打 root 登录。 如果提示找不到telnet的话,去百度 "开启telnet"
4)找到你的U盘的文件,然后刷入
ls /mnt/shares/
看看U盘的卷标是啥,比如列出的是 U, 那么就打入命令
cd /mnt/shares/U
再次ls 的话应该可以看到你下载的两个文件。
用以下命令刷入固件,然后断电重启,应该就成功进入LEDE了。(命令粘贴后需要回车生效,这两个分区需要都刷入, 不然就是半砖)
mtd_write write rootfs.bin Rootfs
mtd_write write kernel.bin Kernel
以后更新固件可以直接在luci界面更新。这个操作只需要一次。
===========
附加信息
如果没有U盘,或者嫌麻烦可以 wget下载,只不过我的VPS不太稳定。下载不下来也是有可能的。
cd /tmp
wget http://xdd.co/r6220/kernel.bin
wget http://xdd.co/r6220/rootfs.bin
mtd_write write rootfs.bin Rootfs
mtd_write write kernel.bin Kernel
reboot
Lintel大神的潘多拉固件 和 我编译的LEDE测试固件下载地址 : https://eyun.baidu.com/s/3ge9QCq3 (12.17 更新链接)
uboot 里刷 factory.bin , 系统升级刷 sysupgrade.tar
刷机教程
1,先把路由连上互联网,使用 Dibel的帖子 里的方法,打开路由有root权限的 Telnet 连接。
使用浏览器打开: http://192.168.1.1/setup.cgi?todo=debug 会看到 Debug Enabled ! 字样。说明已经开启了Telnet连接
2,Win+R, 然后输入 CMD 回车,打开一个终端窗口,输入
telnet 192.168.1.1
192.168.1.1 是你的路由管理界面地址。
这是你会看到 R6220 login: 字样, 输入 root 回车。这时看会看到
Welcome to
_______ _______ ___ __ ____ _ _ ___
| ___ \| __ || | |__|| \ | || | / /
| |___| || |__| || |__ __ | \| || |/ /
| _ /| _ || || || |\ || \
|__| \__\|__| |__||______||__||_| \____||_|\___\
=System Architecture Department=
#
看到 #, 我们就是root 权限了。
3, 下载刷入 r6220专用的 pb-boot (Hack老大适配了 Breed 可以替换pb-boot) (我的VPS不太稳定,不能下载时可以去网盘下载然后用U盘刷入)
cd /tmp
wget http://xdd.co/router/pb-boot-r6220.bin
mtd_write write pb-boot-r6220.bin Bootloader
看到 Unlocking Bootloader ...
Writing from pb-boot-r6220.bin to Bootloader ... [w]
说明pb-boot 刷好了,我们已经是不死uboot了。 可以随意折腾固件了。
4, 重启路由,按住 reset 开机, 再打开 192.168.1.1 你会看到漂亮的 pb-boot 界面。
上传固件,完成刷机过程。
后记
5)没有网络的话,也可以使用U盘来刷uboot, 把文件复制到U盘,插到路由U口。
telnet 里 cd /mnt/shares
然后 ls一下看看U盘的路径,cd 进u盘,然后
mtd_write write pb-boot-r6220.bin Bootloader
6)不愿意刷pb-boot 也可以直接刷固件。
下载网盘的 kernel.bin 和 rootfs.bin 放入u盘,和上面方法一样,进入u盘路径
然后
mtd_write write rootfs.bin Rootfs
mtd_write write kernel.bin Kernel
再次感谢Lintel,再次感谢之前各位折腾这路由的 @yuestar @verycd @updateing 等大神们。
免责声明还是需要发一下的,r6220是Nand flash, 很难搞到编程器。操作不正确,中途断电很容易彻底砖掉。
选择刷机的话,自己承担风险。
===========================
刷回网件原厂固件的方法:
下载这个固件 http://xdd.co/router/r6220_v11034.bin
然后在 pb-boot 界面上传刷新即可。(不要在luci界面刷)
最新LEDE 固件,https://eyun.baidu.com/s/3ge9QCq3 12.17 更新链接
由于原厂固件坑爹的 eeprom位置,没办法把rootfs空间做大。
只能把flash上空闲的区域做成一个60M的分区。
可以用以下命令建立挂载UBI分区使用。
ubiattach -m 5
mkdir /mnt/ubi1
ubimkvol /dev/ubi1 -N myUBI -s 55MiB
mount -t ubifs /dev/ubi1_0 /mnt/ubi1
chmod 777 /mnt/ubi1
18.5.3 更新,Hack做了 R6220 的breed, 建议各位直接刷 Breed. 第一次的方法和刷固件类似。只不过命令改为 mtd_write write breed.bin Bootloader
FAQ:
1) pb-boot 貌似有些兼容性问题,mac电脑之类的无法dhcp获取ip地址, 请换台电脑试试。(pb-boot 有很多限制,现在Hack老大适配了 Breed, 可以直接刷任意类型固件,各位可以去试试 )
2) pb-boot可以进(1,2灯同时慢慢闪烁) 但是打不开web界面,请换个浏览器 或者清空历史记录试试 (因为浏览器缓存了luci默认页面路径)
3) 没有刷pb-boot,但固件刷坏了,可以进官方bootloader(2,3灯交替闪烁),可以用 nmrpflash刷官方 img 固件,具体 可以查看 @arthasiori 的帖子
4) 没有刷pb-boot,官方bootloader也刷没了(按住reset开机不出现以上两种指示灯,Breed 怎么闪灯暂时不清楚),这基本就砖了。可以找人帮忙换 16M的spi flash (nor flash)。然后刷 WNDR3700 V5的各种固件继续折腾。
5) 由于nand 芯片坏块的问题(常见,非缺陷),每台机器的eeprom 地址不一定完全一样。如果nand芯片没有坏块的话,可以正常使用openwrt固件。有坏块时,网件会把eeprom分区搬家到其他地址,这时一般都会出现wifi丢失/不停重启的问题。
6) 最新的消息是,新版可能有缩水,Flash芯片从 128M变成了 64M. 这很可能导致各种不能启动,wifi丢失的问题。(我暂时没有精力去确认如何解决这问题)
7) PandoraBox固件的问题请去骚扰 固件作者Lintel老大,我只是个勤劳的搬运工,自己没怎么用过PandoraBox,回答不了。潘多拉群号: 417148440
8) 官方.img 格式的固件不可以直接在 pb-boot里面刷(Breed支持),建议先刷楼主提取的 .bin格式的官方固件,回到官方状态,然后才升级.img后缀的固件。
7.12 更新 不替换 Bootloader刷机方法 (不刷pb-boot)
发现跟帖的机油有人打错命令,覆盖了原厂Bootloader,导致R6220彻底砖掉,不换flash没法恢复的情况。
这里提供一种不刷pb-boot只刷固件的方法,可以避免完全刷成砖,就算刷错固件也有办法恢复。(目前这种方法只适用LEDE固件)
1 ) 下载网盘的固件文件,一共有2个。
一个是 r6220-squashfs-kernel.bin 结尾,另一个是 r6220-squashfs-rootfs.bin 结尾 (tar文件是在线升级使用的,暂时不用下载)。改名为 kernel.bin 和 rootfs.bin
用FAT32格式化一个U盘(卷标填U 之类的好记),把这俩文件复制进去。
2)启用原厂固件的Telnet: 浏览器打开网址 http://192.168.1.1/setup.cgi?todo=debug , 如果需要登录的话用户名密码默认 admin password. 这时你应该会看到 "Debug Enabled!" 字样,启用Telnet成功。
3)使用Telnet登录, Win+R 运行 cmd 回车打开一个终端,然后telnet 192.168.1.1 , 打 root 登录。 如果提示找不到telnet的话,去百度 "开启telnet"
4)找到你的U盘的文件,然后刷入
ls /mnt/shares/
看看U盘的卷标是啥,比如列出的是 U, 那么就打入命令
cd /mnt/shares/U
再次ls 的话应该可以看到你下载的两个文件。
用以下命令刷入固件,然后断电重启,应该就成功进入LEDE了。(命令粘贴后需要回车生效,这两个分区需要都刷入, 不然就是半砖)
mtd_write write rootfs.bin Rootfs
mtd_write write kernel.bin Kernel
以后更新固件可以直接在luci界面更新。这个操作只需要一次。
===========
附加信息
如果没有U盘,或者嫌麻烦可以 wget下载,只不过我的VPS不太稳定。下载不下来也是有可能的。
cd /tmp
wget http://xdd.co/r6220/kernel.bin
wget http://xdd.co/r6220/rootfs.bin
mtd_write write rootfs.bin Rootfs
mtd_write write kernel.bin Kernel
reboot
|
|