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发布针对网桥应用的Link版本

SuperWRT从v0.5.13开始,增加了Link版本,该版本是一个专门针对网桥应用的版本。该版本有以下特点:

  1. 针对网桥应用进行精简,有非常高的可靠性。
  2. 极简配置方式,在默认配置上电后,仅需要使用物理“连接按钮”,就可以完成主从网桥配置和连接,可生成高强度的加密密钥,而无需进入配置网页。
  3. 针对网桥应用,去掉了无关的功能,简单方便的配置。但仍支持直接升级到SuperWRT的其它版本,获取更多功能。
  4. 支持固定IP与动态IP方式同时使用,以方便管理。
  5. 支持5/10/20/40/80M多样的频宽。支持使用2.3-2.7G/4.9-6.1G在法规允许的特殊领域使用。
  6. 支持无线透传串口数据,并针对延迟进行了专门的优化。
  7. 支持VLAN、STP、IGMP Snooping等功能,可配置交换芯片的端口VLAN,可应用在多种场景。
  8. 快速启动,使用固定信道时,上电到连接仅需20s。
  9. 人性化的LED状态显示,可显示连接配对状态,信息强度等信息。
  10. 支持与免费开源的OpWiFi平台进行对接。
  11. 支持使用SuperWRT配套的二层发现及管理工具,进行设备发现和无IP管理。
  12. 支持使用在线定制boot的方式,客户可自行生成支持自家硬件的版本。
  13. 可使用SuperWRT的无线高并发功能,提高多设备时的整体带宽和抗干扰性。



link_setup_routerlink_conf_wlanlink_apps

目前,Link版本仅与硬件厂商进行合作,无免费版本。Link版本中,可增加厂家的Logo及信息。欢迎感兴趣的厂家与我联系。

SuperWRT v0.5.1发布,即将发布正式版本

SuperWRT v0.5.1于2017年5月24日发布。此次小版本中的Bug更新完毕后,将发布正式版本。

本次版本增加及修改的特性有:

  1. 在tiny版本中,仅保留中文界面。
  2. 在std版本中,完善的VLAN配置,可设置IP及DHCP服务,并可设置隔离,支持远程webportal针对不同VLAN进行不同配置。
  3. 在std版本中,增加Switch配置。
  4. 增加PPPoE拨号错误原因显示及成功后对端地址显示。
  5. 重新合入PPtP VPN功能。

本次版本解决的Bug有:

  1. 使用Wisp时,配置WLAN导致DHCP无法再次获取问题。
  2. std版本中,主机有IPv6时,不显示主机MAC地址问题。

下面对目前SuperWRT已实现的功能进行汇总介绍。

SuperWRT是一个第三方路由系统,使用Linux内核为基础从头开发,并非OpenWRT、DDWRT、Tomato等系统的分支。计划有三个版本:Tiny版本,Std版本,Ext版本。目前,Tiny版本和Std版本的测试版本已经对外发布。

SuperWRT Tiny版本功能介绍

SuperWRT的Tiny版本支持无线路由器基本功能,同时,增加了我们认为重要的功能。

    1. Tiny版本仅1.8M,可直接刷入2M Flash的设备。是目前唯一还可以支持2M Flash的第三方路由系统。即使是TP-Link的目前2M Flash设备,也是采用的VxWorks系统。
    2. SuperWRT支持用网页管理,我们的网页采用响应式设计,对手机端管理更加友好。
    3. SuperWRT支持更加友好的限速功能。可以设置默认用户速率,也可针对特定用户设置速率限制。同时,我们不断完善智能流整形功能,以保证在限速下更好的QoS体验。
    4. 特别开发的无线高并发优化特性,可在无线环境较差时,明显提供无线并发用户数量及带宽,改善多用户时的无线体验。
    5. SuperWRT支持一般路由器的广域网连接方式:静态地址、动态地址、PPPoE拨号。其中,根据大家需求,更支持PPPoE多拨功能,在多拨下可进行负载均衡。
    6. SuperWRT在Tiny版本中也有访客网络功能。可以增加一个单独的SSID作为访客网络。访客网络可与正常网络完全隔离,可以为访客网络设置单独的用户限速。
    7. 在访客网络中,可以开启Web Portal(网页登录)功能。Tiny版本的Web Portal有本地和远程两种模式。在本地模式中,可以选择点击确认,用户名密码登录,管理员授权等方式,可以定制网页标题。使用远程模式,可以与OpWiFi平台的Web Portal功能对接,支持更丰富的认证方式,可设置支持IP和域名白名单,并可针对用户下发限流量,限速,限时间等配置。
    8. 支持远程管理。可以与开源的OpWiFi Easy版本管理平台对接。集中管理配置,下发指令,更新版本。
    9. 支持AP工作模式。更可以配置为瘦AP模式,自动连接管理服务器。
    10. 在AP工作模式下,支持配置VLAN和配置更多SSID。
    11. 支持多种级别用户登录,在底层API限速不同权限,有更高安全性。目前,配置用户仅可以查看状态,配置WAN相关信息。
    12. 支持二层扫描发现设备,并可通过MAC地址对设备进行管理。

 

SuperWRT Std版本功能介绍

Std版本在Tiny版本功能的基础上,增加了如下功能:

  1. 支持多语言的界面系统。
  2. 无线Station模式(即Wisp),可以通过无线连接其它AP上网。SuperWRT的Station模式更加优化,解决了其它系统中一些不方便的问题。如:可自动切换转发SSID信道,可配置多个备选SSID,Station未关联时转发SSID仍可以连接。
  3. 无线可创建Station接口。并支持工作在WDS或万能桥接两种模式。万能桥接支持IPv4、IPv6、PPPoE。
  4. Std版本支持11AC(Tiny版本不支持)。
  5. 支持WPS虚拟按钮功能。
  6. 支持PPtP VPN功能。
  7. 可创建VLAN网络,为其配置独立的IP及DHCP服务,并可设置隔离、独立的远程网页登录界面。
  8. 可配置Switch端口的VLAN,配合系统VLAN功能,实现更复杂的网络。
  9. 可以在PC上远程抓取及发送设备无线报文调试功能,用于无线问题收集。

SuperWRT版本uboot

SuperWRT为了保证更完整的用户体验,制作了一个专用的配套uboot。

SuperWRT的uboot与SuperWRT系统有紧密的关系。SuperWRT的uboot都是针对芯片发布的,可通过在线定制工具,定制出适应使用相同芯片的不同设备。SuperWRT的系统有更广泛的适应性,很多芯片都可以使用一个系统。在uboot引导SuperWRT系统时,会将相应的设备信息告诉系统,系统就会根据相应的信息配置设备。这样设计的目的,是为了降低后期版本的维护工作,一个系统版本就可以应用在不同设备上,从而可以为设备提供更长期的版本维护。

SuperWRT有如下特色功能:

  1. 有恢复网页,可通过网页刷机。在恢复网页模式下,还有启动DHCP及DNS服务,以给客户端分配地址,并可以通过域名访问网页。
  2. 支持配置密码,以防止轻易被其他人导出配置文件或刷机。
  3. 支持静态地址、动态地址、PPPoE拨号的广域网连接方式。可以从广域网通过HTTP协议下载版本,以在系统出错时,自动恢复设备。
  4. 有配套的PC端工具,可通过网口中断启动,进入恢复网页,或批量升级设备。

SuperWRT支持的芯片

SuperWRT独创了在线定制uboot系统,可以根据设备硬件,选择相应配置,自动生成支持的uboot。该uboot还能将硬件信息传给kernel,从而直接支持新的设备。目前,SuperWRT系统支持ar934x/qca953x/qca955x/qca956x主芯片,支持AR928x/AR938x/AR939x/AR958x/AR959x/QCA988x WLAN芯片 ,支持AR8033/AR8035/AR83x7系列PHY芯片。

SuperWRT v0.4.3发布,去掉首页测试版本提示

SuperWRT v0.4.3版本于2017年04月17日发布。

本次版本增加及修改的特性有:

  1. 增加WAN口MTU设置。
  2. 登录语言设置在浏览器中保证一年。
  3. 去掉首页的测试版本提示信息,为发布正式版本准备。

本次版本解决的Bug有:

  1. 解决Wisp模式更改Sta接口设置后需要重启设备的问题。
  2. 将一些Switch默认隔离变为转发。
  3. 解决某些情况下,不显示WDS终端的问题。
  4. 解决多拨与WAN速率配置可能出现冲突的问题。

 

新版本v0.4.2发布,改善流控,增加二层网页登录功能。

SuperWRT v0.4.2版本于2017年04月12日发布。

本次版本增加及修改的特性有:

1. 合入新版本智能流控功能,控制更加智能准确。
2. 增加二层Webportal功能,可在网桥模式实现网页登录。(本版本暂不支持在配置VLAN的AP接口进行二层Webportal)
3. 支持无线网桥Station透传VLAN后转发到AP相应VLAN功能。
4. 增加IP-MAC地址绑定功能,与DHCP静态地址合并一起实现。

本次版本解决的Bug有:

1. 解决上一个版本中的翻译错误。
2. 解决WLAN漫游感知功能的小Bug。
3. 网页判断IP等字段的小Bug。

SuperWRT v0.4.1发布,实验新漫游增强特性

SuperWRT v0.4.1版本于2017年04月04日发布。

本次版本增加及修改的特性有:

1. 增加英文界面。
2. 增加地域选择,可依据地域调整支持信道及功率。
3. 增加WLAN漫游感知功能,可提高漫游体验(实验中)。
4. 增加单设备的WLAN负载均衡功能(实验中)。
5. 增加WLAN信号强度指示灯支持。

本版本可与OpWiFi v0.3以后版本进行对接。

本次版本解决的Bug有:

1. 在不支持HT40的信道设置40M时,无线无法启动问题。

SuperWRT_V0_4_1_login

SuperWRT v0.3.4版本发布

本次同时更新了boot和firmware。

SuperWRT Boot v1.2.7 (2017-03-01)
———-
Bootloader更新到v1.2.7,增加改下功能:

1. 增加HTTP Debug读内存接口(可读寄存器)。
2. 增加HTTP Debug写内存接口(可写寄存器)。
3. 增加产测流程支持。
4. 增加可定制机制。

解决了以下问题:
1. 解启动旧版本TP固件的Bug。
2. 解一些其它小Bug。

SuperWRT v0.3.4 (2017-03-01)
———-
SuperWRT v0.3.4版本于2017年03月01日发布。

本次版本解决的Bug有:

1. QCA955x无线阻塞问题解决。
2. 点恢复出厂配置时,不显示等待页面问题。
3. 改善AR8236支持(目前仍有些问题未解完)。
4. 其它一些小的内部Bug。

更改的特性有:

1. 丰富状态页信息显示。

使用本版本需更新SuperWRT Device Tool v1.0.2.0。

SuperWRT v0.3.3版本发布

SuperWRT v0.3.3版本于2017年02月24日发布。

本次版本解决的Bug有:

1. std版本在部分无USB的芯片中无法启动的问题。
2. 增加网页在获取到的配置值错误时,自动选择默认值功能。
3. 修正OpWiFi在本地网络中推送时格式判断错误问题。
4. 其它一些小的内部Bug。

更改的特性有:

1. 增加无线扫描显示后的刷新功能。
2. 为便于定制更改网页实现。

SuperWRT v0.3.2 (2017-02-14)
———-
SuperWRT v0.3.2版本于2017年02月14日发布。

本次版本解决的Bug有:

1. 状态页不显示静态DNS问题。
2. WLAN最大功率小于20dBm时,默认值错误问题。
3. 修改WLAN在CN的最大功率限制。

SuperWRT v0.3.1 (2017-02-13)
———-
SuperWRT v0.3.1版本于2017年02月13日发布。

从此版本开始,改变了版本命令规则:最后一位0表示开发版本,1表示正式发布版本,其它号码为Bug修复版本。

本次版本解决的Bug有:

1. 左侧菜单点击有效区域不全问题。
2. 修复ar9002系列芯片(如AR9287)支持问题。
3. 调整AR8327/AR8337的PLL值,提高数据稳定性。
4. 修复WDS设备状态无法显示问题。
5. 调整打开高并发功能时,对弱信号用户的处理策略,正确控制用户下线。

本次版本增加及修改的特性有:

1. 升级Linux内核,从3.18.40到EOL的3.18.47版本。
2. 升级compat-wireless版本到2016-10-08版本。
3. 用户状态中增加离线设备单独分类。
4. 增加OpWiFi在本地网络中时主动推设置支持。

本版本可与OpWiFi v0.2.2进行对接。

SuperWRT v0.3.1版本发布

SuperWRT v0.3.1版本于2017年02月13日发布。

从此版本开始,改变了版本命令规则:最后一位0表示开发版本,1表示正式发布版本,其它号码为Bug修复版本。

本次版本解决的Bug有:

1. 左侧菜单点击有效区域不全问题。
2. 修复ar9002系列芯片(如AR9287)支持问题。
3. 调整AR8327/AR8337的PLL值,提高数据稳定性。
4. 修复WDS设备状态无法显示问题。
5. 调整打开高并发功能时,对弱信号用户的处理策略,正确控制用户下线。

本次版本增加及修改的特性有:

1. 升级Linux内核,从3.18.40到EOL的3.18.47版本。
2. 升级compat-wireless版本到2016-10-08版本。
3. 用户状态中增加离线设备单独分类。
4. 增加OpWiFi在本地网络中时主动推设置支持。

本版本可与OpWiFi v0.2.2进行对接。

SuperWRT v0.2.12发布,配套服务器OpWiFi v0.2.2发布

SuperWRT

SuperWRT v0.2.12版本于2017年01月19日发布,主要解决了SuperWRT v0.2.10中的一些Bug。

解决的问题有:
1. 解决服务器配置下发后,设备有时不会返回状态问题。
2. 解决服务器下发版本后,无法获取文件时的错误处理问题。
3. 解决WDS终端不显示问题。
4. 增加正常网络中的DHCP租期设置。
5. 解决一些网页上的小Bug。

本版本可与OpWiFi v0.2.2进行对接。

Bootloader

Bootloader更新到v1.2.6,解决了以下问题:
1. 增加WAN口获取DHCP地址及PPPoE拨号单独的超时,防止等待时间过长。
2. 修改网页reboot的逻辑,增加返回页面。
3. 解决setmac在MAC地址位置越界循环时不能处理的问题。
4. 解决SGMII在一些配置时不能正常设置的问题。

OpWiFi

OpWiFi v0.2.2测试版本发布。提供以下功能:

  1. 设备管理:
    1. 支持查看在线设备状态。
    2. 可以给设备分配Tag,一个设备可以加入多个Tag。Tag还支持树状分组管理。可以更方便的筛选设备。
    3. 支持版本下发操作,可以更新设备版本。该方式支持调用SuperWRT保护式升级接口,升级失败时,可以通过uboot继续升级。
    4. 可下发指令,目前界面支持了重启操作。
    5. 可以绑定配置。按无线接口进行分类,支持多种设备模型。可配置无线参数、限速、定时重启等配置模版。配置模版与设备绑定即可下发配置。
  2. WebPortal:
    1. 可创建多种配置。
    2. 可以将配置绑定到不同的设备。
    3. 已集成简单的登录网页,可以管理登录用的用户名和密码。
    4. 可查看设备的在线状态。
    5. 可查看用户的状态。
  3. 设备状态:
    1. 可显示设备无线关联用户MAC信息
    2. 可上报无线用户流量、速率等状态信息。

opwifi_config_wlan

WNE

由Terra开发WNE(Windows Nginx Environment)v1.0.0已经发布。WNE可用于搭建OpWiFi在Windows上的运行环境,也可以用于搭建其它系统的Nginx+PHP+Mysql+MongoDB+Redis在Windows中的环境。WNE是完全开源免费的软件,使用Apache v2许可,你可以改造WNE用于其他用途。

WNE v1.0.0的下载地址为:https://github.com/superwrt/WNE/releases/tag/v1.0.0

 

在Windwos下安装OpWiFi

目前,OpWiFi与WNE都在开发阶段,未提供集成环境。下面介绍如何在Win下搭建OpWiFi的运行环境。基本环境要求为:Win7以上,64位系统。

搭建步骤如下:
1. 下载并解压WNE v1.0.0到C盘根目录(可以是其它位置,以下步骤以该目录为准)
2. 下载OpWiFi最新版本,将src中的文件复制到C:\wne_v1.0.0\home\default中。
3. 修改Nginx配置,以运行OpWiFi。修改C:\wne_v1.0.0\conf\nginx\sites\default.conf为如下内容:

server {
	listen       0.0.0.0:80;
	server_name  localhost;
	set $root_path 'home/default/public';
	root   $root_path;

	access_log  logs/nginx/default.access.log;
	
	client_max_body_size    20m;
	index index.php index.html;

	log_not_found off;

	charset utf-8;

	location ~ /\. { deny all; }
	location = /favicon.ico { }
	location = /robots.txt { }
	
	location / {
           try_files $uri $uri/ /index.php?$query_string;
        }

	location ~ \.php$ {
		try_files  $uri =404;
		fastcgi_pass   php_processes;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
		include        fastcgi_params;
	}

	location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
		root $root_path;
	}

	location ~ /\.ht {
		deny all;
	}
}

4. 修改PHP配置,改变上传文件大小限制:

upload_max_filesize=16M

5. 开启WNE。启动WNE后,点击Start按钮。
6. 安装OpWiFi数据库。

1. 进入http://127.0.0.1:81/adminer/管理mysql。(默认用户名为root,无密码。)
2. 点击“创建新数据库”,新数据库名称为:opwifi,字符集选utf8_general_ci,然后点保存。
3. 点击“权限”,然后“点创建用户”,用户和密码为opwifi(或者密码你自己指定),选All privileges后,保存。
4. 进行OpWiFi的intall页面进行安装。地址为:http://127.0.0.1/install。一路确认后,安装完成。

7. 登录OpWiFi。进行http://127.0.0.1/,用户和密码为admin。
8. 修改OpWiFi的地址,以使其正常工作。登录OpWiFi后,将“系统->系统配置->站点地址”更改为服务器实际,设备将根据此地址进行升级文件下载等操作。

在设备的管理网页中,将服务器地址设置为OpWiFi安装PC的IP地址,设备即可接受管理。

在Windwos下管理瘦设备
目前,自带的DHCP服务还在开发阶段。可以先使用TFTPD32中的DHCP服务代替。
需要在DHCP服务中携带option43字段,以通知设备服务器的地址。

tftpd32_dhcp_forfit