找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 21434|回复: 51

Microsoft MN-700刷DD-WRT记

[复制链接]
手头的路由是微软的MN-700,其Firmware是基于WinCE的,这个Firmware继承了Windows家族一向来的特点:不稳定!

具体的表现在于使用P2P程序的时候路由经常失去响应,必须要重新启动才可以;试过把Firmware升级到最新的2.2.0,没有改善,该死机还照死。

在网上查阅了一番之后,发现MN-700在硬件上实际上是基于ASUS WL-500G的,使用的也是Broadcom的芯片,DD-WRT的当前版本已经完美支持MN-700了,于是开始阅读相关资料,开始动手。

网上找到的主要的参考资料:
1. Hacking the Microsoft MN-700 - liamm.com 这位老大似乎是第一位Hack掉MN-700的,后来者都是参考他的向导完成的;
2. Microsoft MN-700 firmware hack Liamm的向导的改进版,改为使用ASUS Firmware Restoration Utility来完成最后的刷ROM操作;
3. Microsoft MN700 hack project 这个是关于Hack MN-700的最详细的参考资料,几乎所有的问题在这个帖子里面都有过讨论;如果事先耐心地把这个帖子读完,我会少走很多弯路的;
4. MN-700 in DD-WRT Wiki DD-WRT 关于 MN-700的官方资料,对于怎样刷DD-WRT 和 MN-700的Firmware的各种状态有详细的讨论;

预先的准备:
1. 软件方面的准备:
1) WRT54G的JTAG软件
Linux版:wrt54g.zip
Windows版:wrtjtag-modified.zip(基于WRT54G Debrick Utility v2.2修改得到的版本,支持MN-700)
2) 一台安装了Linux的电脑(用虚拟机也可以,用来运行nvserial生成自己的Bootloader);
3) 用于引导Linux的Bootloader的CFE和配置模板(从这里或这里下载)
4) nvserial (从openWRT的网页下载,这个程序只能在Linux下运行过,用于根据配置模板生成你自己的CFE);
5) ASUS Firmware Restoration Utilities(从这里下载,用于在刷了Bootloader以后刷DD-WRT);
6) DD-WRT Firmware(到DD-WRT的官方网站下载;注意DD-WRT从v23 SP2之后的SVN 3953之后才支持MN-700,请不要下载老版本,否则会变砖的;我用的是v24 rc5,没有遇上过什么问题;在v24 rc6之后,DD-WRT有了专门针对MN-700的版本,不过我没有试过)

2. 硬件和工具方面的准备:
1) 微软MN-700无线路由器(废话...)
2) 十字螺丝刀;
3) 电烙铁;
4) 并口接头一个(1块钱);
5) 100欧姆电阻4个(我买的是0.5瓦的,0.2元一个,实际估计0.25瓦的就可以了;电阻和并口接头在电子市场都可以买到);
6) 万用表(用于检测你焊的JTAG线是否正确)
7) 小刀一把(用于拆透明盖、撬胶垫,薄一些,细长一点,强度高一些比较好,水果刀就不错——废话真多:-P);


读过这些帖子,我开始动手。

首先是准备自己的Bootloader;
在上面提供的Bootloader模板中是没有Mac地址的,准备自己的Bootloader的过程其实就是使用nvserial把Bootloader中的Mac地址修改为你自己的Mac地址(MN-700的Mac地址可以在外壳上找到)。
方法:
1. 把Bootloader模板解压缩到一个目录,修改其中的mn700.txt,把里面的@Mac@修改成你自己的Mac地址(注意有两处要修改),Mac地址可以在MN-700的外壳上找到,修改的时候注意要改成00:0D:3A:...的形式;
2. 在Linux下运行如下命令行:./nvserial -i mn700.bin -o cfe.bin mn700.txt
3. 在当前目录下生成的cfe.bin就是你自己的Bootloader了;

很晕,是不是?没办法,这个操作只能在Linux下完成;我找到过一个一个WrtCfe.exe,可以用来修改WRT54G的CFE中的Mac地址,但是这个工具无法识别上面这个BIN文件,最后只好用虚拟机完成了这一步操作;生成的CFE.BIN除了Mac地址不一样以外,还有一个字节不一样,估计是校验码,因此也没办法通过在Windows下用二进制修改工具修改得到。

制作JTAG线;
JTAG的图纸见附件
按照编号用导线把对应的针脚连接起来就可以了,注意主板上JTAG的2、4、6、8、10、12几个孔实际上是连接在一起的,实际操作中只要连接一个焊点就可以了。

JTAG线的制作很简单,把四个100欧姆电阻焊到并口接头的对应针脚上就可以了,然后把串口上17~25的针脚连接起来,最后焊上5根导线就可以了;上面的几个帖子谈到线的长度建议不要超过20厘米,我的线大概是15厘米左右;

拆开MN-700
MN-700的Bootloader不支持Linux,因此需要先刷成可以引导Linux版Firmware的Bootloader;而刷Bootloader必须用JTAG线连接主板操作,所以第一步是打开MN-700。
先把指示灯部分的透明盖拆下来,拆的时候用小刀按卡扣的锁定方向稍微用力撬一下就可以了,至于卡扣的方向,可以参考附件中透明盖的照片,注意红色方框里面的两个卡扣。

MN-700的上下两部分外壳用四个螺丝固定在一起,这四个螺丝就藏在底部的胶垫下面,用小刀把4个胶垫撬开,拧开螺丝就可以了;

MN-700的天线很奇怪,似乎是头一次看到这种形式:一根外部天线,一根内部天线?据网上看到的说法这是为了保证信号的平衡,不知道是不是真的。

JTAG接口在电路板的右下角,左边两排共12根线就是JTAG接口,右上角是编号为1的线。

做得很有点偷工减料的感觉,连插针都没有焊上;我本来想自己焊一排插针,结果发现针孔已经被焊锡堵死了,手头没有吸锡器,只好作罢,直接把JTAG线焊到电路板上了。

刷CFE(最重要也是最困难的一步
再检查一遍,确定接线没有错误,把JTAG线插到电脑的串口上,给MN-700通电,解压缩wrtjtag-modified.zip到一个目录(我解压到了D:\Router\Wrtjtag下了),把在Linux下得到的CFE.BIN文件复制到该目录;然后打开一个命令行窗口,切换到wrtjtag- modified.zip解压后的目录,运行如下的命令把Bootloader刷到MN-700的CFE:
  1. wrtjtag-modified.exe -flash:cfe /noreset
复制代码


注意!大多数资料中都没有提到这是MN-700 Hack过程中最为重要也是最为困难的一步——除了 Microsoft MN700 hack project那个帖子在第11页还是12页有人说到了这一点;

并口写入的速度很慢,256k的CFE写入需要大约40分钟,请耐心等待;

写入的CFE必须保证和CFE.BIN文件是一致的(这个一致要求是高度一致,一个字节都不能差),实际写入的时候很容易出错,似乎写入过程中没有进行数据校验;因此只能自己手工来校验了:在刷入后运行如下命令,将写入的CFE再备份出来,和CFE.BIN进行比较:
  1. wrtjtag-modified.exe -backup:cfe
复制代码


这个命令将生成一个备份文件,文件名的形式是CFE.BIN.SAVED_yyyyMMdd_hhmmss(其中yyyyMMdd_hhmmss是开始备份的日期和时间),可以使用各种文件备份工具对备份文件和CFE.BIN进行比较;比较工具很多,最简单的是Windows下的fc.exe文件,使用方法是在命令行下进行比较:
  1. fc.exe CFE.BIN CFE.BIN.SAVED_yyyyMMdd_hhmmss
复制代码


如果得到如下的提示,就说明写入的结果和CFE.BIN是一模一样的:
Comparing files CFE.BIN and CFE.BIN.SAVED_YYYYMMDD_HHMMSS
FC: no differences encountered


另外一种办法是对两个文件计算MD5值,如果MD5值完全一样,那么就说明文件是完全一样的。

如果不一致也不是什么大问题,重新运行刷新命令再来一次就可以了。

我开始是把JTAG线连在我的HP nc6320笔记本上刷CFE的,花了两天时间刷了七八遍都不成功,经常刷到30%~40%的时候就不动了,然后就一直不动弹,有两次甚至到了98%的时候停止了;唯一完全刷完的两次在备份后发现都有差别,让我很郁闷;最后没办法,换到家里的台式机上刷入,在刷了两次以后成功。

在Microsoft MN700 hack project这个帖子里有人讨论过刷新停止的情况,认为是在刷新过程中Firmware中的程序有动作,导致刷新失败,解决的办法是先删除CFE,然后重启路由器,这时候由于CFE是空白的,因此不会有什么程序运行导致干扰,这种情况就可以成功地刷新了;我没有试过这种方法,如果大家在刷入时发生类似的情况,可以试试看是否可行。

删除CFE的方法是在命令行运行如下命令:
  1. wrtjtag-modified.exe -erase:cfe
复制代码


好了,刷完CFE以后工作几乎就可以说完成了一大半了;剩下的刷DD-WRT就非常简单了;

个人建议在继续下面的操作之前,先运行以下命令清除NVRAM(似乎作用就是清除所有设置,和长按Reset效果相同?):
wrtjtat-modified.exe -erase:nvram

刷DD-WRT
安装Asus Firmware Restoration Tool,把电脑的IP地址设成192.168.1.x(x可以是2~255之间的任意整数),安装完成后用网线连接电脑和MN-700的任意一个LAN 口,给MN-700断电,然后按住Reset按钮不放,通电,大约10到20秒钟后,MN-700的电源灯会在桔黄色和绿色之间闪烁,这时候表明路由进入了固件恢复模式(Firmware Restoration Mode)了,这时运行Firmware Restoration Utility,选择下载下来的DD-WRT Firmware文件,点击Upload,等待操作完成,DD-WRT就刷新成功了!

给MN-700断电再通电以重启,试试能否在IE中打开http://192.168.1.1,如果一切正常,那么就可以看到可爱的DD-WRT的界面了!至于DD-WRT的设置,我就不在这里废话了,打击自己查找资料就可以了。

DD-WRT体验及其他
刷了DD-WRT以后,现在eMule下载的速度一直很稳定地保持在60~70k(我用的是512k的ADSL),连续下载了两天,路由一点问题都没有,完全可以说DD-WRT给了MN-700第二次生命。

现在把MN-700刷成了Tomato 1.13,也很稳定(刷成Tomato不是对DD-WRT有什么不满,只是想都试试),Tomato在文档中没有提到能支持MN-700,但是我直接刷上去之后除了电源灯不亮,Administration下的Buttons / LED功能不支持以外,没有发现有什么问题,也很稳定。

[ 本帖最后由 NetCobra 于 2008-1-7 13:59 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.

偷偷的问:

>>>..............................
>>>方法:
>>>1. 把Bootloader模板解压缩到一个目录,修改其中的mn700.txt,把里面的@Mac@修改成你自己的Mac地址(注意有两处要修改),Mac地址可以在MN-700的外壳上找到,修改的时候注意要改成00:0D:3A:...的形式;
>>>2. 在Linux下运行如下命令行:./nvserial -i mn700.bin -o cfe.bin mn700.txt
>>>3. 在当前目录下生成的cfe.bin就是你自己的Bootloader了;

这个东西 可以修改 WHR-HP-G54的 CFE 吗?
一定要在 Linux下运行 ? DD-WRT 或 TOMATO 里面 行不行

谢谢@
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

强人!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
把图贴上去了,并且重新排了版

原帖由 a9988cd 于 2008-1-7 00:45 发表
>>>..............................
>>>方法:
>>>1. 把Bootloader模板解压缩到一个目录,修改其中的mn700.txt,把里面的@Mac@修改成你自己的Mac地址(注意有两处要修改),Mac地址可以在MN-700的外壳上找到, ...


没有关于这个程序的说明信息,不清楚这个能不能修改别的路由的CFE,也不清楚在Tomato或者DD-WRT内部运行,不过我想Tomato和DD-WRT既然都是Linux,运行起来应该是没有问题的。
建议你试一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

我的MN500能不能刷呢,高手们
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
原帖由 alannnnn 于 2008-1-7 13:18 发表
我的MN500能不能刷呢,高手们

目前看到的资料是不行;在 Microsoft MN700 hack project这个帖子里面有人讨论过是不可以的。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

你好,我也有个MN 700 的确非常的不稳定,但是我真的是个菜鸟,Linux基本没有接触过,能否帮我修改个文件?谢谢你。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

我也同样是MN-700,现在让我改成FR40(迅捷)+MN700
用的前者的路由功能,后者的无线功能,也不知道是不是我的MN700坏了,经过PPPOE拨号之后下载速度由以前500-700K/S降成了300K/S,PING一个稍微大一点的数据包,还经常丢包,现在看到这个贴太好了,我也可以试一下,谢谢楼上的朋友,另外,楼主能不能留下个QQ,交流一下,谢谢!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

不知道这个机器的CPU 内存 ROM是多少 硬件强不强
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

好奇,同样关心CPU、内存、ROM
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

请教楼主,哪里得到Bootloader模板,怎么用Bootloader模板得到mn700.txt!
谢谢!




自己找到了在这里

[ 本帖最后由 jssr71ok 于 2008-2-23 00:00 编辑 ]
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

原帖由 jssr71ok 于 2008-2-22 23:14 发表
请教楼主,哪里得到Bootloader模板,怎么用Bootloader模板得到mn700.txt!
谢谢!



自己找到了在这里


楼上的朋友,能不能给个QQ我也在家里改这个路由,一起交流一下,谢谢!

QQ 13236755 请注明MN-700

另外,你给的MN700.TXT那个地址不能正常连接,不能下载.

[ 本帖最后由 幽忧 于 2008-2-24 13:24 编辑 ]
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

在jssr71ok朋友的帮助之下,我的MN700刷成功了,再次表示感谢jssr71ok

望好人一生平安幸福快乐!!!!!!

[ 本帖最后由 幽忧 于 2008-2-26 16:55 编辑 ]
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

第二次的青春。。。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

第二次的青春。。。。。607K/S

[ 本帖最后由 幽忧 于 2008-2-27 12:44 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 18:15

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表