最开始选择小米路由器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,故用的通用breed
图形界面刷入的位置有限,通常是公版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 0xea0000
- flash 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 update
- sudo 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 - 进入openwrt
- cd 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://www.toymoban.com/news/detail-483255.html
网盘链接:
百度网盘刷固件链接:https://pan.baidu.com/s/17YHFgv97XML1kecF7pO98g
提取码:mn4p
ubuntu网盘链接:https://pan.baidu.com/s/1z3MtLHQ_8v71PFa5uJCX_Q
提取码:ffpt文章来源地址https://www.toymoban.com/news/detail-483255.html
到了这里,关于小米路由器4C从0到自编译以及刷固件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!