第二期 开发板选型 《路由器就是开发板》

        首先说明一下我为什么要用路由器作开发板。
        第一,路由器是一件成熟的商品,它经历了厂商和消费者的考验,其设计肯定是相对成熟的,我们用它作开发板是在这个路由器经历了完整的产业链流程最终到达消费者手里之后,这样我们可以从很多确定的东西里回顾式的分析,回顾式的分析有时候是站在巨人的肩膀上,可以学到很多细节。
        第二,我们的目的是为了学习,而不是商业开发,所以没必要找一些芯片厂商刚推到市场上的解决方案来做开发,我们不是为了抢占市场,我们是要通过成熟的产品学习这里面的原理,创新的日子在后面呢,先把基础打牢。
        第三,如果你是个人爱好者,想从厂商那里拿到芯片的DemoBoard是很难得,而通过某些个人和小组织推出的开发板又往往存在稳定性的风险,因为PCB的绘制细节需要很深的功底,开发板的测试肯定没有已经商品化的路由器做的彻底,稳定度和抗折磨度当然也没有路由器好。
        第四,我们谈一下"兴奋点"这个有意思的概念,在计算机领域,"逆向"是一个非常有吸引力的词,有些时候,当资料和文档都很全的情况下,我们容易产生惰性,因为这里面缺少一点未知的东西。而当我们通过一些逆向的分析来解决某个疑问并通过实验验证时,经历了一个非常有成就感的过程,这也是Geek思想的一小部分。用路由器当开发板恰好就是这么一个过程。当我们逆向验证了某个设计者没有明确公布的信息,就会产生兴奋点,这对继续深入学习是一个极好的反馈。
        综上所述,我产生了《路由器就是开发板》这个想法。
        我们所有的操作都需要一个开发板作为实体,首先我们的思路是找一台最适合的路由器作为我们的开发板,通过对它的调试来了解无线路由器的工作原理,并在这之上改造出我们想要的功能。针对路由器的选型我足足选了一个星期,最后经验证明有时候往往第一眼相中的东西就是你想要的,最后我选择了华为的HG255d作为开发板来使用,接下来我利用一点篇幅来说明一下选择HG255d的原因。
        我们生活在一个基于协作的时代,一件适应市场的产品拿到我们手里一定经历了一套完整的产业链条,这条链上的任意一点都对它发挥了至关重要的作用,少了谁都不行,只是每个点间的衔接和利润的划分是一个内部博弈和外部拉动的结果,这个就在题外啦,我们手里拿到的路由器算是一件电子产品,电子产业发展到现在已经有了一个相对稳定的产业链,下图是借用elecfans.com上的一张图来大略描述一下这个产业的基本结构。


        当然,这个产业链中的每个点也不一定是链条式排布,也会是横向布局的,比如在IP vender层面上一个厂商的IP可能调用另一个厂商的IP;ODM那里,一个库会调用另一个库;大家彼此合作最终实现商品,直到最后被我们稳定使用,它的价值才得到完整的体现。
        说了一堆废话,目前在家用无线路由市场上,基于芯片的解决方案的厂家比较成熟的有4家:
        1.Atheros(被Qualcomm收购)  
        2.Broadcom
        3.Ralink(被MediaTek收购)
        4.RealTek
        这几家都有针对家用无线路由器的解决方案,比如Atheros的AR7130,Broadcom的BCM6366,Ralink的RT3052,RealTek的RTL8672,这些芯片方案各有自己的优缺点,也通过自己的渠道细分着家用路由的市场。当然出于拿路由器当开发板的目的,我最关心的是以上这四家芯片商针对下游厂商所提供的SDK(Software Develop Kit)或者BSP(Board Support Package)是否能完整的在互联网上下载到,因为这些东西是否公开完全由芯片商的运作机制决定的,说高了是商业机密,说低了是开源共享,这个要看各厂商的态度。Atheros的SDK部分通过TP-LINK的GPL网站可以下载到一部分,Broadcom的SDK可以通过华硕路由器的开源固件下载到一部分,RealTek没有成熟的无线产品可参考,最后,我在互联网上只找到了Ralink的SDK,所以其他芯片的解决方案的路由器我们就不考虑了。
选定芯片厂商后,就是确定芯片,按Ralink无线SOC推出的时间排无线路由的芯片有RT2880,RT3052,RT3883,RT5350,RT6855,MT7620,MT7621,MT7628,这里面太往前的可能已经落伍,太往后的可能没有太普及的产品,所以在RT3052和RT5350里面选择。
        确定芯片后在要确定路由器是否被OpenWrt官方支持http://wiki.openwrt.org/toh/start 在这里面进行路由器型号的选择,选择的原则是:
        1.接口方面,支持JTAG,TTL,USB;
        2.产品成熟度好,普及度高,流通性强,价格便宜;
        3.互联网上资料丰富,论坛里拿该型号路由器为话题的比较多;
        4.产品相对上游芯片商的解决方案修改不大,便于通过上游SDK进行调试;
通过对TP-Link,D-Link,Netcore,Tenda等品牌的产品对比后,最终选择了华为的HG255d,它符合我上面的各种要求,真的好开心,但是它有一个唯一的缺点——JTAG需要自己飞线,这个问题的解决方法我们后文再说。
来看一下华为HG255d的参数:
ModelCPURamFlashNetworkUSBSerialJTag
HG255DRalink RT3052@384Mhz32MiB16MiB1xWAN 4xLANYesYesYes
        中规中矩,正是我想要的,而且拓展能力很大。产品的命名中HG代表 Home Gateway 家用网关的意思,中国电信的所有家庭终端都沿用这种命名方式,其它品牌,比如华为,中兴,烽火,贝尔,都有针对中国电信推出的HG系列的产品。
        贴一张HG255d的靓照,在某宝上20RMB左右就能入手一个,只要我们稍作修改,它将变成世界上最便宜的无线路由学习型开发板。


相关推荐
欢迎使用全球首款能接网卡的智能路由-荣欣路由,一直被模仿,从未被超越,请记住:荣欣科技 =========================================================================================================== 荣欣系统目前分为两个版本,M1系列和M2系列,不是M2就比M1新。 M2.2.9 加入迅雷远程下载,手机可以下载客户端远程查看迅雷列表 M1.2.4 加入迅雷远程下载,手机可以下载客户端远程查看迅雷列表 M2.2.6 1.解决旧款路由刷上系统之后,有线获取不了IP的问题。 2.重新添加多无线管理。 3.重新添加智能中继。 M2.2.5 1.根据5代和6代开发,把网口的序列纠正,1-4代的顾客请注意了,你们的lan1和wan口有可能是反过来的。 M2.2.4 1.更新新内核 2.加入原厂rtl8188ru驱动 3.更新NTFS新驱动,使用NTFS格式的顾客可以,吞吐量很惊人。 =========================================================================================================== M2.2.3 1.修复自身中继删除信号 2.加入自动识别硬盘,自动配置网络共享,直接打开我的电脑,在地址栏输入\\192.168.10.1即可访问移动储存设备。 M2.2.0 叠加软件加入全局开关,需要在多WAN负载均衡的配置哪里打开全局才会启动多WAN负载均衡 M1.2.1 叠加软件加入全局开关,需要在多WAN负载均衡的配置哪里打开全局才会启动多WAN负载均衡 M1.2.0 加入智能QOS和PPPOE服务器 M2.1.8 修复自身无线重启之后不能获取IP地址,更新无线中继智能控制脚本(待测试,不稳定的话就去掉,及时反馈) M2.1.6 修复了挂载RT3070网卡,修改了多WAN负载均衡的设置(请看新教程) M1.1.5 加入了M2.1.6的软件 M2.1.5 加入了叠加软件,广告过滤 M2.1.4 去掉刷机时默认保留配置,即刷机不保留配置,修复3070重新加信号需要删除wwan,无线驱动改用最新版本,可以当网卡 使用,也可以当AP,也可以当中继(当网卡用没有多无线控制) M1.1为新源码,主要特点有:防止系统恢复出厂无故丢失系统,无线自身网卡可当网卡使用(即不发射Ap),也能当中继使用, 但是路由必须接收到上一级信号,才会发射信号。主要解决问题:1.可能能减少无线的衰减 2.系统丢失 N2.8.1 添加了无线自身中继的多无线管理 N1.7.0 添加了无线自身中继的多无线管理 N2.8.0 修复多WIFI管理器的扫描信号,只适合3070网卡。使用方法:先接入一个信号,然后到wifi管理器加入3个信号,事实 上,路由一共可以加4个信号,第一次加进去的信号加入掉线,掉线之后会连接wifi管理器的无线信号①(首先连接),如此类 推。 N2.7.9 加入众多顾客要求的多wifi管理器,即一台路由输入多个无线在路由,并非同时连接多个信号,举个栗子:无线路由A 关闭了,路由会2分钟内自检,连接无线路由B,无线路由B连不上,会连接无线路由C。目前还不够完善,做不到自动连接信号 高的无线路由,有待完善,荣欣科技谢谢您的支持。 N2.7.8 为了自身的中继把无线300M下降到144M,兼容性更好,抗干扰更好,自身无线脚本自适应加密方式(解决获取IP但 是上不了网。)支持13频道,支持上级SSID空格。添加了打印机服务器。RT3070L,无线脚本自适应加密方式(解决获取IP 但是上不了网。)支持13频道,支持上级SSID空格。 N2.7.4 添加打印机服务器(成功运行),添加了无线叠加软件(测试中,可能需要更换),无线自身脚本稍微更改,N2的 系列的RT3070L脚本也更改了(可能会出现链接不上的情况,链接不上请使用N1系列),N1和N2系列均加了RTL8187驱动, 两个是不同的,请轮流测试。 =========================================================================================================== N1和N2主要的更新内容: N2系列 使用的是闭源的RT3070L驱动(性能比开源的要好)适合RT3070L、RT3072。适合连接家用的信号。 N1系列 使用的是开源的RT3070L驱动,适合RT2870,RT3070L,RT3072,具有无线信号绑定,即绑定一个信号点。 =========================================================================================================== 请支持正版,谢谢。
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页