找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
glinet
查看: 12849|回复: 225

小米 WR30U 刷 OpenWrt 官方固件教程

 火... [复制链接]
发表于 2025-2-16 01:48 | 显示全部楼层 |阅读模式
本帖最后由 网卡 于 2025-7-13 02:27 编辑

受够了各种所谓的魔改、优化、高大全的固件,吹的各种噱头,重复造车轮,简单的问题复杂化,各种固件各种问题,各种设置各种教程,少走弯路直接 OpenWrt 官方固件,简洁稳定。而关于硬路由刷 OpenWrt 官方固件,这些年网上一直没有太好的教程,结合搜寻到的资料整理一下,多理解每行命令,刷机原理,网址格式,比如找软件包去哪个网址,一起慢慢研究,祝各位都用上 OpenWrt 官方固件。刷机需谨慎,不懂的命令和单词建议必应一下,逐步完善,有错请指正。


# openwrt
https://firmware-selector.openwrt.org/
https://downloads.openwrt.org/
https://openwrt.org/toh/hwdata/xiaomi/xiaomi_wr30u
https://github.com/openwrt/openw ... source=pocket_saves
https://www.right.com.cn/forum/thread-8400306-1-1.html # 天灵 uboot openwrt 主线
https://www.right.com.cn/forum/thread-8328967-1-1.html # 天灵 uboot


# openwrt uboot layout 大致流程
1. 刷写、进入 initramfs 文件系统的 factory 固件
2. 解锁、刷写 initramfs 文件系统的 factory 固件的 bl2、fip 分区
3. 刷写、进入 squashfs 文件系统的 sysupgrade 固件


开启 ssh。

hanwckf uboot,default 布局,刷写并进入 initramfs-factory.ubi。

下载、安装、临时加载 kmod-mtd-rw,让引导加载器分区暂时可写,kmod-mtd-rw 要与 kernel 版本相同。
https://downloads.openwrt.org/releases/<版本>/targets/mediatek/filogic/packages/,下载指定版本 kernel。
https://downloads.openwrt.org/releases/<版本>/targets/mediatek/filogic/kmods/,下载指定版本 kmod-mtd-rw。
https://downloads.openwrt.org/sn ... k/filogic/packages/,下载最新版本 kernel。
https://downloads.openwrt.org/sn ... atek/filogic/kmods/,下载最新版本 kmod-mtd-rw。
opkg install /tmp/kernel.ipk # 先安装 kernel
opkg install /tmp/kmod-mtd-rw.ipk # 再安装 kmod-mtd-rw
opkg list-installed | grep kernel # 查看 kernel 安装信息
opkg list-installed | grep kmod-mtd-rw # 查看 kmod-mtd-rw 安装信息
insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1 # 临时加载 kmod-mtd-rw

清理 pstore 崩溃转储,防止 ubootmod 引导进入恢复模式。
rm -f /sys/fs/pstore/*

cat /proc/mtd # 查看 ubi 所在分区
ubidetach -p /dev/mtd8 # 解绑 ubi
ubiformat -y /dev/mtd8 # 格式化 ubi
ubiattach -p /dev/mtd8 # 关联 ubi
ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB # ubi 分区新建 ubootenv 卷
ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB # ubi 分区新建 ubootenv2 卷

ubootmod 恢复模式 可选
1. tftp 恢复模式 默认
设备断电,按住重置键,设备通电,等待 10 秒松开重置键,进入 tftp 恢复模式,从电脑 tftp 服务器获取并进入 initramfs-recovery.itb。
2. 闪存恢复模式
未获取到 initramfs-recovery.itb,进入闪存恢复模式,读取并进入 ubi 分区 recovery 卷中 initramfs-recovery.itb。
2.1 启用闪存恢复模式
ubimkvol /dev/ubi0 -n 2 -N recovery -s 10MiB # ubi 分区新建 recovery 卷,卷大小参考 initramfs-recovery.itb 大小。
ubiupdatevol /dev/ubi0_2 /tmp/initramfs-recovery.itb # 刷写至 ubi 分区 recovery 卷。
2.2 禁用闪存恢复模式
ubinfo -a # 查看 recovery 卷编号
mount | grep ubi # 查看 recovery 卷是否挂载
umount /dev/ubi0_2 # 卸载 recovery 卷
ubirmvol /dev/ubi0 -n 2 # 删除 recovery 卷

preloader.bin 刷写至 bl2 分区,bl31-uboot.fip 刷写至 fip 分区,提示 could not open mtd device,重新临时加载 kmod-mtd-rw。
md5sum /tmp/preloader.bin # 计算 md5
mtd erase BL2 # 擦除
mtd write /tmp/preloader.bin BL2 # 刷写
mtd verify /tmp/preloader.bin BL2 # 验证
md5sum /tmp/bl31-uboot.fip
mtd erase FIP
mtd write /tmp/bl31-uboot.fip FIP
mtd verify /tmp/bl31-uboot.fip FIP

更新系统
sysupgrade -n /tmp/squashfs-sysupgrade.itb,或 web 管理后台更新,自动重启。

———————————————————————————


# 从 openwrt u-boot 返回到 stock

sysupgrade -F -n /tmp/initramfs-recovery.itb # 强制刷写并进入 initramfs-recovery.itb
cat /proc/mtd # 查看 ubi 所在分区
ubidetach -p /dev/mtd8 # 解绑 ubi
ubiformat -y /dev/mtd8 # 格式化 ubi
ubiattach -p /dev/mtd8 # 关联 ubi
mtd erase Nvram # 擦除 nvram

下载、安装、临时加载 kmod-mtd-rw,让引导加载器分区暂时可写,kmod-mtd-rw 要与 kernel 版本相同。
https://downloads.openwrt.org/releases/<版本>/targets/mediatek/filogic/packages/,下载指定版本 kernel。
https://downloads.openwrt.org/releases/<版本>/targets/mediatek/filogic/kmods/,下载指定版本 kmod-mtd-rw。
https://downloads.openwrt.org/sn ... k/filogic/packages/,下载最新版本 kernel。
https://downloads.openwrt.org/sn ... atek/filogic/kmods/,下载最新版本 kmod-mtd-rw。
opkg install /tmp/kernel.ipk # 先安装 kernel
opkg install /tmp/kmod-mtd-rw.ipk # 再安装 kmod-mtd-rw
opkg list-installed | grep kernel # 查看 kernel 安装信息
opkg list-installed | grep kmod-mtd-rw # 查看 kmod-mtd-rw 安装信息
insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1 # 临时加载 kmod-mtd-rw

刷写 stock u-boot 和 ubi 分区
mtd write /tmp/BL2.bin BL2
mtd write /tmp/FIP.bin FIP
mtd write /tmp/ubi.bin ubi

———————————————————————————

# UBI 管理命令
管理基于 UBI (Unsorted Block Images) 文件系统和设备,通常用在嵌入式系统中,特别是使用 NAND flash 存储的系统。
ubinfo -a # 查看 UBI
ubinfo /dev/ubi0 # 查看 ubi0
ubinfo /dev/ubi0_0 # 查看 ubi0_0

ubidetach # 解绑
ubiformat # 格式化
ubiattach  # 关联
-p # MTD 设备路径
-y # 确认

mount # 挂载
umount # 卸载

ubimkvol # 新建卷
ubirmvol # 删除卷,只能删除未挂载的 UBI 卷。
-n:卷编号
-N:卷名称
-s:卷大小
ubiupdatevol # 刷写卷

# mtd
mtd erase # 擦除分区
mtd write # 刷写分区
mtd verify # 验证分区

———————————————————————————

# 刷机后可能会用到的资料

# 查看温度
cut -c 1-3 /sys/class/thermal/thermal_zone0/temp

# 查看架构
1. opkg print-architecture
2. cat /etc/os-release
3. uname -m
aarch64=armv8=arm64

# OPKG
htt删除ps://oldwiki.archive.openwrt.org/doc/techref/opkg#options
/etc/opkg.conf # 配置目录
/usr/lib/opkg # 已安装软件包信息目录
/var/opkg-lists # 软件仓库软件包信息目录
opkg update # 更新软件包列表
opkg upgrade <插件名称> # 更新软件包
opkg list-upgradable # 列出可更新软件包
opkg install <插件名称> # 安装软件包
opkg list-installed | grep <插件名称> # 列出已安装软件包
opkg remove <插件名称> # 卸载软件包
opkg remove --autoremove <插件名称> # 卸载软件包时自动卸载不再使用的软件包
opkg clean # 清理无用软件安装包

———————————————————————————


# 192.168.1.1、root、无密码。
# 刷机后双清重置:system > backup/flash firmware > perform reset。


# 软件包安装顺序,软件包本体、软件包 luci、软件包语言包。
htt删除ps://downloads.openwrt.org/releases/<版本>/packages/<处理器架构>/


# 语言包
htt删除ps://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/luci/,查找并下载 luci-i18n-base-zh-cn、luci-i18n-package-manager-zh-cn、luci-i18n-firewall-zh-cn。
system > software > upload package,安装 luci-i18n-base-zh-cn、luci-i18n-package-manager-zh-cn、luci-i18n-firewall-zh-cn。
ctrl + f5 刷新。


# sftp
htt删除ps://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/packages/,查找并下载 openssh-sftp-server。
系统 > 软件包 > 上传软件包,安装 openssh-sftp-server。


# kmod
htt删除ps://downloads.openwrt.org/releases/24.10.2/targets/mediatek/filogic/kmods/

# 系统
系统 > 常规设置 > 时间、主机名、时区。
系统 > 日志 > 日志记录等级:错误、cron 日志级别:已禁用。
系统 > 时间同步 > 禁用使用 dhcp 通告的服务器、候选 ntp 服务器:ntp.ntsc.ac.cn、ntp.aliyun.com。
管理权 > 路由器密码。
计划任务:
10 0 * * * /etc/init.d/network restart # 每天 0:10 重启网口
0 0 * * * sleep 70 && touch /etc/banner && reboot # 每天 0:00 重启设备
0 0 * * 1 sleep 70 && touch /etc/banner && reboot # 每周一 0:00 重启设备

# 网络
接口 > 接口 > lan > 编辑 > 常规设置 > ipv4 地址。
接口 > 接口 > wan > 编辑 > 常规设置 > 协议:pppoe、pap/chap 用户名、pap/chap 密码。
无线 > 2.4 g > 编辑 > 设备配置 > 常规设置 > 模式:ax、信道:6、通道宽度:40 mhz、国家代码:au。
无线 > 2.4 g > 编辑 > 设备配置 > 高级设置 > 启用强制 40 mhz 模式。
无线 > 2.4 g > 编辑 > 接口配置 > 常规设置 > 模式:接入点 ap、essid:2。
无线 > 2.4 g > 编辑 > 接口配置 > 无线安全 > 加密:wpa2-psk、算法:自动、密钥。
无线 > 2.4 g > 启用
无线 > 5 g > 编辑 > 设备配置 > 常规设置 > 模式:ax、信道:44、通道宽度:160 mhz、国家代码:au。
无线 > 5 g > 编辑 > 设备配置 > 高级设置 > 启用强制 40 mhz 模式。
无线 > 5 g > 编辑 > 接口配置 > 常规设置 > 模式:接入点 ap、essid:5。
无线 > 5 g > 编辑 > 接口配置 > 无线安全 > 加密:wpa2-psk、算法:自动、密钥。
无线 > 5 g > 启用
dhcp/dns > 常规 > 启用顺序分配 ip。
dhcp/dns > 日志 > 启用不记录日志。
防火墙 > 路由/nat 卸载 > 流量卸载类型:硬件流量卸载。

# 禁用内网 ipv6
网络 > 接口 > 设备 > br-lan > 配置 > 常规设备选项 > 禁用启用 ipv6。

# 禁用外网 ipv6
一级网关:网络 > 接口 > 接口 > wan > 编辑 > 高级设置 > 禁用获取 ipv6 地址。
二级网关:网络 > 接口 > 接口 > wan6 > 编辑 > 常规设置 > 启用禁用该接口、禁用开机自动运行,或删除 wan6。
[/hide]

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2025-2-16 02:03 | 显示全部楼层
研究一手
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 03:07 来自手机 | 显示全部楼层
感谢分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 08:01 | 显示全部楼层
感谢分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 08:20 | 显示全部楼层
感谢分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 09:10 | 显示全部楼层
感谢分享...
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 09:39 | 显示全部楼层
感谢分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 09:57 来自手机 | 显示全部楼层
我要看下教程,谢谢啦
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 10:21 | 显示全部楼层
谢谢分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 10:56 | 显示全部楼层
多谢分享|!!!!!
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 11:00 | 显示全部楼层
感谢大佬分享!!!
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 12:45 | 显示全部楼层
看看你的
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-2-16 13:08 | 显示全部楼层
简单的说
有三种 U-Boot:小米原厂 U-Boot,hanwckf U-Boot, Openwrt U-Boot
两种 OpenWrt 主线固件:stock 固件,ubootmod 固件

OpenWrt 主线
包括 Stable Release 和 Development Snapshots 两个分支(可以看作小米 MiWiFi 固件稳定版和开发版的上游源头)
https://downloads.openwrt.org/

最新的 Stable Release 版本 OpenWrt 24.10.0,发布时间 Mon, 3 Feb 2025
上一个 Stable Release 版本 OpenWrt 23.05.5,发布时间 Mon, 23 Sep 2024
其中,大版本 24=2024,23=2023,小版本 10 和 05 代表第几小版

Stable Release 又包括两种固件
xiaomi_mi-router-wr30u-stock
xiaomi_mi-router-wr30u-ubootmod

stock 固件
优点:如果保留小米原厂 U-Boot 不动,可以用小米官方救砖工具刷回小米原厂 MiWiFi 固件,但更建议刷入同样支持 stock 固件的 hanwckf U-Boot,有 WebUI 对新手更友好
缺点:由于采用小米原厂闪存分区布局,导致部分空间被浪费,实际可用空间相对较少

ubootmod 固件
优点:最大化利用闪存空间,可用于安装 App 的空间相对较多
缺点:只有 Openwrt U-Boot 才支持,刷机步骤相对更多
旧的刷机方法:开启 SSH,先刷入 stock 固件,再安装 kmod-mtd-rw,配置相关 ubi 变量,然后依次刷入 BL2 和 FIP 分区,最后刷入 sysupgrade 固件
简化后的方法:开启 SSH,依次刷入 BL2 和 FIP 分区,然后通过 Tftpd64 刷入 initramfs 固件,最后升级 sysupgrade 固件
以及天灵的方法:https://www.right.com.cn/forum/thread-8400306-1-1.html
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 5 反对 0

使用道具 举报

发表于 2025-2-16 13:54 | 显示全部楼层
多谢分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 1 反对 0

使用道具 举报

发表于 2025-2-16 14:03 来自手机 | 显示全部楼层
研究一下
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-12-5 14:05

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表