依然是网友求助的 4G 工业路由

拆解

正面 - 带有 TTL 接线

硬件版本号 v20a

硬件信息

  • SoC: MediaTek MT7628DAN
  • Flash: 16 MB
  • RAM: 64 MB
  • 电源: DC 5V-36V 1.5A
  • 以太网: 1x WAN/LAN, 3x LAN [10/100 Mbps]
  • 无线: 802.11n 2.4g-only
  • LED:
    System/Power (RUN): Always Off
    Modem (NET): GPIO/3 active-low
    LAN: Always On
    RF (Modem Signal): GPIO/2 active-low
    WIFI: GPIO/44 active-low
  • 按钮:
    WPS / RESET: GPIO/11 active-low
  • UART: 1x UART on PCB - 115200 8N1
  • GPIO 看门狗: GPIO/0 mode=toggle timeout=1s
  • Modem: 1x 内置板载模块 (Power: GPIO/4 active-high)
  • SIM Slots: 1x SIM Slots

固件分析

原厂 Web UI

Factory Web UI

颇有 DD-wrt 风味

部分设备控制台可能是 192.168.1.1

原厂 Uboot Web UI

无 DHCP
静态IP 192.168.1.1

Uboot Web UI

根据 H8922 的经验, 铁定有校验, 根据提取的 uboot 来看, 算法还是一模一样...

OS 版本

内核版本 4.9.87 还挺新

root@(none):/# cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r0-4b5123ccb'
DISTRIB_TARGET='ramips/mt76x8'
DISTRIB_ARCH='mipsel_24kc'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r0-4b5123ccb'
DISTRIB_TAINTS='no-all busybox'

root@(none):/# cat /etc/openwrt_version
r0-4b5123ccb

内核命令行

root@(none):/# cat /proc/cmdline
console=ttyS0,115200 rootfstype=squashfs,jffs2  bootversion=H8850_V2.0.0 mem=64M

分区布局

root@(none):/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00030000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00010000 00010000 "factory"
mtd3: 00a80000 00010000 "firmware"
mtd4: 001cf99d 00010000 "kernel"
mtd5: 008b0663 00010000 "rootfs"
mtd6: 000b0000 00010000 "rootfs_data"
mtd7: 00080000 00010000 "config_partition"
mtd8: 00400000 00010000 "patch_partition"

虽然有 eeprom 的 factory 分区, 但是并没有使用, 网卡MAC 存储在 /etc/hdconfig/systeminfo/system.info/etc/system.info 文件内

GPIO

root@(none):/# mount -t debugfs none /sys/kernel/debug/
root@(none):/# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-31, parent: platform/10000600.gpio, 10000600.gpio:
 gpio-0   (                    |wdt_rst             ) out hi
 gpio-1   (                    |hub_rst             ) out hi
 gpio-2   (                    |modem_signal1       ) out hi
 gpio-3   (                    |modem               ) out hi
 gpio-4   (                    |3g_pwr              ) out hi
 gpio-5   (                    |simcard_select      ) out lo
 gpio-6   (                    |serial_select       ) out hi
 gpio-11  (                    |rst_key             ) in  hi

gpiochip1: GPIOs 32-63, parent: platform/10000600.gpio, 10000600.gpio:
 gpio-36  (                    |gps_oe              ) out hi
 gpio-37  (                    |simcard1_check      ) in  hi
 gpio-38  (                    |led_lan_data        ) out hi
 gpio-39  (                    |simcard2_check      ) in  hi
 gpio-44  (                    |led_wifi            ) out hi

gpiochip2: GPIOs 64-95, parent: platform/10000600.gpio, 10000600.gpio:
LED GPIO 为 ?, 上述结果已经过 dts 修正

使用 GPIO 看门狗而不是 MT7628 内置的看门狗

LAN LED 无效, 板子 DTS 是 公版 evb/eval 修改的

固件加密

同其他型号

刷写固件

OpenWRT PR地址 - 已合并
前往 OpenWRT 官网下载

刷写 Breed

刷了就死循环重启, 必砖!
应该是 GPIO 看门狗没喂狗导致的

通过 UART 进入 UBoot 刷写

无法进入 UBoot 控制台

通过 UART 进入 Failsafe 刷写

Failsafe

把固件拉到设备的 /tmp 目录下

  • 使用 python -m http.server 起个 http 服务器, 搭配 wget
mtd -r write openwrt-ramips-mt76x8-hongdian_h8850-v20-squashfs-sysupgrade.bin firmware

等待设备重启, 第一次比较慢

由于分区布局不一样, 建议刷完以后通过 LuCI 不保存设置再刷一次

原厂固件下载

h8850-v20a.7z

最后修改:2026 年 04 月 22 日
如果觉得我的文章对你有用,请随意赞赏