先从本站的一台 RC3000 R009 说起
本站之前有坛友发过一台中国电信 RC3000 R009:
IPQ5018
RTL8367S
QCN6102
KCT8539SD
W632GU6NB-11
Winbond W25N01GW
并报告强制 SSH 刷 NX30 后变砖,后续称“全砖,无输出”。
原帖:
https://www.chinadsl.net/thread-181780-1-1.html
这条记录我最近重新翻出来以后,发现它和我自己手里一台 RT3000 的硬件组合非常有意思。
因为我手里三台都叫 H3C Magic RT3000 的实体机,重新逐台拆机核对以后,也已经确认存在三套明显不同的硬件组合。
[P0] A:
IPQ5018 + 独立 Winbond RAM + QCA8337-AL3C + W25N01GWZEIG
[P0] B:
IPQ5000 + 集成 256 MiB DDR3L + QCA8337-AL3C + GD5F1GQ5REYIG
[P0] C:
IPQ5018 + 独立 GigaDevice RAM + RTL8367S + W25N01GWZEIG + 2×8539SD 5G FEM
这里的 A / B / C 是我为了绑定照片、日志和测试结果而使用的内部样机编号,不是 H3C 官方版本号。
图 1 我手里三台 H3C Magic RT3000 PCB 正面对照
所以这篇想讨论的核心其实很简单:
RC / RT / RW / NX30 这一批机器,不能再仅凭商品型号判断里面是哪套硬件,更不能因为“以前有人通刷成功”就默认所有批次都相同。
一、最关键的一次更正:我的 B 机实际是 IPQ5000
项目早期资料里,我一直把三台 RT3000 都概括成 IPQ5018。
这次重新拍 B 机以后,实体顶标已经很清楚:
A:IPQ5018 B:IPQ5000 C:IPQ5018
图 2 B 机实体顶标为 IPQ5000,不是早期资料里的 IPQ5018
B 机同时还是:
QCA8337-AL3C
GD5F1GQ5REYIG
QCN6102
并且是我当前 Product R1 r5 的发布基线。
这次更正以后,一个很直接的结论就是:
软件里出现 ipq5018 平台名、DTS 名称或者 compatible,不能代替实体芯片顶标。
二、连原厂后台的 VER.A 都不足以区分 B 和 C
更有意思的是:
B、C 两台原厂后台都显示:
H3C Magic RT3000
Bootrom 100
硬件版本 VER.A
但是软件版本分别是:
B:RT3000V100R005
图 3 B:R005 / Bootrom 100 / VER.A
C:RT3000V100R007
图 4 C:R007 / Bootrom 100 / VER.A
而实体拆机确认:
B:
IPQ5000 + QCA8337-AL3C + GigaDevice NAND
C:
IPQ5018 + RTL8367S + Winbond NAND + 2×8539SD FEM
至少在目前这两个实体样本上:
RT3000 + VER.A + Bootrom 100
仍不足以唯一确定实际硬件。
至于 R005 / R007 是否固定对应某一种硬件,目前没有足够样本,我不做这种映射。
三、QCA8337 与 RTL8367S 已经是两条不同的 Ethernet 路线
A、B 使用:
QCA8337-AL3C
C 使用:
RTL8367S
图 5 B 机 QCA8337-AL3C 与 C 机 RTL8367S
这至少意味着:
交换机驱动
初始化
端口映射
VLAN
Bridge / LAN-WAN 配置
不能继续假定只有一种硬件。
至于更底层的 CPU ↔ Switch 接口模式、SerDes / GMAC,以及 NSS 数据路径,我现在会按具体 PCB、DTS 和运行证据单独确认,不从芯片料号直接推出。
目前 C 机在 RAM 环境下已经完成过:
三口数据通信
LAN Bridge
自动 LAN/WAN
DHCP / DNS / NAT
Internet 出口
阶段性的 2.4G / 5G 测试
但仍然只标记为:
RAM-stage / PARTIAL
这里解释一下:
Product R1 r5
= 当前只在 B 实体样机完成阶段发布验收的 QSDK 固件基线。
RAM-stage / PARTIAL
= 只在 RAM 启动环境里完成部分能力验证,还没有完成 NAND 持久化、完整长稳和正式发布验收。
四、为什么本站那台 RC3000 R009 很重要
本站那台 R009 报告:
IPQ5018
RTL8367S
QCN6102
KCT8539SD
W632GU6NB-11
W25N01GW
而我的 C:
IPQ5018
RTL8367S
QCN6102
2×8539SD
Winbond NAND
两者有很多相似字段。
但我现在只把它理解成:
RTL8367S 已经跨 RT3000 / RC3000 两个商品型号出现。
而不是:
“C = RC3000 R009”
因为目前并没有证据证明:
PCB 相同
CPU-Switch interface 相同
GPIO 相同
分区相同
BDF 相同
ART / calibration 相同
更不能据此直接互刷。
五、经典 NX30 为什么不能再当万能“公版模板”
经典 NX30 公开拆机样本大致是:
IPQ5000
集成 256 MiB DDR3L
QCA8337-AL3C
GD5F1GQ5REYIG
QCN6102
2×KCT8539S
它与我的 B 在很多主要器件上接近。
但 B 的整板照片没有看到类似的独立 5G FEM。
而 C 虽然也有两颗外置 FEM,却是:
8539SD
图 6 C 机 U32 / U33 两颗 8539SD
所以:
QCN6102 相同
并不能自动推出:
FEM 相同
BDF 相同
PAEN / C1 / C2 相同
GPIO 相同
校准数据相同
目前也不把 KCT8539S 与 8539SD / KCT8539SD 当成同一个 exact part。
六、NAND 也不能只看“128M”
图 7 A / B / C NAND 顶标对照
A:
W25N01GWZEIG
历史记录 2048 + 64 OOB
B:
GD5F1GQ5REYIG
历史记录 2048 + 128 OOB
C:
W25N01GWZEIG
历史记录 2048 + 64 OOB
论坛恢复帖子里常见:
128+4 / 132 MB
128+8 / 136 MB
对于 128 MiB、2048 Byte/page 的 NAND:
65536 pages × 64 Byte OOB = 4 MiB
所以:
128 + 4 = 132 MiB
65536 pages × 128 Byte OOB = 8 MiB
所以:
128 + 8 = 136 MiB
因此目前最有证据支持的解释是:
这些数字与 raw NAND data + OOB dump 体积高度吻合。
但具体编程器是不是完整保留 OOB、ECC / bad-block 信息怎样排列,还取决于编程器和 dump 模式。
所以 132 / 136 MiB 本身既不能唯一说明 dump 格式,也不能直接证明 MTD 分区布局不同。
另外提醒:
目前研究里核对到的 Winbond、GigaDevice、ESMT 相关 SPI NAND 都属于 1.8V-class 器件。
编程器不要因为“都是 WSON8”就默认 3.3V 供电。
七、我现在不会再把“刷成功”直接写成“完整支持”
论坛里常见:
能开机
能进后台
有 Wi-Fi
刷成功
变砖
这些现象都很有价值。
但我现在会分别记录:
BOOT
SHELL / WEB
LAN
WAN
Wi-Fi 广播
Wi-Fi 关联
DHCP
Internet
Mesh
Reboot
Stability
没有测试就保留 UNKNOWN / NOT_EXECUTED。
比如:
“系统启动并出现 SSID”
最多直接说明:
BOOT = PASS
WIFI_BCAST = PASS
不能自动说明 WAN、DHCP、Internet、稳定性都通过。
反过来“砖了”也不能自动把 LAN / WAN / Wi-Fi 全部写成 FAIL。
本轮我按这个规则重新审查了 19 条公开跨刷 / 运行记录,汇总是:
VALIDATED_SUPPORT:0
PARTIAL:7
FAIL:3
CLAIMED_ONLY:5
UNKNOWN:4
其中 3 条 FAIL 都只在 BOOT 层有直接证据。
这 19 条的逐条来源和 capability 判定矩阵我还在整理成 GitHub 独立附录,所以这里先把它称作:
本轮审计汇总
等附录公开后,每一项都应该可以追到原始来源和判定依据。
八、我现在更倾向:先识别板子,再谈跨刷
以前容易做成:
RT3000 → RT3000 固件
RC3000 → RC3000 固件
NX30 → NX30 固件
现在我的工具和适配路线准备改成:
读取真实硬件
→ SoC / RAM
→ Switch
→ NAND
→ Partition / Boot
→ RF / FEM
→ BDF / calibration
→ 匹配已验证 Hardware Profile
→ 再决定是否允许持久化写入
遇到未知组合:
不猜。
停止写入,先收集资料。
特别提醒:我当前公开的 Product R1 r5 仍然只对已经完成实机验收的 B 机 Profile 负责。其它 RC / RT / RW / NX30 批次不要因为“看起来相似”直接套刷。
九、希望本站老玩家帮忙补样本
chinadsl 这边运营商机器玩家比较多,所以我也很希望能收集更多真实批次。
如果手里有:
RC3000
RT3000
RW3000
RW3010
NX30
尤其是和上面不一样的版本,欢迎提供:
PCB 正反面
PCB REV / VER
SoC 顶标
Switch 顶标
NAND 顶标
QCN6102 / FEM 区域
原厂软件版本
请遮掉完整 SN、MAC、账号和其它个人信息。
如果出现第四种 RT3000,或者另一种 RC3000,就记录新的样本。
目标不是证明现有分类永远正确,而是把真实硬件地图一点点补完整。
完整研究与项目地址
Hardware Research v1.0:
https://github.com/FlyFish-go/H3C-RT3000-Product-R1/blob/main/docs/H3C-IPQ50xx-Hardware-Research-v1.0.md
项目主页:
https://github.com/FlyFish-go/H3C-RT3000-Product-R1
公开 GitHub 文档里已经放入我自己的 A / B / C 实体照片、公开衍生图处理说明和 SHA-256。
外部作者图片目前不重新上传,只保留原帖链接和文字归纳。 |