先上结论:三台同名 RT3000,里面不是同一套硬件
最近为了继续做 H3C RT3000 的 QSDK / OpenWrt 适配,我把自己手里的三台 RT3000 又全部翻出来,把 PCB、芯片顶标和之前的运行记录重新对了一遍。
本来以为最多就是 NAND 批次不同。
结果越看越不对劲:
三台外壳都叫 H3C Magic RT3000,但拆开以后已经可以确认是三套明显不同的硬件组合。
A:IPQ5018 + 独立 Winbond RAM + QCA8337-AL3C + W25N01GWZEIG
B:IPQ5000 + 集成 256 MiB DDR3L + QCA8337-AL3C + GD5F1GQ5REYIG
C:IPQ5018 + 独立 GigaDevice RAM + RTL8367S + W25N01GWZEIG + 2×8539SD 5G FEM
这里的 A / B / C 是我为了区分三台实体样机自己起的编号,不是 H3C 官方版本号。
图 1 A / B / C 三台 RT3000 PCB 正面对照
从板子上看,这已经不是简单的“同一块板换颗 Flash”。
SoC、RAM 形式、交换机、NAND、PCB 和 5 GHz RF 前端都出现了差异。
一、这次最关键的更正:B 机其实是 IPQ5000
以前我自己的项目资料里,一直把 A / B / C 三台都概括成 IPQ5018。
这次重新拍 B 机以后,实体芯片顶标已经很明确:
A:IPQ5018 B:IPQ5000 C:IPQ5018
图 2 A / B / C SoC 顶标对照,B 实际为 IPQ5000
所以软件里出现 ipq5018 平台名、DTS 名称或者 compatible,并不能代替实物芯片顶标。
这个旧结论我已经在 GitHub 公开项目里同步更正。
我觉得这种地方没必要硬圆:以前判断错了,实物证据出来以后就改。
二、连原厂后台的 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。
C 是 IPQ5018 + RTL8367S + 双 8539SD FEM。
至少在我目前这两个实体样本上:
RT3000 + VER.A + Bootrom 100
仍然不足以唯一确定里面到底是哪套硬件。
当然,现在也不能反过来说“R005 就固定是哪一版”“R007 就固定是哪一版”。
目前实体样本不够,原厂升级服务器到底依据什么字段分流,我还没有证据。
三、QCA8337 与 RTL8367S 是最明显的一条分叉
A、B 使用:
QCA8337-AL3C
C 使用:
RTL8367S
图 5 B 机 QCA8337-AL3C 与 C 机 RTL8367S
这颗交换机不同,对 OpenWrt / QSDK 来说不是小事。
CPU uplink、初始化、端口映射、VLAN、LAN / WAN 以及驱动路径都会受到影响。
目前 C 机在 RAM 环境里已经做到:
三口数据通信、LAN Bridge、自动 LAN/WAN、DHCP、DNS、NAT、Internet,以及阶段性的 2.4G / 5G 测试。
但我现在仍然只把它记成:
RAM-stage / PARTIAL
因为 NAND 持久化、长稳、完整双频回归和恢复路径还没有做完。
所以现在还不是公开“已支持版本”。
四、C 机还有两颗很显眼的 5 GHz FEM
C 背面能直接看到两颗:
8539SD
位号 U32 / U33。
图 6 C 机 U32 / U33 两颗 8539SD
这一点又和 A / B 不一样。
经典 NX30 的公开拆机里是 QCN6102 + 两颗 KCT8539S。
而 A 的相应位置为空,B 的整板照片也没有看到类似的独立 FEM 装配。
所以虽然这些机器很多都使用 QCN6102,我现在不会再简单认为:
“无线芯片一样,所以 BDF 就可以通用。”
目前也不能因为名字很像,就把 KCT8539S 和 8539SD / KCT8539SD 当成同一个 exact part。
经典 NX30 拆机参考:
https://www.acwifi.net/15584.html
五、三台 NAND 放一起看,也挺有意思
图 7 A / B / C 三台 NAND 顶标对照
A:
W25N01GWZEIG
B:
GD5F1GQ5REYIG
C:
W25N01GWZEIG
历史运行记录中:
A / C 是 2048 + 64 OOB。
B 是 2048 + 128 OOB。
这也顺手解释了论坛恢复帖里经常看到的:
128+4 / 132 MB
和:
128+8 / 136 MB
一颗 128 MiB NAND、2048 Byte/page,一共有 65536 页。
64 Byte OOB:
65536 × 64 Byte = 4 MiB
所以:
128 + 4 = 132 MiB
128 Byte OOB:
65536 × 128 Byte = 8 MiB
所以:
128 + 8 = 136 MiB
因此目前我认为,社区里这些“128+4 / 128+8”最有证据支持的解释,是:
包含 OOB 的 raw programmer dump 体积。
不能只凭这个数字,就说两台机器的 MTD partition layout 一定不同。
另外提醒一下:
目前研究里确认出现的 Winbond、GigaDevice、ESMT 这些 SPI NAND 都属于 1.8V-class 器件。
编程器供电不要因为“都是 WSON8 / SPI NAND”就默认 3.3V。
六、RW3010 是一个很有意思的外部对照样本
这里也得感谢数码之家坛友 yinjiudong 之前发过的 RW3010 拆机。
原帖:
https://www.mydigit.cn/thread-369604-1-1.html
从原帖照片可以核对到:
H3C AX3000 REV:A0
IPQ5000
QCA8337
QCN6102
GigaDevice NAND
这些主要字段和我的 B 机非常接近。
所以目前我把这台公开 RW3010 样本看成一个:
B-like / high-similarity candidate
但不能直接写成:
RW3010 = 我的 B 机
因为还缺它自己的 partition、ART / caldata、BDF、GPIO 和实机运行验收。
这里也不直接搬原帖图片,大家点原帖看原图即可。
七、RC3000 又告诉我们另一件事
早期公开 RC3000 拆机样本偏向:
IPQ5000
QCA8337-AL3C
QCN6102
GigaDevice NAND
但后来又出现过一台中国电信 RC3000 R009 用户报告:
IPQ5018
RTL8367S
QCN6102
KCT8539SD
W632GU6NB-11
Winbond W25N01GW
原帖:
https://www.chinadsl.net/thread-181780-1-1.html
所以 RC3000 自己也已经出现 QCA8337 / RTL8367S 两条路线的公开样本。
这进一步说明:
商品型号不是 BOM ID。
我现在更倾向于先认板子,再认型号。
八、现在我对这批机器的分类方法
以前很容易这样理解:
RT3000 = 某一套硬件。
RC3000 = 某一套硬件。
NX30 = 某一套硬件。
但现在我更愿意把“商品 / OEM 身份”和“实际硬件身份”分开记录。
商品 / OEM 身份包括:
RT3000、RC3000、RW3000、RW3010、NX30、原厂软件版本、运营商 / 渠道、Web Hardware Version。
实际硬件身份包括:
SoC、RAM、PCB、Switch、NAND、Partition / Boot、QCN6102、FEM、BDF、ART / calibration。
也就是说:
先看板子里到底是什么,再讨论能不能复用固件。
以后如果做一键工具,我希望流程也是:
识别 SoC
→ 识别 Switch
→ 识别 NAND
→ 识别分区 / 启动状态
→ 识别 RF Profile
→ 匹配已经验证过的硬件组合
→ 再决定是否允许持久化写入
未知组合就先停。
九、现在最想收集的是不同批次实物
如果大家手里有:
RT3000
RC3000
RW3000
RW3010
NX30
尤其是和上面这些组合不一样的版本,非常欢迎补图。
最有价值的是:
PCB 正面
PCB 背面
SoC 顶标
Switch 顶标
NAND 顶标
QCN6102 / FEM 区域
PCB REV / VER
原厂软件版本
SN、MAC、账号等请提前遮掉。
如果以后真的找到第四种 RT3000,那就记录第四种。
我不是想证明“A/B/C 三类就是全部”,而是想慢慢把这批 H3C AX3000 的真实硬件地图补出来。
十、完整资料
完整 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。
外部作者图片目前不重新上传,只保留来源链接和我的文字整理。
Product R1 r5 目前仍然只对已经完成实机验证的 B 机 Profile 负责,其它硬件批次不建议直接套刷。
项目目前还是我个人开发和维护。
如果大家手里有不同批次的机器、拆机资料或者闲置样机,欢迎一起把这张 H3C IPQ50xx AX3000 硬件地图补完整。 |