小米路由器4C从0到自编译以及刷固件

您所在的位置:网站首页 小米路由器4刷回官方固件教程 小米路由器4C从0到自编译以及刷固件

小米路由器4C从0到自编译以及刷固件

2024-04-04 19:52| 来源: 网络整理| 查看: 265

最开始选择小米路由器4C是因为学校网速只有100M,图个便宜,结果刷固件成了最艰辛的道路。 这里一步步道来。 小米路由器自带管理界面的使用,还有路由器基本使用就不在这说了,这应该是基础常识。 这是我的小米路由接线 请添加图片描述

1.刷固件

这里我打算先刷breed,因为自编译固件怕出问题,减小变砖的风险,编译固件后面再说。

线什么的都先连好

首先要通过路由器漏洞打开23端口,使得能够通过telnet远程操控, 正常是通过kali虚拟机,利用脚本,网上很多教程,我最初是这样。 后来发现有大佬针对小米路由器开发了个一键开启脚本,很好用,我就用这个了。 再后面给百度网盘。 在刷固件/R3GV2 patches中,运行0.start_main.bat,弹出cmd 在这里插入图片描述 输入路由器密码,回车,等他自动加载telnet。

然后打开刷固件里的MobaXterm_Personal_21.1.exe 在这里插入图片描述 点Session,新建telnet协议,看下图 在这里插入图片描述 之后再界面中输入用户名“root”,然后回车登录 在这里插入图片描述 网上都说要备份三个,但是除了all.bin其他两个,对于初学来说根本用不上,而且半天都备份不成功。我这里备份了all.bin和eeprom.bin,也放在百度网盘了。弄不起的可以跳过,小米4C通用的,因为我换了两个,刷回官方都没问题。

现在就是把breed.bin(也放百度网盘了),通过ftp放进路由器的tmp文件夹下。 打开此电脑, 在这里插入图片描述 在这里输入ftp://192.168.31.1 在这里插入图片描述 ,再回到 MobaXterm 输入

mtd write /tmp/breed.bin Bootloader

在这里插入图片描述 这里breed就刷进去了。然后拔掉路由器的电源,卡针插路由器上的小孔reset键,一直插着,然后再插上电源。 电源黄灯和网络蓝灯会闪几下,闪完了,就松开reset键。 打开网页输入192.168.1.1,成功进入breed 在这里插入图片描述 一般路由器都可以通过固件更新在这里插入图片描述 这里嫖的网上的图,其实不用eeprom,只用选择固件就行了。然后就是在这里插入图片描述 更新后,等路由器灯双蓝闪就行了,这个时候就可以通过网页进管理后台了。 用别人固件找不到ip的,打开cmd输入ipconfig,看看自己电脑的ip。

小米4c无法正常用breed刷固件的原因:

没有专用的breed,故用的通用breedmt 图形界面刷入的位置有限,通常是公版0x50000,根据网上大佬们的意思,大致就是 小米4C的openwrt的固件(fireware)分区从0x160000开始放入,即openwrt固件应该放在从0x160000开始,但是通用breed不能放在那里。

形象点就是:两个人在一起才能走,但是现在两个人被隔开了,只有找到对方,这样导致路由器一直重启 在这里插入图片描述 在这里插入图片描述

拯救自启

环境变量设置更改(即设置自启从0x160000开始加载kernel内核)

先在breed环境变量设置中,打开位置选择breed内部,然后断电重启breed 再次进到breed界面,进入环境变量编辑 在这里插入图片描述 然后保存。

这个时候按理说直接刷入openwrt固件没问题的,但是我还是出问题了。电源灯不闪了,但是网络灯一直亮,路由器变成了交换机。

于是我再次重启路由器进入了breed模式。 打开之前的 MobaXterm,通过telnet连接192.168.1.1 然后输入

wget http://127.0.0.1/1/192.168.2.1.bin

这个不要照着抄,这是我自建的iis服务端 在这里插入图片描述 然后把应该存放固件的位置清空,

flash erase 0x160000 0xea0000flash write 0x160000 0x80000000 0x5c0139//一般来说wget下载的应该在0x80000000这个位置,0x5c0139这个是我的固件大小,麻烦仔细看一下wget完成后的信息,这数据两个都能看到boot flash 0x16000 重启即可 这里完了,成功刷入自编译的固件。 拔点电源,重新插上,路由器仍旧正常启动。 iis服务器安装

这里不明白的自行度娘 在这里插入图片描述 然后随便创建了一个网站,ip设为本地,网页存放在C:\inetpub\wwwroot,我在里面新建了个文件夹,然后固件放了进去。在这里插入图片描述 这里请自行通过网页访问验证

固件自编译

我用的vm虚拟机,虚拟机安装教程请自行百度,ubuntu则是一键安装 在这里插入图片描述

VMware15.5 for Windows Ubuntu 18.04.5-TLS-桌面版-64位

为了处理github访问速度过慢,这里做两个修改 在这里插入图片描述 在这里插入图片描述 看不懂英文的,去语言支持在这里插入图片描述

修改github源 在这里插入图片描述 其他站点里面自行选择国内的源 基本配置好了 这里开始编译openwrt环境:

sudo apt-get updatesudo apt-get upgrade安装依赖sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g+±multilib antlr3 gperf wget curl swig rsync下载openwrt源码: git clone https://gitcode.net/mirrors/openwrt/openwrt.git进入openwrtcd openwrt更新feeds软件源./scripts/feeds update -a安装feeds软件包./scripts/feeds install -a 因为网络问题,建议代码重复一下,保证下完

然后

make menuconfig 运行后终端出现在这里插入图片描述 只要没有waring出现,即前面步骤都成功(我输入的时候有个waring报错,好像是少安装了个依赖,后面用sudo apt-get install 补了一下还是行了) 进去后自行选择配置在这里插入图片描述

在这里插入图片描述 完成后,退出 然后下载DL库:

make download V=s以及内核功能make -j12 kernel_menuconfig //不刷ua2f的不用管 然后编译固件 make -j8 V=s (8的数量取决于cpu支持的线程数) 一些问题:

编译好的固件在openwrt/bin/targets里面

处理apt进程占用:sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock* sudo dpkg --configure -a sudo apt update

网盘链接:

百度网盘刷固件链接:https://pan.baidu.com/s/17YHFgv97XML1kecF7pO98g 提取码:mn4p ubuntu网盘链接:https://pan.baidu.com/s/1z3MtLHQ_8v71PFa5uJCX_Q 提取码:ffpt



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3