一、背景与动机
为什么刷机?
GL-XE300 原厂固件基于 OpenWrt 22.03 定制,而 lpac 在 OpenWrt 官方源中最低要求 24.10.2(2024年5月才收录)。原厂系统无法通过 opkg 安装 lpac,所以必须刷入 OpenWrt 官方 24.10 固件。
设备信息
路由器型号:GL.iNet GL-XE300(别名 Puli)
GL 固件版本:4.0
SoC:高通 QCA 9530(MIPS 架构, mips_24kc)
蜂窝模组:Quectel EC20CEHDLGR06A09M1G
目标固件:OpenWrt 24.10.8,ath79/nand 目标
最终目标:在 OpenWrt 上安装 lpac,通过 EC20 的 QMI 通道读写 eUICC 卡
关键判断:GL 原厂固件和 OpenWrt 官方固件是两套不同的系统,跨系统刷写必须走 U-Boot,不能用 sysupgrade。
二、刷机前的准备
1、下载正确的固件
访问 OpenWrt 官方下载站:
https://downloads.openwrt.org/releases/24.10.8/targets/ath79/nand/找到并下载 glinet_gl-xe300-squashfs-factory.img。
为什么必须用 factory.img?
factory.img 是完整的磁盘镜像,包含分区表、内核、根文件系统,用于 U-Boot 从原厂固件首次安装 OpenWrt。另一个文件 sysupgrade.bin 只适用于已经在运行 OpenWrt 的设备做版本升级,跨系统刷写会直接变砖。
一个简单的原则:跨系统(GL ↔ OpenWrt)永远走 U-Boot + factory 镜像(.img 文件);同系统升级(OpenWrt → 新 OpenWrt)才用 sysupgrade。
2、备份 GL 原有配置
登录 GL 管理面板,选择备份即可。
重要限制:这份备份只适用于刷回同版本 GL 固件时恢复。在 GL 提供的固件版本里面没有 4.0,后续我打算刷回最新的 4.3.27,届时无需恢复此备份。
GL 固件官方地址:
https://dl.gl-inet.cn/router/xe300/stable三、U-Boot 刷机流程
GL 官方教程:
https://docs.gl-inet.cn/router/4/features/uboot/1、进入恢复模式
UBoot 需要冷启动,也就是断电启动。GL-XE300 有内置电池,所以“断电”的操作是按电源键关机,而不是拔电源线。
具体操作如下:
按电源键,让路由器完全关机
按住 Reset 键不松手
按电源开机,保持 Reset 按住
观察指示灯:3G/4G 指示灯闪烁 6 次后,松开 Reset 键。
如果错过了闪烁窗口,关机重来一次即可。灯闪烁是有规律的一次性序列,不会无限循环。
2、设置电脑网络
用网线连接电脑和路由器的 LAN 口。
电脑有线网卡设置为静态 IP:
IP 地址:192.168.1.2
子网掩码:255.255.255.0
网关和 DNS:留空即可(纯局域网通信不需要)
3、进入 U-Boot 页面并上传固件
使用 Chrome 或 Edge 浏览器,访问
http://192.168.1.1,进入 U-Boot 恢复页面。点击 Choose File,选择 glinet_gl-xe300-squashfs-factory.img。
点击 Upload freware 开始上传
4、等待刷写完成
上传过程不要断电
页面的“加载”图标不会停止,这是正常现象——路由器刷完后直接重启,来不及给浏览器返回“完成”信号。
等待约 3 分钟,观察路由器指示灯:LAN 灯和 3G/4G 灯亮起,说明路由器已经开始重启,刷写已经完成。
四、OpenWrt 24 基础配置
1、访问 OpenWrt 管理界面
把电脑 IP 改回 ”自动获取 IP 地址“
等待 1-2 分钟,让路由器完全启动
浏览器访问
http://192.168.1.1,应该能看到 OpenWrt 的 LuCI 登录界面(不再是 GL 界面)首次登录需要设置 root 密码
2、配置 WIFI
OpenWrt 24 默认不开启 WiFi,需要手动开启:
登录 LuCI,点击 Network -> Wireless
找到 radio0,点击 Scan,连接 WiFi 网络
点击 Save & Apply,点击 Enable
验证联网:在 SSH 里执行
ping -c 3 baidu.com
3、配置 opkg 源(可选)
默认源是 downloads.openwrt.org,国内访问可能不稳定。可以换成清华源,编辑 /etc/opkg/distfeeds.conf,把 http://downloads.openwrt.org 替换为:
https://mirrors.tuna.tsinghua.edu.cn/openwrt但要注意:换源后可能遇到 HTTPS 证书问题,见下面的踩坑记录。
实测官方源可用,此配置自行斟酌。
4、踩坑记录
坑 1:opkg update 报 SSL verify error: unknown error
原因:OpenWrt 24.10 默认缺少完整的 CA 证书,导致 HTTPS 验证失败。时间偏差 8 小时不影响证书验证(证书看的是绝对时间点)。
解决:
opkg update --no-check-certificate
opkg install ca-bundle ca-certificates --no-check-certificate
坑 2:scp 传输文件报 sftp-server: not found
原因:新版 scp 默认用 SFTP 协议,OpenWrt 的 Dropbear SSH 默认不支持 SFTP。
解决:加 -O 参数强制使用旧版 SCP 协议:
scp -O 本地文件 root@192.168.1.1:/tmp/或者在路由器上安装 SFTP 服务(大概 40~60 KB):
opkg install openssh-sftp-server