2007.4.19 第一版
分析开源无线宽带路由器DD-WRT、OPEN-WRT,主要有下面几个目的:
学习、研究嵌入式 Linux 的好入口
网络底层功能(尤其是无线网络)实现参考,对开发产品参考借鉴作用很大
开发、测试网络应用软件的很好的平台(很多开源爱好者就开发了很多增值功能),比如可以实验各种流量分析、协议分析、p2p控制、QoS功能
一、来源 //参考《Cisco小失误,大麻烦》
Cisco / Linksys 在2003 年发行的WRT54G这款无线路由器非常“经典”。同年有好事者在 Linux Kernel Mailing List 搜索 WRT54G,发现它的IOS 是基于Linux,然而Linux 基于GPL 发布许可证,就是 GNU General Public License. 该许可证规定Cisco 应该把WRT54G 的IOS 的源代码公开。本来Cisco 拒绝公开源代码,最后,03 年三月份的时候,基于公众压力Linksys 公开了WRT54G 的源代码。
故事本来到这里就结束了,然而相反,结果越闹越大:有了源代码以后,开发者便清楚知道代码如何控制路由器的硬件,并且掌握了一些通过增加新的代码到原有的IOS 当中去 —— 使得硬件支持更多的Feature 的技术。这些开发者组成了一个项目开发团队,不断对原来的IOS 进行更新,编码,加入新的特性…… 现在他们手上的WRT54G 无线路由器的能力已经大大超过了原来Cisco 设计的地摊货的设计思路。不但如此,随着这两年互联网Web2.0 技术的发展,不同的开发团队之间找到了更好的协同工作平台,其规模不亚于TAC. 他们最近建立了一个DD-WRT 项目的Wiki 站点将全套文档以及代码公开发布。使用DD-WRT 项目提供的源代码,重新升级WRT54G 以后你就能够获得一台相当于$600 左右的中端无线路由器了。支持的特征集见附录二:
二、支持开源的无线路由器硬件平台
Linksys WRT54G/GS/GL (http://www.linksys.com/) 或其他基于Broadcom参考设计的802.11g无线路由器,具体参考 Supported Devices:http://www.dd-wrt.com/wiki/index.php/Supported_Devices
1,使用BoardCom芯片的基本都可以适用,但常见的Dlink、TpLink不是这种芯片。比较容易买到的有LinkSys、华硕、贝尔金(Belkin)、Buffalo(其WHR54也是常用平台,可惜是日货)、Motorola的Wr850g也有卖的(V2、V3配置和WRT54G差不多)。
2,以LinkSys WRT54G最为正宗。注意版本V1-V4是基于Linux的,可以刷OpenWRT等,主要只能在taobao上购买了,版本V5以上LinkSys都改为Vxworks操作系统,就不行了,作为替代,LinkSys发行基于Linux的WRT54GL,专门给发烧友玩的。WRT54GS,带speedboost功能的WRT54G,就是108MB。WRT54GL、WRT54GS都没在国内发售。
3,taobao上比较常见的是v1.x、v2.0和v2.2,都是二手货。见support device表,v2.2的配置比较高,Broadcom4702芯片,216MHz主频,4MB Flash,16MB RAM,大概接近¥300元。作为开发平台是不错的选择。
三、软件平台-firmware的版本
参考:
http://tonitu.bloggles.info/2006/12/16/linksys-%E5%92%8C-%E7%AC%AC%E4%B8%89%E6%96%B9-firmware/
大体上比较有名的有:
DD-WRT: 现在最红的。是个“杂种”,来自OpenWRT,融合更多功能的Alchemy(因此DD-WRT也有一些收费”趋向”, 主页上还有捆绑DDWRT收费版本(主要是增加一些流量控制功能)的Buffalo WHR54出售),支持最多的硬件平台。
Open-WRT: 也是非常流行。通过SSH配置,有点像Cisco。不过开发进度有点慢。OpenWRT的出发点不是在Cisco本身的Firmware上再开发的,而是从内核开始,制作各种软件,实现cisco的全功能,再添加其他功能,因此免费“趋向”强于DD-WRT。
HyperWRT Thibor15c: 稳定的第三方。非常接近于官方的Firmware。功能比DD和Svea少一些。Hyper有很多衍生版本。
Tomato: 听说非常稳定。基于SVG的图形化流量图非常有特色。Hyper的其中一个作者做的。
Sveasoft: Talisman firmware。老牌的第三方。有两个发行版:Talisman和Alchemy。
【注意】刷任何Firmware,都有失败的风险。Firmware失效,也许意味着你不能连接你的硬件了,这样就很难弥补过失了。这里是如何修复失败的硬件:The WRT54G Revival Guide,http://www.linksysinfo.org/forums/showthread.php?t=47259 。建议在刷Firmmware前,如果你只有一个router,那就先下载恢复文档或是打印出来。(1,reset router;2,使用factory setting,里面有个恢复默认设置并clear NVRAM。)
附一,各个版本的序列号:
CDF0 = WRT54G v1.0
CDF1 = WRT54G v1.0
CDF2 = WRT54G v1.1
CDF3 = WRT54G v1.1
CDF5 = WRT54G v2.0
CDF7 = WRT54G v2.2
CDF8 = WRT54G v3.0
CDF9 = WRT54G v3.1
CDFA = WRT54G v4.0
CDFB = WRT54G v5.0
CDFC = WRT54G v5.1
CDFD = WRT54G v6.0
CDFE = WRT54G v7.0
CL7A = WRT54GL v1.0
CL7B = WRT54GL v1.1
CGN0 = WRT54GS v1.0
CGN1 = WRT54GS v1.0
CGN2 = WRT54GS v1.1
CGN3 = WRT54GS v2.0
CGN4 = WRT54GS v2.1
CGN5 = WRT54GS v3.0
CGN6 = WRT54GS v4.0
CGN7 = WRT54GS v5.0
CGN8 = WRT54GS v5.1
CGN9 = WRT54GS v6.0
CJK0 = WRTSL54GS v1.0
附二、DD-WRT支持的特征集:
http://www.dd-wrt.com/wiki/index.php/%E4%BB%80%E4%B9%88%E6%98%AF_%22DD-WRT%22%3F#.E5.8A.9F.E8.83.BD.E5.88.97.E8.A1.A8
文章评论(0条评论)
登录后参与讨论