我有一个变砖的 UBNT EdgeRouter X 路由器。它是在使用 SSH 更改固件时变砖的。然后,当我尝试使用 UART 将其解开时 - 3v3 路由器引脚连接到 3v3 UART。
现在路由器的 3v3 引脚电压为 0.0。但是,如果我打开电源或连接和断开跳线,路由器的 LED 仍然会工作。
我尝试使用
- TXD↔RX,RXD↔TX,GND↔GND
- 并且 TXD↔TX,RXD↔RX,GND↔GND。
我使用了 PuTTY,尝试使用从计算机>管理>设备管理器获取的 COM 号进行连接。波特率 115200、数据位 8、停止位 1、流量控制无。
在这两种情况下,我都会得到空白的 PuTTY 窗口。
有办法修复吗?如果我将路由器送到服务中心,他们可以修复吗?
答案1
您没有具体说明通过 ssh 做了什么导致“固件损坏”。
大多数路由器的固件都有不同的部分。第一阶段比较简单,通常引导程序。然后,第一阶段将真实固件加载为第二阶段。谷歌搜索似乎证实了 UBNT EdgeRouter X 使用 uboot。
因此,如果您所做的一切都没有破坏 uboot,您应该能够使用 uboot 恢复模式(谷歌)。
如果你确实毁了它,你可能就无能为力了。那么要吸取的教训是,在进行固件升级时,你总是升级“正确的”(第二阶段)固件仅有的. 而且在做这些事之前你得好好看一下 flash ROM 的哪个部分包含了哪些类型的信息。
编辑
由于对此似乎存在一些混淆,让我们理清串行/UART 与 JTAG。
看看OpenWRT 页面对于路由器,可以在下图中看到 UART/串行连接:
这将为设备提供串行控制台,需要一个可以工作的固件,例如 uboot。如果 uboot 已经在运行,那么在恢复模式下使用串行控制台与使用网络控制台相比没有任何优势(除非由于某种原因这不起作用)。并且网络控制台不需要额外的硬件,例如连接到串行端口所需的电线。
芯片组还似乎有一个 JTAG 端口,但我没有找到任何迹象表明它在板上的位置。标准 JTAG 接头有 20 个引脚,在图片中可以看到一个接头(未焊接)的空间,该接头有 14 个引脚,可能包含一些 JTAG 引脚(或可能完全不同)。也可能根本没有未焊接的 JTAG 接头,并且需要直接从主芯片组获取 JTAG 信号。
使用 JTAG,也可以刷新第一阶段的引导加载程序,但要做到这一点,需要能够理解 JTAG 协议的特殊硬件。简单的串行连接无法实现这一点。
在购买 JTAG 协议硬件和购买新路由器之间做出选择时,购买新路由器通常更便宜。除非有人计划将来使用 JTAG 进行大量黑客攻击。