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

最开始选择小米路由器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 输入

  1. 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
然后输入

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

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

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

iis服务器安装

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

固件自编译

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

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

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

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

  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. 安装依赖
  4. 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
  5. 下载openwrt源码:
    git clone https://gitcode.net/mirrors/openwrt/openwrt.git
  6. 进入openwrt
  7. cd openwrt
  8. 更新feeds软件源
  9. ./scripts/feeds update -a
  10. 安装feeds软件包
  11. ./scripts/feeds install -a
    因为网络问题,建议代码重复一下,保证下完

然后

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

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

  1. make download V=s
  2. 以及内核功能
  3. 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

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值