DIY 2015 年 1 月 23 日

为树莓派DIY一款高速稳定的无线网卡

本文介绍了作者通过将WR703N路由器刷上OpenWrt固件并设置为中继模式,然后将其连接到家庭的主路由器上,将树莓派通过有线连接到WR703N的方式,将WR703N变成了一块稳定的无线网卡。这种方法解决了树莓派使用无线网卡速度慢、稳定性差的问题,同时避免了使用有线连接时眼前绕着各种线的烦恼。文章介绍了实现原理,并附有网络拓扑图和使用的无线网卡型号。

说明

我的树莓派用作NAS+影音服务器,因为不想被网线束缚,所以树莓派是通过无线网卡连接家里的主路由WIFI来上网的,这样就可以把树莓派扔到冰箱顶上并保持24小时开机了。 可惜的是树莓派对无线网卡的支持似乎并不好,首先是速度慢,我的树莓派使用WIFI只有大约1.3M左右的读取速度和1M左右的写入速度;其次稳定性也没有想象中好,在这么慢的写入速度下有时速度会直达0然后WIFI掉线。 我尝试过4款不同的无线网卡,包括EP-N8508GS (8188ucs), 水星 MW150US (rtl8188eu), 磊科 NW367 (rtl8192CU)必联 BL-WN2210 (rtl8192cu). 每一款都有存在同样的问题。网上能找到的几乎所有方案,例如换电源、限制网速、关闭树莓派OTG芯片的Turbo模式…不稳定的现象依然存在。奇怪的是,测试发现树莓派的有线连接非常不仅稳定,而且速度也要好很多,峰值读取可达7M/S。但是因为不想看到眼前绕着各种线(强迫症伤不起…),所以宁愿忍受WIFI掉线也不想用有线连接。
wifi adapters
wifi adapters
就这样将就着用了几个月,期间虽然有无数次想把树莓派拍在墙上的冲动,不过由于树莓派躲在冰箱顶的角落而幸运的躲过一次次的劫难…最近新换了个主路由器,看着淘汰下来的WR703N,突然灵光一现,这个路由器不就是块无线网卡吗?而且是专业的!稳定性和速度都应该不错!

原理

WR703N路由器刷OpenWrt固件后具有中继模式,简单地说,就是将路由器当成无线基站,接收上级路由的WIFI信号,然后将上级路由的网络通过有线或WIFI分享给其他设备。所以我们可以使用WR703N连接上级路由的WIFI,树莓派连上WR703N的有线接口,从而建立树莓派和上级路由的连接。相当于WR703N变成了一块无线网卡。而对于树莓派来说,因为它是通过有线网口和WR703N连接的,不会出现使用无线网卡时不稳定的情况。网络拓扑图如下:
wifi adapters
wifi adapters
我的主路由内网为10.1.1.x,电脑、手机、IPAD等设备通过WIFI直接连到主路由,WR703N首先通过WIFI连接到主路由,然后通过有线将网络桥接到树莓派。无线路由器可以使用中继桥接两种模式来实现连接,我使用的是桥接模式,以保证所有设备都处于同一个网段,这样可以完美支持minidlna等upnp程序。

硬件连接

我的树莓派和外设是通过大量的螺丝和穿孔固定在一块基板上的,所以只要将WR703N也作为一个外设固定上去就行了。
  • 这是没有外设的样子: raspberry_pi_board_1

  • WR703N和飚王的Hub固定,通过树莓派的USB接口直接驱动两块U盘、一个音响和一个路由器,谁说树莓派U口的驱动能力低的? router_and_hub

  • 组合一下,DIY的那根黑色USB线内部集成了一颗PL2303芯片,连接后树莓派可以通过串口调试WR703N。 all_in_1

  • 上电开机,当然,上电之前经历了艰苦卓绝的调试。 all_in_1

测试

安装完成之后做了些简单的测试,这款DIY的树莓派无线网卡速度和稳定性完全符合我的预期!下面是一些测试结果:
  1. Samba读取速度为3.5~4.5 M/S. samba_read

  2. Samba写入速度为3~3.3M/S. samba_write

  3. 频繁通过Samba读写树莓派上的文件,在读取8G,写入5G的数据之后没有出现死机卡死的情况。 samba_write

总结

从上面的测试结果和我几天的使用情况看来,这款DIY的树莓派无线网卡拥有非常可观的速度和稳定性,可以无视市面上大部分无线网卡了。 在调试这款网卡时花了不少时间,无数次想Knock my head against the wall.我会将调试过程和遇到的问题记录在另一篇文章。