首先感谢其他大神的辛苦,通过你们的帖子教程和解决方法,我才能顺利的把固件给恢复了!
以下所有工作使用玩客云版本为V1.3.
准备工作:请按照 https://www.right.com.cn/forum/thread-2803127-1-1.html 帖子中的方法,把armbian刷入EMMC.
请下载帖子下面网盘中的固件 onecloud.img,把 onecloud.img 文件拷贝到u盘。(U盘格式化为 ntfs,最少8G,16G更好)。
请下载帖子下面网盘中的u-boot 文件,并拷贝到另外一个格式化为fat格式的u盘中备用。
请下载我下面网盘地址的补丁文件。
假设你已成功刷入了armbian。
现在开始刷机:
1:把拷贝有onecloud.img 的U盘插入靠近网口的usb口后,使用putty的ssh方式进入玩客云。
输入 fdisk -l 查看U盘信息。
然后请跟着操作
cd /mnt
mkdir usb
mount -t ntfs /dev/sda1 /mnt/usb (此处正常应该无报错,报错请重新启动玩客云或者换个U盘。)
dd if=/mnt/usb/onecloud.img of=/dev/mmcblk0 bs=1M (此处的mmcblk0请根据自己的实际情况,有的可能是mmcblk1;此处DD命令正常差不多3-5分钟完成。无报错的话,请继续下一步,有报错,请更换U盘或重新启动玩客云)。
2:以上都没有报错,拔下U盘和电源,插入拷贝u-boot的U盘和ttl线,putty 串口连接后,启动玩客云进入ttl模式。
在ttl模式下执行
usb start;fatload usb 0 12000000 u-boot.bin
store rom_write 12000000 0 60000
saveenv
以上命令都应该正常执行,出错请更换u盘,重启玩客云。
3:此处重要,请断开外网,请断开外网。
以上命令正常执行后,重启玩客云,可用putty或者系统自带的 telnet 访问玩客云1287端口 。
假设你在路由器中看到玩客云ip地址为:192.168.2.100
请执行
telnet 192.168.2.100 1287
3.1 修改网卡mac
修改/etc/network/interfaces 文件,内容中添加 hwaddress ether B0:05:90:E2:15:4C 一行。
命令: vi /etc/network/interfaces
在文件中添加hwaddress ether B0:05:90:E2:15:4C 一行。
:wq!(此命令为保存退出)
3.2修改玩客云补丁程序
下载网盘的中HFS 程序,把1.tar.gz 拉到HFS程序中,
玩客云telnet中输入 wget http://192.168.2./1.tar.gz (此处的 是你hfs程序中显示的ip地址)
telnet中输入
rm -rf thunder
tar -zxvf 1.tar.gz
4:上面所有命令完成后,断电,插上一个U盘,连接外网后启动玩客云。
请登录手机中的 玩客云 app ,请在app 我的中查看 你的玩客云名称 和设备真实mac地址。
5:请重启玩客云 ,执行上面3.1,修改你的网卡地址为app中的网卡地址和玩客云名称后保存。
6:请再次重启玩客云,app中已在线。恢复玩客云原厂固件成功。
网盘: 链接: https://pan.baidu.com/s/1ucOeN-jcIlNmEO-P_uOU7A 提取码: fdb1
7:更新补丁:
系统启动后的mac地址为镜像地址,查看Kernel启动过程发现mac地址是由u-boot传参得到的,修改u-boot把mac地址写死
setenv storeboot ‘if test ${reboot_mode} = charging; then run try_auto_burn; fi;echo Booting…; run logodisplay; run checkbootpart; run checkrootfspart; run resetinitargs; run storeargs;save; if unifykey get usid; then setenv bootargs ${bootargs} androidboot.serialno=${usid};fi;if unifykey get mac; then setenv bootargs ${bootargs} mac=00:22:6D:4B:xx:xx;fi;imgread kernel ${bootpart} ${loadaddr};bootm;run bootrecovery
switch_bootmode=if test ${reboot_mode} = factory_reset; then run recovery;else if test ${reboot_mode} = update; then run update;else if test ${reboot_mode} = usb_burning; then run usb_burning;else if test ${wipe_data} = failed; then echo wipe_data=${wipe_data}; run recovery;else fi;fi;fi;fi’
评论区