找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 21465|回复: 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 编辑 ]

本帖子中包含更多资源

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

×

偷偷的问:

>>>..............................
>>>方法:
>>>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 里面 行不行

谢谢@
回复

使用道具 举报

强人!
回复

使用道具 举报

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

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


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

使用道具 举报

我的MN500能不能刷呢,高手们
回复

使用道具 举报

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

目前看到的资料是不行;在 Microsoft MN700 hack project这个帖子里面有人讨论过是不可以的。
回复

使用道具 举报

你好,我也有个MN 700 的确非常的不稳定,但是我真的是个菜鸟,Linux基本没有接触过,能否帮我修改个文件?谢谢你。
回复

使用道具 举报

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

使用道具 举报

不知道这个机器的CPU 内存 ROM是多少 硬件强不强
回复

使用道具 举报

好奇,同样关心CPU、内存、ROM
回复

使用道具 举报

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




自己找到了在这里

[ 本帖最后由 jssr71ok 于 2008-2-23 00:00 编辑 ]
回复

使用道具 举报

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



自己找到了在这里


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

QQ 13236755 请注明MN-700

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

[ 本帖最后由 幽忧 于 2008-2-24 13:24 编辑 ]
回复

使用道具 举报

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

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

[ 本帖最后由 幽忧 于 2008-2-26 16:55 编辑 ]
回复

使用道具 举报

第二次的青春。。。。。
回复

使用道具 举报

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

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

本帖子中包含更多资源

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

×
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-17 08:10

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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