小米路由器4A千兆版刷入openwrt与校园网下开启ipv6

获取root权限

使用这个github项目root,按照"Using the command line"指示运行

1
2
pip3 install -r requirements.txt # Install requirements
python3 remote_command_execution_vulnerability.py # Run the script

You will be asked for the router IP address and for the stok. You can grab the stok from the router URL after you log in to the admin interface:

Note that the script must be run from the same IP address used when login into the router.

After that, a telnet server will be up and running. You can connect to it by running:

1
telnet <router_ip_address>
  • User: root
  • Password: root

The script also starts an ftp server at port 21, so you can get access to the filesystem using a GUI (for example cyberduck).

刷breed

breed下载地址:https://breed.hackpascal.net/

对于此路由器下载这个:https://breed.hackpascal.net/breed-mt7621-pbr-m1.bin

scp上传文件到tmp目录,在路由器中运行:

1
mtd -r write /tmp/breed-mt7621-pbr-m1.bin Bootloader

之后路由器会自动重启到breed界面
(breed界面的IP是192.168.1.1,这里需要手动设置电脑的IP)
用浏览器访问breed界面 备份固件的各种信息 记录MAC地址等 防止以后可能会用到 (这个breed不是专门为小米4a千兆版设计的,这里的全备没啥用,估计备份eeprom可能有点用)

刷入openwrt

  1. breed页面备份eeprom

  2. 此路由器的openwrt地址:https://openwrt.org/inbox/toh/xiaomi/xiaomi_mi_router_4a_gigabit_edition,找到Firmware OpenWrt Install中的固件链接并下载,当前21.02.1版本的下载链接是link

  3. 用python在下载页面开启一个http共享:

1
python -m http.server 8888
  1. talnet进入breed
  • 从上一步的http共享中下载文件
1
wget http://192.168.x.x:8888/openwrt-21.02 ... shfs-sysupgrade.bin

下面提示下载的信息,包含大小和保存的地址
Length: 5768992/0x580270 (5MB) [application/octet-stream]
Saving to address 0x80001000

  • 从0x180000开始擦除0x600000这么大的区域 一定要先擦除

    为什么要写0x600000呢,是因为擦除的大于必须大于固件的大小,并且这个数字还有一些未知的要求,我猜测可能是某个数的整数倍,懒得测试了,直接0x600000简单省事 #0x180000是小米路由器4a千兆版的openwrt的默认起始地址

1
flash erase 0x180000 0x600000
  • 从0x180000这个地址写入保存在0x80001000的数据;写入的大小为0x580270
1
flash write 0x180000 0x80001000 0x580270
  • 添加环境变量

这个breed不是本路由器专用的,默认的启动地址不是0x180000; 为了保证重启以后每次都能顺利启动系统,需要添加环境变量

重启到breed界面,然后开启环境变量,再重启一次进breed就可以添加环境变量了

在环境变量界面,增加autoboot.command字段,值设为boot flash 0x180000
即可,这就是告诉breed启动系统时,从0x180000处启动

  • 进入openwrt (从0x180000启动系统)
1
boot flash 0x180000

openwrt一些问题的解决

解决5G信号问题 (已解决)

https://www.right.com.cn/forum/forum.php?mod=redirect&goto=findpost&ptid=4054821&pid=10241884

目前还有一个小bug

5G的功率有问题最高只能选3db 1mw,1毫瓦,这根本就没有5G信号了,不知道怎么解决

(我猜测可能和上面备份的eeprom有关,但是我不知道怎么弄)

有同样刷了openwrt的,希望看看怎么解决

问题解决了,在breed界面刷入备份的eeprom就可以了

1
2
3
opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
mtd -r write /tmp/eeprom.bin factory
模式 信道 带宽
工作频率 AC auto 80MHz
最大传输功率 20dBm(100mW)

$ sha256sum EEPROM.bin

30dd2a5132460cfebc1490fce32d7cffadce58b1ca44f7ceaadff68ccd6d2ae4 *EEPROM.bin

下载链接:

https://t.me/FileUploadingBot?start=GfD7zavM2XnZE5hHqpbTRgQJ

https://1drv.ms/u/s!Ao4xs31fyVCmiyNNuVZ6nhGMOLsA?e=T8iFKQ

openwrt界面设置中文

系统-software页面,搜索安装luci-i18n-base-zh-cn插件,应用刷新即可

ipv6

  1. NAT6

    由于某些原因,此路由器在校园网下的ipv6功能异常,需要通过配置nat6解决

    参考官方指南NAT6 and IPv6 masquerading一步一步做即可

    可以使用 https://test-ipv6.com/ 测试是否配置成功

    命令行测试ipv6:

    1
    ping6 ipv6.mirrors.ustc.edu.cn
  2. 家里宽带设置

    接口–LAN–DHCP–IPV6: RA 服务,DHCPv6 服务, NDP 代理 均设置为中继模式

    接口–WAN–DHCP–IPV6: RA 服务,DHCPv6 服务, NDP 代理 均设置为中继模式, 并设置为主接口

配置成功就可以 愉快的上byr了

更新后刷回breed

1
2
3
opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
mtd -r write your_firmware.bin u-boot

来源: sfc9982’s blog

文章作者: sfc9982

文章链接: https://googles.plus/2022/05/08/openwrt-huan-jing-xia-shua-ru-bootloader/

本文章著作权归作者所有,任何形式的转载都请注明出处。

参考

openwrt小米路由器4a千兆版页面

小米路由器4A千兆版 折腾记录 20211212更新 完美刷入官方openwrt

-------------end-------------