奇客资讯、软件硬件、编程系统

February 11th, 2008

permalink 用 JTAG 修复变砖的 DELL TrueMobile 2300 路由器

[本文发布于 blog.kangkang.org,转载请勿删除]
前段时间自己的 Linksys WRT54G 电源坏掉,不得已在淘宝上面寻找替代品,最后找到了 Dell TrueMobile 2300 这个好东西,这个大概是满足 OpenWRT 最低要求(4M flash 16M ram) 的无线路由器里面最便宜的了(16x-18x) 。于是买了一个回来,用了没多久,就在一次刷 tomato 的过程中给刷死了,开机所有网口指示灯亮黄灯,电脑网卡显示网络电缆被拔出,彻底变成了一块砖头。
在网上搜索了半天,试验了各种诸如短接 flash 芯片引脚之类的办法,没有一个好用的。最后还是拿出电烙铁,按照网上文章焊了一个简易 JTAG 线,把这个 Dell 无线路由器修复。
小知识: 什么是 JTAG 以及为什么可以用 JTAG 来修复变砖的电子设备
网上搜索 JTAG,通常能找到的叫法是 Joint Test Action Group,是个规范。为啥能用来修复电子设备则很少有人讲清楚。简单的说,JTAG 就是一个芯片的后门规范,通过简单的电气接口可以命令芯片做任何它应该能做事情,包括运行任何指令。这个接口本来是为了测试芯片方便的,当然对于 firmware 损坏的电子设备,可以通过命令 CPU 执行指令来刷写 flash,从而达到修复变砖电子设备的目的。
拆开 Dell 2300, 可以看到主板如下图(盗用了恩山论坛某哥们的图,我自己的照得没他清楚)

主板上面有两个地方有现成的接口,其中右边那个 12 针一般就是 WRT 系列路由器的 JTAG 接口了,为了方便重复使用,我从一个破主板上面拆了个插座焊上去。我们只需要前面10针就够了,因此我这里最右边的两个针没焊。

做完了接口还需要做线。电路和接口线序可以参考 这里。在 Dell 主板上面插头的左下方有个小白三角,这个表示第一个针脚。
JTAG 线有两种,一种叫做有缓冲的(buffered),一种叫做无缓冲的(unbuffered)。简单的说 Buffered JTAG [...]

February 9th, 2008

permalink Linux 内核的路由 DIY

DD-WRT是一个供无线路由器使用的嵌入版Linux,它可以在 普通的家用无线路由器实现数千元的商用无线路由器功能,不仅如此,对于高手它甚至可以允许自行编译程序,自由扩展无线路由器功能。…