小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)
前面一篇文章《小米路由mini折腾笔记》记录了拾肆刷入第三方固件、刷入bootloader以及刷回官方固件的方法。本文将介绍如何在路由内丢失了sn码及ssh权限的情况下,找回sn以及获取ssh权限。
一、丢失SN信息后获取SSH权限
如果你用编程器备份过Flash,那么直接编程器恢复吧!如果没有备份,那么下面这个是最后一个办法来救命了,需要按照以下步骤来操作。
1.安装小米官方旧版本的固件(新版本固件可能已经禁止了此方法),可以使用官方稳定版2.6.11或开发版2.7.11,至少这两个版本测试通过。
1.下载xiaomi-mini-py脚本包,下载密码eyaq,解压(解压密码www.ceniv.com),出现mini.py(这个用于小米路由mini版,硬盘版使用mi.py)和payload文件,文本编辑器打开payload修改默认密码admin为你自己设置一个密码。
2.电脑上安装系统相应版本的python软件,WIN64位https://www.python.org/ftp/python/3.5.0/python-3.5.0-amd64.exe,WIN32位https://www.python.org/ftp/python/3.5.0/python-3.5.0.exe,WinXP用户安装这个https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi。如果难安装成功,据说XP这个版本也可以在win8.1正常安装。进入上一步解压出的mini.py文件所在目录下打开cmd,输入pip install requests安装python的requests模块。
payload内容:
dropbear是一个小型的ssh服务器,启动方法:/etc/init.d/dropbear start,小米在dropbear启动脚本start段里增加了判断,稳定版不让启动直接退出,nvram参数 ssh_en不是1也退出。
这下就完美了,未通过官方方法获得SSH同时还使得MINI还在保修范围。
二、复原flash内丢失的SN信息
小米路由mini的Bdata分区内保存着SN等信息,Config分区里同样也有SN等信息,但Config分区里是通过读取Bdata分区而得到的,只修改Config分区的信息的话,是可以实现后台出现SN的,但也有可能还是被清空。
首先来看下Config分区内信息怎么改。
登录SSH,使用bdata show命令查看bdata信息,
增加&修改命令:(自己替换XXX)
bdata
set
model=R1CM
bdata
set
color=101
bdata
set
CountryCode=CN
bdata
set
SN=XXXXXXXXXXXX
设置默认ssid:(默认XXXX是网卡LAN口MAC地址后四位大写,输入getmac eth会显示lan口MAC)
bdata
set
wl0_ssid=Xiaomi_XXXX_5G
bdata
set
wl1_ssid=Xiaomi_XXXX
保存:
bdata
sync
&& bdata commit
其中model是型号;color=101是指路由器的颜色,随便改,定义为黑色100,白色101,橘色102,绿色103,蓝色104,粉色105;CountryCode是国家代码(CN HK TW EN);SN填写你路由背面的sn码。
另一篇文章说用另一个命令nvram,不知道是否起作用:
nvram
set
SN=XXXXXXXXXXXX
nvram
set
wl0_ssid=Xiaomi_XXXX_5G
nvram
set
wl1_ssid=Xiaomi_XXXX
nvram commit
可以再输入命令bdata
show查看是否修改成功。
然后重启路由看看能不能绑定成功,如果成功,进入http://192.168.31.1/cgi-bin/luci/;stok=xxxxxxxxxxxxxxxx/api/xqsystem/init_info看看SN是不是自己的。
以上方法修改的是Config分区,如果不成功,那么还需要修改Bdata分区。
Bdata分区在官方固件下面是只读的,如果想要一起修改Bdata分区就需要刷第三方(比如pandorabox)固件,同时准备好一个Bdata.bin文件,这个文件可以用WinHex制作出来,这里有一个空白Bdata模板,密码jkau,解压密码www.ceniv.com
按照下面图片教程修改:
http://img08.mifile.cn/v1/MI_1031495CC30DA4/T151KvBvZv1R4n9VrK.gif
刷好改好后WinSCP登录,把修改好的Bdata.bin传到/tmp目录,使用mtd刷入:
mtd write
/tmp/Bdata
.bin culiang-Bdata
culiang-Bdata好像是潘多拉固件备份的官方bdata分区,如果是官方系统下修改,可能应该将culiang-Bdata改为Bdata。
只要没有显示错误就刷入成功了。然后再使用官方的方法用U盘刷入官方固件。重新打开路由后台,不出意外的话SN信息就又重现了。
重要提醒:不要随便刷别人备份的整个编程器固件,固件中包含eeprom信息,如果使用了非本机的eeprom,就把你本机原来的Factory(eeprom)分区覆盖了,里棉包含了路由对应的mac和无线校准数据,使用别人的参数你的芯片不能发挥最优性能,无线信号可能会变的非常糟糕!
如果因某些原因需要直接用编程器刷写flash或者用WinHex修改bin文件的,请再参照下一节。
三、编程器直接修改Bdata分区 或 WinHex修改备份bin文件
小米路由mini如果丢失了SN,可以尝试用编程器写入Bdata和Config分区,具体方法如下:
Bdata大小16384 字节,位置00FF0004到00FF3FFF
Config大小4096 字节,位置00030004到00030FFF
正常的Bdata:
丢失SN后的Bdata
按照格式填入,sn自己换,ssid那是lan口mac后4位,填完后剩下的用00填充一直到00FF3FFF
然后计算一下00FF0004到00FF3FFF的crc32,倒序填入前面00FF0000开始的八位
config是0030004到00030FFF,类似
至此,即恢复了小米路由mini内丢失的sn信息。
记录过程中难免有纰漏,如果有任何问题,请留言探讨。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com