SuperWRT v0.6.1发布,加入创新的WiFi Buddy自组网技术

在沉默了一个多月后,SuperWRT迎来了新版本v0.6.1。在此版本中,主要增加了SuperWRT创新研发的WiFi Buddy技术,实现自组网功能。

可参考目前市场上对比的产品是:Netgear Orbi、Ubnt Amplifi Mesh、MikroTik HWMP Mesh。

WiFi Buddy是我们根据常见的几种需要自组网的场景,而设计的一种更贴近实际需求的自组网技术。WiFi Buddy具有以下技术特点:

  1. 主要满足拓扑变化比较慢的场景使用。主要用于有线单点故障自愈,无线组网回传。(如需要快速拓扑适应,可使用我们Mesh版本。)
  2. 支持复杂组网,可用于VLAN透传,实现多SSID网络。
  3. 充分考虑稳定性、可靠性、兼容性的要求,减少实现复杂度。
  4. 减少协议开销,提高转发效率。
  5. 可充分利用多频设备,及有线和无线混合跳跃转发。尽量利用不同频率来提高整体转发带宽,减少延迟。

WiFi Buddy区别常见的Mesh实现,如802.11s及各种基于adhoc的Mesh。该类型的Mesh协议开销比较大,对于CPU的消耗也比较大,同时,对于多频设备也无法错开频率。所以上,上述类型Mesh一般的带宽都比较小,但对拓扑变化适应快,适合一种些特殊应用使用。

WiFi Buddy也区别于近期一些厂家推出的家用Mesh技术,比较有代表性的就是高通的WiFi Son。以高通的WiFi Son为例,该实现以一个单独的160M频宽11AC作为回传链路,专门用于主设备与子设备数据连接,再以通常用另外的一个2.4G和5G作为覆盖(IPQ4019的方案)。上述方案硬件成本很高,同时对多VLAN实现的多SSID网络不是很友好,而且无线回传是固定设置的。

WiFi Buddy技术主要应用于以下几个场景:

  • 对有线AP进行无线冗余连接备份

在一般场景中,会选择使用有线连接所有AP,来保证无线网络的带宽及使用效果。但实际应用中,可能因为网口松动、现场施工、自然灾害等原因,导致个别AP有线无法连通。这时,通过使用WiFi Buddy来解决该问题。

 

wifi_buddy_wirebackup首先在布网时,打开WiFi Buddy功能。WiFi Buddy会监控所有接口,发现有线网络通时,将不进行无线之间互连。一旦WiFi Buddy功能监控到有线网络断开时,将自动连接到附近信号较好的AP上,从而减少了网络故障时间。

  • 无线数据回传

在某些场景中,不方便使用有线连接AP,此时,可以使用WiFi Buddy实现无线链路上连。相对传统使用WDS的网桥方式,WiFi Buddy技术可以保证当前上连AP故障时,自动切换到其它AP。当某些设备与AP直接通信信号不好时,也可以使用临近AP进行中继。

wifi_buddy_wirelesslink

  • 双频及多频设备无线组网

对于双频或多频设备,使用WiFi Buddy时,会自动根据链路情况,选择下一跳使用同频还是异频。一般在环境允许情况下,会尽量使用异频,从而有效提高整体带宽。

wifi_buddy_multirf

  • 终端设备漫游切换

使用WiFi Buddy的Fast版本(开发中),可以实现单节点设备的快速漫游,从而满足一些移动数据场景的需求。

wifi_buddy_fastroaming

WiFi Buddy的配置使用:

将所有需要组网的设备,在无线设备中打开WiFi  Buddy功能,并设置相同的用户名和密码,网络中至少有一个设备需勾选“无线伙伴网关”选项。将希望使用WiFi Buddy射频,打开WiFi Buddy的“加入”选项,即可进行自组网。注意:如果网络中没有设备打开“无线伙伴网关”选项,已经完成组网的设备仍会周期性进行切换信道的扫描,将造成连接终端周期性丢包。

wifi_buddy_config wifi_buddy_status

目前,发布WiFi Buddy功能仍处于测试阶段,仅在std版本中提供,欢迎进行问题反馈。

在本次发布的v0.6.1中,还增加了以下功能:

  1. 在std版本中,加入静态路由、静态域名地址功能。
  2. 在tiny版本中,去掉无线高并发功能以节省空间。
  3. 增加AR9331支持。

并且解决了以下Bug:

  1. 在上一个std版本中,5G不能使用DFS信道问题。
  2. 修复无线高并发中的一些小Bug。
  3. 修复一些Web界面显示的小Bug。

关于SuperWRT的付费特性及SSID广告问题,仍然要再说明一次。我们一直坚持基础特性,及家用场景免费。一些限制(或者被称为恶心人的地方)主要也是针对可能的商业使用,及其它某些盈利使用方式。我们不会做采集用户信息等一些隐蔽的、损害用户的获利方式,即使SuperWRT自身的SSID广告也是可以自行选择开关的,而且是默认关闭的。我们希望为支持我们的用户提供更好的系统,但我们不是圣母或非盈利性组织,也没有人给我们捐赠,我们也希望获取一定的商业价值,将事情长期做下去,并且做更多更好用的技术。再次对一直以来支持我们的用户表示衷心的感谢,谢谢!

SuperWRT v0.2.8发布,增加Std版本,支持Station模式及11AC

SuperWRT v0.2.8于2016年11月29日发布。本次发布,增加了Std版本,在Std版本中增加以下主要功能:

  1. Station模式。可以使用Wisp方式连接其它无线上网。
  2. 无线AP扫描功能。
  3. 增加11AC支持。目前支持高通的11ac wave1标准系列芯片(qca98xx)。
  4. 增加WPS虚拟按钮功能。
  5. 在PC上远程抓取及发送设备无线报文调试功能,用于无线问题收集。

 

v0.2.8相对于v0.2.6进行了以下变动:

  1. 加入NTP时间同步方式。在于SuperWRT官方服务器获取时间失败后,尝试使用NTP获取。
  2. 优化了网页加载速度,及网页缓存时间过长问题。
  3. 加入无线的WDS配置。
  4. PPPoE在未变更配置时,不重新拨号,以解决部分地区运营商对重拨时间限制的问题。
  5. 优化智能流整形在大内存设备中的表现,解决之前版本导致迅雷下载速度不稳定的问题,优化其它用户ping时延。(v0.2.8的接口下行限速暂不生效,待下个版本完善。)
  6. 解决配置变更时,或一些特殊场景下,设备偶尔异常重启的问题。
  7. 解决无线高并发之前版本中的一些Bug。

 

Std版本增加了Station功能。我们调查了用户在其它系统中抱怨的问题,优化了我们的功能实现。主要体现如下:

  1. 当在一个射频同时开启了AP与Station时,只要配置为自动信道,当Station获取连接后,AP就会根据Station的信道,自动更改其工作信道。(注意:目前配自动信道,如果添加了多个AP,在Station切换信道后,会只有一个工作。)
  2. 在Station未关联到上级AP时,设备的AP仍可以正常工作,以方便用户连接管理。但由于Station在后台会周期性切换到其它信道进行扫描,可能AP会偶尔延迟比较大,但不影响管理功能。在Station未连接时,AP不会跟随Station变更信道。
  3. 可以设置Station绑定的BSSID,以方便用户限制Station连接指定的设备。
  4. 在Station中,可以设置多个备选SSID。当主SSID无法连接时,Station可以自动连接其它备选的SSID,以保证网络正常工作。
  5. 无线高并发特性针对Station模式进行了优化。需要License才可以在终端模式中使用无线高并发(只要不打开无线高并发,终端模式是无限制使用的),但您仍可以打开全许可证测试,以获取每次启动后15分钟的测试时间。

 

Std版本增加了对11AC的支持,但目前11AC的无线高并发优化仍在开发中,所以,暂时无法在11AC中使用我们的无线高并发优化。

随SuperWRT v0.2.8,更新了bootloader版本1.2.5。

  1. 解决有时UID生成错误的问题(与系统不一致)。
  2. 解决WAN口下载版本时,解析DNS处理CNAME的问题。

改善WiFi同频干扰,提高并发用户数量,SuperWRT v0.2版本全面提升

在常见的WiFi使用场景中,有几个困扰用户比较多的问题:

  • 周边有很多WiFi设备时,造成同频干扰;
  • 当用户数量增大时,整体流量下限明显,卡顿增加;
  • 当距离设备较远时,能连上,但时常卡顿。

即将发布的SuperWRT v0.2版本,正式合入我们的开发团队潜心研发WiFi优化技术,能够明显改善上述问题。

今天我们以Ruckus的设备作为对比对象来进行一下测试,测试在普通设备上使用SuperWRT系统,将如何改善设备的WiFi性能。之所以选用Ruckus作为对比对象,是因为其WiFi设备中实现了智能天线技术,在WiFi设备厂商中还是十分优秀的,大量用于高端酒店等重要场所,在行业内有很好的口碑。

我们选用了Ruckus的R300作为对比对象,因为其性价比比较高,与其它型号在其官方对比测试中差距也不是很大。(也是因为别的型号太贵了,有点承担不起……)

下面是Ruckus官网中提供的它与其它厂家设备在第三方CARNet的测试报告,我们筛除11ac设备的测试结果(因为今天测试的都是11n设备),主要看一下36用户和60用户的数据。(这里测出的吞吐量比我们即将进行的测试要大,可能因为是用了双频,或开启了HT40。另外要注意,吞吐量更高的R700及7982是3×3的设备。)

Ruckus_CARNet_all
Ruckus_CARNet_36users2
Ruckus_CARNet_60users
Ruckus_CARNet_36users

可以看到Ruckus R300的测试结果还是非常不错的。

我们用来运行SuperWRT的设备为水星的MAC1200r。之所以选择这个设备,是因为它与R300在2.4G使用了同样的芯片,都是2×2设备,方便横向对比。当然,其射频上使用PA和LNA,及其它用料与R300还是没法比的。另外一个原因就是便宜,在JD上只有109元,还是11AC双频设备。(貌似新硬件版本换芯片了,我本次测试的还是AR9344版本。)

MAC1200r_jd_109

今天测试的所有设备都只测试2.4G,使用20MHz频宽,工作在3信道。这里使用20MHz频宽测试,更符合实际使用场景,工作在3信道可以让周边的其它1和6信道的AP对我们造成一定干扰。WiFi设备测试,重要的是在相同环境下进行对比测试,相同设备在不同的环境的测试结果可能会差别很大。所以,今天以我们所在环境进行对比,结果不代表其最高水平或其它测试环境中可达到的表现。

吞吐量使用IxChariot进行测试,每个设备测试三次,每次测试时间为3分钟。使用默认的Through脚本进行测试,IxChariot版本为6.7。

测试时,我们将设备都调整到了最佳的摆放方向。可以参考下面照片中饮水机上方的设备摆放。

IMG_1731
IMG_1733

在整个测试过程中,我用手机录制了视频,便于想了解详细测试过程的人观看。

测试的所有结果文件也可在网站的下载页面下载:测试结果

30用户并发测试

测试设备为 :

  • 30台Amazon Fire HD7(其WiFi芯片为:Broadcom BCM43239(B50 5222 12507A9A10)(11n 2×2))

IMG_1730

下面是30用户的测试结果:

第一次 第二次 第三次 平均
设备 吞吐量(Mbps) 延迟(s) 吞吐量(Mbps) 延迟(s) 吞吐量(Mbps) 延迟(s) 吞吐量(Mbps) 延迟(s)
Ruckus R300 46.279 2.667 46.34 2.643 46.955 2.634 46.525 2.648
MAC1200r SuperWRT 54.706 2.253 54.414 2.282 54.393 2.284 54.504 2.273
MAC1200r openWRT 28.382 4.283 30.881 3.933 31.201 4.08 30.155 4.099
MAC1200r 原厂 44.449 2.445 50.002 2.893 49.536 3 47.996 2.779
mt7620芯片设备 33.614 4.347 30.989 4.128 32.196 4.586 32.266 4.354

60用户并发测试

测试设备为 :

  • 8台Thinkpad x200:Intel(R) WiFi Link 5300 AGN (11n 3×3)
  • 8个Netgear WNDA3100v2:BCM4323KFBG (11n 2×2)
  • 8个Mercury MW150US:RTL8188CUS(11n 1×1)
  • 6个Mercury MW300UM:RTL8192CU(11n 2×2)
  • 30台Amazon Fire HD7:Broadcom BCM43239(B50 5222 12507A9A10)(11n 2×2)

注:其中一共8台笔记本,每台笔记本自带一个无线网卡,再连接2-3个USB无线网卡。Netgear由于驱动原因挂在虚拟机中。笔记本上的每个网卡配置单独的IP地址。

IMG_1765
IMG_1767

下面是60用户的测试结果:

第一次 第二次 第三次 平均 备注
设备 吞吐量(Mbps) 延迟(s) 吞吐量(Mbps) 延迟(s) 吞吐量(Mbps) 延迟(s) 吞吐量(Mbps) 延迟(s)
Ruckus R300 34.516 7.597 35.701 7.268 36.533 7.252 35.583 7.372
MAC1200r SuperWRT 42.088 6.163 41.636 6.506 38.835 6.866 40.853 6.512
MAC1200r openWRT 18.52 22.481 23.258 21.420 (1)
MAC1200r 原厂 33.738 35.286 12.326 27.117 (1)
mt7620芯片设备 23.239 22.078 22.659 (1)
Comlli AC750
(高功率及接收灵敏度设备)
31.263 8.773 28.432 8.488 29.848 8.631 (2)

注:(1)丢包及延迟严重,无法完成打流,几乎刚打流就会出错。数据为打流中断时的结果。(具体过程可以观看测试过程视频。)

mac1200r_60_2

注:(2)打流完前出错。打流期间数据统计缓慢。

ac750_60_2

总结

下面对两次的对比测试结果进行一下总结说明。

30用户测试时,使用同类型终端,且内置WiFi芯片比较好,测试时的设备也相对比较近,算比较好的信道环境。在这种环境下,高通芯片原厂的SDK有很好的表现(因为MAC1200r在原厂的SDK的基础上开发的,推测应该对无线驱动改的不多),Ruckus吞吐量不算很高,但很稳定。SuperWRT的表现是最好,有很好的吞吐量和延迟。openWRT使用ath9k相对比较弱一些。使用mt7620芯片的设备表现也一般。

60用户测试时,笔记本使用的USB无线网卡的天线较差,信号相对不是很好。同时,60用户测试时,混合了不同的终端,及不同角度,抢占更加多,信道更加繁忙,更能模拟出在真实使用的环境。所以,在60用户测试中,只有Ruckus和SuperWRT依然稳定。其它的设备都出现打流中断的问题。这种问题,我们可以理解为在干扰及信道繁忙时的掉包,实际使用中就是卡顿的问题,比如刷个图片卡在一半。所以,虽然Ruckus设备在30用户时总流量不及原厂的SDK,但在更复杂环境时,看出了其出色的稳定性。SuperWRT的无线优化,使一个普通的水星设备,也达到了非常优秀的无线性能,也说明了我们优化的实力。

注意:SuperWRT的高并发特性是需要许可证才能使用的功能,您也可以打开测试选项先测试效果(打开测试选项后,设备15分钟后会自动重启)。