硬件档案/HARDWARE ARCHIVE
进行中

Cisco Meraki MX64

拥有 2GB RAM的纯路由系统,结合坚固的设计和一体化散热设计,是单网关的合适选择。

资产标签 · 已核实
SoC
Broadcom BCM58625(Cortex-A9 双核 @ 1.2GHz,Northstar Plus)
架构
ARMv7 / armhf
内存
2GB DDR3(4 × SK Hynix H5TC4G83CFR)
存储
1GB bare NAND(Micron MT29F8G08ABACA),非 eMMC
端口
MX64:BCM58625 内置交换,5 × GbE
构建目标
OpenWrt bcm53xx / bcm5862x,三个 image:mx64、mx64a0
二手价位
授权失效件极便宜,国内闲鱼有量但不大

设备概述

MX64 是 Cisco Meraki 面向分支机构的小型安全网关,2015 年前后的产品。放在今天看它的配置依然不寒酸:2GB DDR3 内存——对比一下,绝大多数消费级路由器是 128MB 到 512MB。

该设备现在的价格已经非常低了,在闲鱼经常能以50元左右的价格拿下。并且由于来源复杂,上家几乎完全不记得把设备解除绑定,导致设备的实际价值几乎归零。

得益于这些设备的良好做工,它们往往一颗电容都没坏,硬件完好,但它成了一块两斤重的铝摆件。

拆开看到什么

本节的芯片清单来自内核与 OpenWrt 的提交记录,已交叉核对;我自己的机器还在路上,实拍和实测会在到手后补上。 标注为已核实的部分不会再变,未核实的会明确写出来。

MX64 使用 SoC:Broadcom BCM58625,双核 Cortex-A9 跑 1.2GHz,属于 Northstar Plus 平台。配 2GB DDR3 和 1GB 裸 NAND,一个 USB 2.0,主板上有内部串口排针。

MX64 的 5 个千兆口全部来自 BCM58625 内置的交换单元。结构简单。

MX64 端口拓扑图:5 个千兆口全部来自 BCM58625 内置的交换单元;口与口之间由芯片内部转发,WAN 到 LAN 的流量则由 A9 核心路由
MX64 的端口分工,简单到只有一层。口与口之间的流量由 SoC 内部的交换单元自己转发,根本到不了 CPU;
[1] 标出的橙色那条才是要过 A9 核心的——WAN 到 LAN 要路由和 NAT。所以这台的天花板是 CPU,不是端口数。依据公开提交记录绘制。
[2] 没有实现DSA硬件转发,由CPU处理所有数据。

买之前必须知道的

这一节是我整理这台设备时觉得最该先写出来的部分,因为它能直接帮你省钱。

一、W版本的无线无法工作。 MX64W 的无线是两颗 Broadcom BCM43520KMLG,OpenWrt 不支持。刷完就是一台没有 Wi-Fi 的盒子,其余功能正常。W 版的天线不太好收起来,所以显得多余。

二、有 A0 步进变体。 早期批次的 BCM58625 是 A0 版本,缺少 cache coherency,secondary-boot-reg 也不同,需要单独的设备树(meraki,mx64-a0),编译时是独立的 image 目标。下单前基本问不出来,到手必须自己确认,选错 image 起不来

三、卖家"已升级到最新固件"是坏消息。 新版原厂固件把 mtd0(U-boot 分区)锁成只读了。刷机前先在原厂系统里查一下:

cat /sys/block/mtdblock0/ro

返回 0 可以直接写;返回 1 就得先加载 mtd-rw 模块解锁。顺便说,原厂固件是开着 telnet 的,这就是入口。

四、至少买两台。 你要替换 U-boot,第一台变砖的概率不低。第二台保持原厂状态很有用:做对照、验证步骤、以及拍下"授权过期后它到底怎么废掉"的实证画面。

工具上需要一根 3.3V TTL USB 串口线(115200 8N1)和一个 FAT 格式 U 盘——USB 启动是刷机路径里的必经一环。

完整操作记录

以下流程整理自 OpenWrt PR #16634PR #3996(作者 Matthew Hagan),改过的 U-boot 来自 clayface 的仓库。我尚未亲手跑完,到手后会逐步替换成实拍记录,并标注与文档不一致的地方。

要理解的关键点是:这台设备的支持还停在 PR 阶段,官方下载页没有它的固件,你必须自己拉 patch 编译。 设备树本身已经进了 Linux 主线(bcm958625-meraki-kingpin.dtsi 那一组),但 OpenWrt 侧还带着额外的板级补丁和改过的 U-boot。

流程的骨架是这样:

  1. 从 telnet 进入原厂系统,确认 mtd0 是否只读
  2. 若被锁,insmod mtd-rw.ko i_want_a_brick=1 解锁,再用 mtd write 写入
  3. 若未锁,可直接 dd 写入 U-boot
  4. 替换 U-boot(原厂 U-boot 的 nand read 只能读 2MB,而 kernel 分区更大,所以要么换成支持 UBI 的版本,要么走"小 U-boot 先引导"的两段式)
  5. 插好装有 initramfs 的 FAT U 盘,按住 reset 上电,进入 USB 启动
  6. SCP 把 sysupgrade 镜像传到 192.168.1.1:/tmp,执行 sysupgrade

第 4 步是整件事真正的硬骨头。DTS 有人做完了,编译有 AI 帮忙,但 bootloader 这一段是你会花掉大部分时间的地方——而且是唯一真正有变砖风险的地方。

哪些能用,哪些不能用

以下是待执行的测试项目,尚无实测结果。测试完成后补齐环境、条件和原始记录。

测试环境

项目 记录
测试日期 待记录
固件与内核 待记录:镜像版本或提交号、内核版本、设备步进
测试拓扑 server1 --- DUT --- server2
流量参数 待记录:工具及版本、协议、并发数、持续时间、重复次数
供电与测量 待记录:电源、功率计、测量位置、连接的外设

测试结果

测试项目 测试条件 结果
NAT 吞吐(Mbps) 启用 NAT;流量方向、软件及硬件流量卸载设置待记录 未测
纯路由吞吐(Mbps) 不做 NAT;流量方向、软件及硬件流量卸载设置待记录 未测
空闲功耗(W) 启动完成、无业务流量;端口连接情况待记录 未测
负载功耗(W) 对应负载、采样时长及平均值或峰值口径待记录 未测

原始记录

待补测试命令、完整输出与功率计读数。

结语

结论待实测后给。但现在可以先说清判断标准:这台设备的价值不在性能——1.2GHz 的 A9 做软件转发,跑不过现在几百块的 x86 软路由。它的价值在于 2GB 内存 + 企业级做工 + 极低的获取成本,适合当一台安静、稳定、不发热的边缘设备长期挂着。

得益于其一体化的设计,其牢固度和热保持能力都相当值得期待。

如果你要的是高吞吐,别买这个,去看二手 x86。如果你要的是一台能塞满服务、放在角落里跑三年不管的小盒子,它的性价比可能相当好。

读者反馈与作者回复

关于本文,有问题、使用反馈或不同的实测结果,都欢迎留言。 涉及设备实测时,请尽量附上设备型号、固件版本和测试条件。 我会在对应留言下回复,已核实的修正会补进正文。

留言需登录 GitHub。不方便使用或评论未加载时,可以邮件反馈(itscraper@hotmail.com),邮件已预填本文链接。

← 回到档案索引

图片查看

打开原图 ↗

按原始尺寸显示,可滑动查看细节。