本帖最后由 sjtitr 于 2015-9-30 03:02 编辑
刚刚的中秋节难得能在家休着闲两天,于是又开展一轮DIY的活动。
这次还真是少不了从论坛拿到的宝贝……
首先这就是曾经从论坛得到的无线小路由WR700N了,
楼主期待有一天能给它刷个openwrt。
话说我倒也不缺路由器,只是这两天闲下来,想起了这个事,于是来搞一个。
由于这个路由的Flash只有2MB,根本不足以写入op,所以不得不给它换个flash啦。
楼主是纯软件出身,这个焊活,虽然只有8个脚,那也是个老大难问题了,所以一直也没有做过尝试,不过这次真是豁出来了,拿出来练练手吧。
提前准备好各种材料:W25Q64(8MB的Flash)芯片若干,相应的烧写座一个。
思来想去的,不买烧写器了,DIY嘛,就得自己动手,丰衣足食。OK,DIY一个简单的烧写器——烧写器,二楼见~
东西都到手,等到中秋节,咱沐浴更衣焚香祷告,开始动手。
首先肯定是拆……拆WR700N这个东西,需要到网上参考一个内容(China[拆哪],破拆高手多,先请教一下机壳的卡点,避免损坏外壳)。于是根据指示开始暴力开壳。
得到了WR700N的核心,正面处理器和内存贴着签不拍照了,后面的SPI Flash坦荡荡。
拆的话应该是比较容易的……可是楼主还是很悲催的伤到了焊盘,5脚的焊盘就那样悬着…这家伙那可是数据输入信号啊……不会最后悲剧了吧。
步骤一,利用烧写器将拆下的Flash中,最后64K的数据取出来,留下备用。这个东西在路由界被称为art,里面存有路由信号有关的调整数据,没有了它,剩下的硬件就无法发挥它的最佳水平。
步骤二,从网上下载一个叫breed的东西,这个可以替代uboot启动路由器,而且利用它,可以随时随意刷路由的系统了。
步骤三,将breed烧写到Flash的0起始的位置上,内容并不大,所以可以再读出来,干脆读出来0x15000,和原始的breed比较一下,发现有效数据是一致的,OK可以继续了。
步骤四,(此步骤可省略,当时我不懂,之后我懂了。该步骤烧写art到Flash上,但实际breed可以直接写art,所以最好让breed来做这件事)
步骤五,接下来就把Flash焊回到板子上。我没做过这个,还是需要很小心的处理……
接下来就可以上电操作啦……所以后续就仅是调试过程了。
Orz起不来。
蓝色的指示灯亮了,但还是很暗,我甚至怀疑这个是不是板子坏掉了。事实证明,只是起不来,所以灯也是异常状态了。
于是插上逻辑分析仪排错。这个过程中,我发现,电源电路到主板电路转换的过程中,留下了5V的测试TP,所以只需要找一个5V电源,接过来就可以方便的调试了,不必插在墙上看效果。事实上,我直接用测试夹夹在相连的电容脚上,很方便。
于是一个脚一个脚看,发现/Hold脚拉低了。查一查类似的路由器的电路图,发现这个脚是在外部利用电阻直接拉高使用的,所以……是不是我把焊盘焊坏了……
就是这么果断,立刻找了个10K电阻焊上了。继续启动……还是起不来。
再检查,发现逻辑分析仪上是有正确数据的,这回惨了,看来板子出问题了。
喝了一杯酸奶压压惊,之后决定继续差错看看,结果很偶然地,用万用表发现Flash的4脚(GND)信号上,电压不为0,而且还有浮动。
再一想,糟了个糕,我一直关注的是Flash引脚上有没有数据,可是这样是不能保证焊盘上也能正确的得到这些数据的……也就是说,输入到Flash的信号,目前来看都是正确的,但是输出出去的信号,可能有虚焊!所以,起先我所担心的5脚,竟然完全没问题~,再所以,/Hold脚也许也是虚连了所以看起来是拉低的……
于是用万用表使劲测4脚,发现确实和下面的焊盘虚连着,甚至稍使劲压,也接触不到,看来是中间有松香层阻碍电流了。
所以拿起烙铁,把这几个脚又焊一次,顺便把自己加的电阻摘除。这一次每个脚都稍用力往焊盘上压实一点。看来第一次焊太小心,虽然焊锡融得很漂亮,可是反倒是没有焊上。
之后再通电,终于一切正常,灯也亮了,接在PC上,PC网口也亮了。Oh Yeah~
再然后用PC登陆192.168.1.1,设置breed里的信息,主要包括Mac地址和art上传,
之后找到可用的openwrt固件包,上传启动 ~
Orz,完全不能用。……
后来利用uart接收主板上的TP数据,发现启动linux内核时,内存不足,挂了。
按理说不应该的,网上说WR700N是2M ROM 16M RAM呀,应该可以啊……额,网上说??……起开内存上的贴签,发现这个货是8M内存。
所以……又要DIY改66pin的内存颗粒了??
好吧,暂且认为本次DIY完成,毕竟原始目标也就是换个大点的Flash。
换RAM的事情,就滚到下一期DIY再说吧。
总结了经验教训。第二天,楼主把另外一个路由的Flash给换了,很快就完成了。
恩,心情不错。