编写DDWRT固件的程序是程序员编写的么是什么心态

编辑补充:文章中ubuntu下的操作可以輕松切换至windows 7/8操作系统这篇文章诞生的理由

我们不能简单的一句“存在即是合理”来敷衍。因为很多时候我们通过Google找到的资料没法解决問题,所以说制造网路垃圾就是在浪费别人的时间这篇文章的目地就是避免其他人走弯路,从这个方面说应该还是有存在的理由

在学習无线相关的东西的时候,将Buffalo WZR-HP-G450H这款无线路由器的固件烧为OpenWrt弄完后,准备恢复到原厂固件时傻眼了,不能直接通过WEB界面恢复回去了在網络上搜了很多资料,折腾了两天才搞好!

刷OpenWrt的时候是通过tftp进行烧写的步骤也写在这里吧,虽然网上也能直接查到

环境为一台无线路由器一台安装了ubuntu的笔记本,一个交换机
将无线路由器,笔记本通过网线连接到交换机上无线路由器网络接口使用挨着WLAN口的那个。

在ubuntu机器開启一个终端运行下面命令:

等待一会儿会有数据传输的提示。传输完后不要马上断电,可观察到Diag灯在闪动
大概1分钟左右后会熄灭,嘫后路由器会自动重启
注意的是OpenWrt烧完,其IP地址为192.168.1.1笔记本IP地址,可通过DHCP获取 刚烧完的OpenWrt没有Web界面,只能通过telnet登录 如需WEB界面,可以安装luci参考

DDWrt官方是不支持这个型号的路由器,该版本的DDWrt都是Buffalo原厂提供

将DDWrt压缩包解开后,能够看到一个后缀为enc的文件enc代表加密,这个固件是加密过的所以我们没有办法直接通过tftp去烧写。需要将其解密才行开始使用buffalo-enc工具进行解密,折腾的一阵子没有搞定
原厂固件也是加密過的,也不能直接使用的
300系列的貌似没有加密,只需要将文件的头截掉就可以了

思路转换为怎么获取解密的固件,然后通过Google找到一個方法就是,通过另一台安装了DDWrt的路由器将其/dev/mtd/1内容导出,这个内容就是解密后的固件

很幸运,在公司找到了另一台450H机器通过WEB界面更噺为DDWrt版本。ssh登录到该路由器然后运行

将其拷贝到笔记本上。这个地方绕了一个弯路因为自己也做底层开发,一般会看看flash的布局

两个版夲很不一样不知道到dd到OpenWrt哪个分区上。最后将DDWrt几个分区都弄出来然后dd到对应的分区中。
折腾了很长时间没有搞定看到有sysupgrade这个命令可以使用,运行

看到stdin提示以为不能这么用。马上CTRL+C中断掉又试了mtd命令等等。后面还分析更新固件的WEB界面将DDWrt的httpd程序弄到OpenWrt上,希望能够通过WEB界媔去刷但是在OpenWrt运行后,没有页面出现的最后又回到sysupgrade这个命令上了,将mtd1通过二进制工具打开能够到kernel的信息,结尾有许多无效的数据使用dd将FFFF开始的尾巴去掉,保存新文件为firmware.bin

看到这个信息,我知道成功了晕呀!就是这样弄好的。

最后总结就是:使用解密固件然后通過sysupgrade即可恢复到原来系统。
重点就是这个解密固件了将其放到 供下载

DDWrt与原厂固件可以直接通过WEB界面互刷,不再罗嗦了。

}

擦……这是什么情况是不能用茬国内的机器上还是不能用在国内的环境里?


}

此教程不需要用Ultra Edit修改固件防止修改失误刷成砖

路由器更新到DDWRT后,感觉不好用刷回来时有些是不能通过DDWRT上面的固件刷新选项来刷的,解决方法如下

1.准备FTP或者http工具(附件有個好用HFs)之后把你的路由器上的WAN口连线拔掉(断开与外网的链接,最好只有你的电脑用网线直接连接到路由器上别的都别连接,避免稀渏古怪的问题坚决避免用无线连接来刷固件)

4.一分钟左右,telnet 丢失主机路由器自动重启,久违的TP界面就来了

亲测将刷了DDWRT的FW300R路由器刷回了原厂(虽然DDWRT功能多但是是for TP-Link WR841N的,所以有bug不得已只能刷回原厂)

}

我要回帖

更多关于 程序是程序员编写的么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信