一次曲折的小米路由Mini开启SSH经历

随着无线终端的增多,家里的WR703N似乎不够用了,高负载时偶尔会死机,影响上网的体验,于是考虑换一台路由器。

目前炒得火热的路由器大都是MT7620A方案的,在360路由、百度NEWWIFI和小米路由MINI之间徘徊了一下,最终还是选择了小米路由MINI。从网上的拆机图片来看,做工似乎不错,而且山寨TouchPad的外观看着也很舒服。
culiang wifi mini

买回来的第一件事当然是获取SSH权限,这样就可以换掉恶心的山寨ROM了。小米对发烧友似乎很友好,官方给出了完整的教程,看上去多感人啊!

get ssh

照着教程上面的步骤操作几次之后,竟然一直失败。将miwifi_ssh.bin放到U盘上,按住reset键启动之后黄灯闪了几下之后就亮起红灯,意味着刷机失败。以为是操作错误,更换U盘文件格式为FAT、更换好几个版本的开发板ROM、尝试不同的reset键延时之后仍然无果。

各种失败的尝试浪费了近1个小时,最终突然头脑一热(难道这就是粗粮的真谛?为发烧而生),想起通过串口监测一下错误信息。于是拆机、接线。
serial

从Putty上获取的信息可以看到,刷机失败的原因是miwifi_ssh.bin校验没通过!

...
Rootvfatname: |miwifi_ssh.bin|
RootName: miwifi~1.bin, start: 0x4, size:  0x1170
Filesize: 4464 bytes
4464 bytes
gc - clustnum: 4, startsect: 640
Size: 4464, got: 4464
Using upgrade file miwifi_ssh.bin
CRC verify success!
In RSAVerify(): Padding check failed!
In RSAVerify(): Hash check failed!
rsa_verify_with_keynode_raw: RSA failed to verify: -13
RSA signature verify failed! Err code = 0xfffffff3
Image verify failed!

难道是小米在新固件上更换了密钥?在驱动之家下载了mwifi mini 开发板0.4.36版本的ROM之后,成功刷入miwifi_ssh.bin

...
Rootvfatname: |miwifi_ssh.bin|
RootName: miwifi~2.bin, start: 0x5, size:  0x1170
Filesize: 4464 bytes
4464 bytes
gc - clustnum: 5, startsect: 704
Size: 4464, got: 4464
Using upgrade file miwifi_ssh.bin
CRC verify success!
RSA signature verify success!
raspi_read: from:30000 len:10000
Erasing SPI Flash...
raspi_erase: offs:30000 len:10000
.
Writing to SPI Flash...
raspi_write: to:30000 len:10000
.
done
raspi_read: from:30000 len:10000
Erasing SPI Flash...
raspi_erase: offs:30000 len:10000
.
Writing to SPI Flash...
raspi_write: to:30000 len:10000
.
done
Rebooting...

看来粗粮在新ROM上的确使用了不同的密钥来签名,导致刷ssh包时校验失败!这样的话miwifi_ssh.bin根本就不可能刷入新的开发板ROM!也就是说这样的话官方的教程根本就是个骗局了!米黑+1。

启用SSH功能后建议参考s_x_g同学的帖子开启串口的输入功能,这样就可以通过串口终端进行操作了,以后修复问题也方便些。

root@XiaoQiang:/# nvram set uart_en=1
root@XiaoQiang:/# nvram commit

最后刷上PandoraBox.用着舒服多了!

openwrt PandoraBox

参考资料

关键字:SSH, openwrt, miwifi, pandorabox, xiaomi

本文链接:树叶的BLOG >> 一次曲折的小米路由Mini开启SSH经历

本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 Unported许可协议进行许可。

上一篇 : 网站被OpenShift删除后的数据找回记录 下一篇 : 为树莓派DIY一款高速稳定的无线网卡