诺基亚 (Nokia) EA0326GMP 路由器刷入 ChaWrt 固件教程 - liudf0716/chawrt GitHub Wiki

诺基亚 (Nokia) EA0326GMP 路由器刷入 ChaWrt 固件教程

硬件规格: (仅供参考)

  • SoC: MediaTek MT7981B (双核 A53)
  • 闪存: 128 MB SPI-NAND
  • 内存: 256MB
  • 以太网: 4 个 10/100/1000 Mbps 端口
  • 交换芯片: MediaTek MT7531AE
  • WiFi: MediaTek MT7976C
  • 按钮: Reset (重置), WPS/Mesh
  • 电源: DC 12V 1A

第一部分:获取 SSH 访问权限

重要提示: 此步骤需要在原厂固件下操作,目的是开启 SSH 功能,以便后续刷机。以下步骤涉及的工具和预制文件来源于 ImmortalWrt 项目,请务必确认这些工具和文件与您要刷入的 ChaWrt 版本兼容。如果 ChaWrt 项目提供了专门的 SSH 开启方法或工具,请优先使用 ChaWrt 的方案。

方法一:手动修改配置文件

  1. 下载配置: 登录路由器的 Web 管理界面 (通常是 192.168.1.254 或类似地址),找到备份配置文件的选项,下载当前的配置文件(通常是 .tar.gz 格式)。
  2. 下载配置工具:
    • 从以下链接下载配置处理工具包: https://firmware.download.immortalwrt.eu.org/cnsztl/mediatek/filogic/openwrt-mediatek-mt7981-nokia-ea0326gmp-config-utils.tar.gz
    • 注意: 这些工具是从原厂固件中提取的,并且是动态链接到 aarch64 musl 1.1.24 运行库的。你必须在一个兼容的运行环境下(例如具有相同库版本的 Linux 系统或 WSL 环境)使用它们,否则无法正常工作。再次强调,请确认这些工具适用于 ChaWrt。
  3. 准备环境: 将下载的路由器配置文件 (.tar.gz) 和配置工具包 (openwrt-...-config-utils.tar.gz) 上传到一个合适的 Linux 环境中。
  4. 解压并设置工具:
    • 解压工具包:
      tar -zxf openwrt-mediatek-mt7981-nokia-ea0326gmp-config-utils.tar.gz
      
    • 将工具移动到可执行路径(例如 /bin/usr/local/bin)并赋予执行权限:
      mv mkconfig seama /bin
      chmod +x /bin/mkconfig
      chmod +x /bin/seama
      
  5. 解密并解压配置:
    • 如果你不是以 root 用户登录,可能需要先进入 fakeroot 环境。
    • 使用 mkconfig 解密配置文件(将 -i 后面的文件名替换为你实际下载的备份文件名):
      mkconfig -a de-enca -m EA0326GMP_3FE79221BAAA -i EA0326GMP_3FE79221BAAA-xxxxxxxx-backup.tar.gz -o backup.tar.gz
      
    • 解压得到的 backup.tar.gz
      tar -zxf backup.tar.gz
      
      这会解压出一个 etc/ 目录。
  6. 启用 Dropbear (SSH 服务):
    • 编辑解压出来的 etc/config/dropbear 文件 (例如使用 nanovim 编辑器)。
    • 找到 config dropbear 部分,将 option enable '0' 修改为 option enable '1'。如果该选项不存在,请添加此行。
  7. 移除 root 密码:
    • 编辑解压出来的 etc/passwd 文件。
    • 找到以 root: 开头的行,将其修改为(即清空密码字段): root::1:0:99999:7:::
  8. 重新打包并加密配置:
    • 重新打包修改后的 etc 目录:
      tar -zcf backup.tar.gz etc/
      
    • 使用 mkconfig 重新加密配置文件(将 -o 后面的文件名替换为你原始备份文件的名称):
      mkconfig -a enca -m EA0326GMP_3FE79221BAAA -i backup.tar.gz -o EA0326GMP_3FE79221BAAA-xxxxxxxx-backup.tar.gz
      
  9. 上传配置: 回到路由器的 Web 管理界面,找到恢复或上传配置文件的选项,将你刚刚重新生成并加密的配置文件上传回路由器。路由器应用配置后会重启。重启完成后,你应该可以通过 SSH 连接到路由器了(用户名为 root,无密码)。

方法二:使用预制 SSH 配置文件 (更简单)

  1. 下载预制文件: 从以下链接下载已经修改好、用于开启 SSH 的配置文件: https://firmware.download.immortalwrt.eu.org/cnsztl/mediatek/filogic/openwrt-mediatek-mt7981-nokia-ea0326gmp-enable-ssh.tar.gz
  2. 上传配置: 登录路由器的 Web 管理界面,直接上传这个下载好的 ...-enable-ssh.tar.gz 文件作为恢复配置。
  3. 重启和连接: 路由器应用配置后会重启。重启完成后,即可通过 SSH 连接(用户 root,无密码)。 注意: 同样,请确认此预制文件与 ChaWrt 兼容。

第二部分:刷入 ChaWrt 固件

!!! 极度重要警告 !!!

  • 刷机有巨大风险,可能导致设备变砖!请务必在操作前了解所有步骤。
  • 强烈建议在执行任何写入操作前,通过 SSH 备份路由器上的所有原始分区,特别是 'Factory' 或包含设备信息的特定分区 (如 MAC 地址、序列号、无线校准数据等)。 可以使用 cat /proc/mtd 查看分区列表,使用 dd if=/dev/mtdX of=/tmp/mtdX_backup.bin 命令备份分区到 /tmp 目录,然后通过 SCP 或其他方式下载到电脑上。
  • 确保你下载了适用于 Nokia EA0326GMP 的、正确的 ChaWrt 固件文件,包括预加载器 (preloader)、U-Boot (FIP)、initramfs 镜像和 sysupgrade 镜像。文件来源必须可靠!

刷机步骤:

  1. SSH 连接和准备:

    • 使用 SSH 客户端 (如 PuTTY, Termius, 或系统自带的 ssh 命令) 连接到路由器的 IP 地址 (通常是 192.168.1.254 或你在第一部分 SSH 开启后的地址),用户名为 root
    • 将下载好的 ChaWrt 的 preloader.binbl31-uboot.fip 文件上传到路由器的 /tmp 目录下 (可以使用 scp 命令)。请使用 ChaWrt 提供的对应文件,文件名可能不同! 下面的命令使用了示例名称,请替换为实际文件名。
  2. 刷写新的引导加载程序 (BL2 - Preloader):

    • 在 SSH 终端中执行(务必替换为正确的 ChaWrt preloader 文件名!):
      mtd write /tmp/chawrt-mediatek-filogic-nokia_ea0326gmp-preloader.bin BL2
      
    • 此步骤风险极高,请再三确认命令和文件名无误!
  3. 刷写新的 U-Boot (FIP):

    • 在 SSH 终端中执行(务必替换为正确的 ChaWrt FIP 文件名!):
      mtd write /tmp/chawrt-mediatek-filogic-nokia_ea0326gmp-bl31-uboot.fip FIP
      
    • 此步骤风险极高,请再三确认命令和文件名无误!
  4. 设置电脑静态 IP:

    • 断开电脑与路由器的连接(如果之前是通过 LAN 连接的话)。
    • 将你的电脑网卡 IP 地址设置为静态 IP:
      • IP 地址: 192.168.1.254
      • 子网掩码: 255.255.255.0
      • 网关: 192.168.1.1 (这是刷入新 U-Boot 后路由器的默认 IP)
  5. 准备 TFTP 服务器:

    • 在你的电脑上运行 TFTP 服务器软件 (如 Tftpd64)。
    • ChaWrt 为 Nokia EA0326GMP 提供的 initramfs 恢复镜像文件复制到 TFTP 服务器的根目录。
    • 确保 initramfs 文件名符合新刷入的 U-Boot 进行 TFTP 恢复时查找的文件名规范 (具体名称请查阅 ChaWrt 文档或 U-Boot 的信息,可能类似 *initramfs-recovery.itb 等)。
    • 启动 TFTP 服务器,确保防火墙允许 TFTP 连接。
  6. 执行 TFTP 恢复:

    • 彻底断开路由器电源。
    • 使用网线将电脑连接到路由器的 任意一个 LAN 口
    • 重新给路由器接通电源。 新刷入的 U-Boot 在启动时通常会自动尝试进入 TFTP 恢复模式,寻找 IP 地址为 192.168.1.254 的 TFTP 服务器,并下载指定名称的 initramfs 文件。
    • 观察 TFTP 服务器软件的日志或状态,看是否有文件传输请求和进度。等待传输完成。路由器会自动加载 initramfs 镜像启动 ChaWrt 临时系统。
  7. 完成 ChaWrt 最终刷写 (Sysupgrade):

    • 等待路由器从 initramfs 镜像启动完成 (可能需要几分钟)。
    • 电脑 IP 保持 192.168.1.254 不变,打开浏览器访问 http://192.168.1.1。你应该能看到 ChaWrt 的 Web 管理界面 (LuCI 或类似界面)。
    • 登录 ChaWrt 界面 (初始密码请查阅 ChaWrt 文档)。
    • 导航到 系统 (System) -> 备份/升级固件 (Backup / Flash Firmware) 或类似菜单。
    • 在 “刷写新固件镜像” (Flash new firmware image) 部分:
      • 不要勾选 “保留当前配置” (Keep settings and retain the current configuration)。
      • 点击 “浏览” 或 “上传” 按钮,选择你下载的 ChaWrtsysupgrade 固件文件 (通常是 .bin 格式)。
      • 确认上传并执行刷写操作。系统会验证固件并开始写入。
    • 刷写过程请勿断电!完成后路由器会自动重启进入完整的 ChaWrt 系统。
    • 将你的电脑 IP 地址改回自动获取 (DHCP)。现在可以通过 192.168.1.1 正常管理你的 ChaWrt 路由器了。

最后提醒: 不同版本的 ChaWrt 或其依赖的 U-Boot 可能在细节上(如恢复模式触发方式、TFTP 文件名等)有所不同,请务必以你所使用的 ChaWrt 版本配套的官方说明或社区指南为准。