RK平台 RTL8723DS AIRKISS配网说明
:::info 文档信息
页数:4 · 语言:中文
原始文档:RK平台_RTL8723DS_AIRKISS配网说明.pdf
:::
在线预览
若预览无法显示,请直接下载 PDF 后用本地阅读器打开。
RK 平台_RTL8723DS_AIRKISS 配网说明
原理介绍
这里有3 个节点:
智能设备:抓取路由器发出的包
路由器:转发收到的手机发出来的包
手机:发送广播包到路由器
通过上图可以看到我们的设备是通过抓取路由器转发手机的包来实现获取SSID 和密码的。
关键点:智能设备必须能够抓到路由器的包,否则配网肯定会失败;
首先介绍下空中包分类,如下表:
包有protocol、frequency、MIMO(几x 几的意思,1MIMO 表示1x1 2MIMO 表示2x2 4MIMO 表示4x4)差别RTL8723DS 单根天线(1MIMO 1X1),并且是11 b/g/n 的模块,不支持5G,也不支持11ac,最大支持
11n 150Mbps(如上图的红色方框)。
由于以上原因,如果满足以下几个条件都是有"可能"会造成RTL8723DS 收不到路由器发过来的包。(注
AP 都是指代路由器):
手机和AP 都是双天线(2x2):因为RTL8723DS 是单天线模组,无法解析MIMO(2x2)的包;
手机和AP 都跑在5GHz:因为RTL8723DS 是2.4GHz only 模块,无法解析5GHz 的包;
手机和AP 都支持11AC:因为RTL8723DS 只支持到11n,无法解析11ac 的包;
AP 路由器不转发手机的包或者只转发很少部分的包,导致配网失败;
环境干扰,配网非常依赖路由器转发的包,所以当前环境干扰非常大时,会概率出现配网失败
有些路由器是LDPC 编码的,RTL8723DS 无法接收;
当以上任一条件满足时,都可能会出现无法用airkiss 进行配网的情况。
例外情况:有时发现当满足上面某一条件时"可能也会成功"的原因是:
1、 虽然手机发出來的2x2/11ac 的包无法解析,但AP 有可能会用11bgn 的速率来转发,注意不是每个AP 都会做这样转发的动作(像部分小米、tplink 路由器都会有不转发或者转发少的问题)。所
以如果AP 有用bgn 速率转发的话,仍然有"可能"可以进行配网。
2、 当设备离AP 比较远或者干扰比较大,会导致信号传到设备这边时比较弱,包的速率衰减为bgn的速率的话,也有"可能"配网成功。
测试发现:iPhone7 及其以上型号的手机以及最近两年上市的各品牌android 旗舰机基本都是2x2 + 11ac
的, 只能依靠路由器转发且以较低bgn 速率发出来的包进行配网,所以整体看来airkiss 配网有诸多限制
且成功率不是太高。
所以使用airkiss 配网,通常都会有一个backup solution 来支持,也就是说当无法配网时可以启用:
SOFTAP/BLE 方法来弥补这样的问题,有界面的直接做类似手机的配网方法。
下面介绍如何判断配网异常是否属于哪一种情况:
需要专门抓包工具进行分析,下面的例子都是用抓包工具抓取的包
包是2x2 导致的失败
包是11ac 导致的失败路由器转发问题
手机mac 地址是64 开头,路由器mac 地址是74 开头,路由器转发的包有个标志:transmitter 都是
路由器的mac 地址,
上面红色方框是手机发出来的;
下面红色方框是路由器发出来的,如果抓包没有发现,则表示路由器没做转发;
手机一直在发,路由器不转发导致的失败
环境干扰严重导致的失败(可以看到有非常多重传帧)正常情况是手机和路由器间隔发,即路由器收到手机的包后马上转发出去
包是LDPC 编码的导致失败