MT7681 Smart Connection 技术分析

MT7681 Smart Connection 技术分析

    第一次接触MTK7681芯片时在14年10月份,那时用的当透传模块用,配合手机端实现远程控制,很自然到要能够在手机上对模块的wifi进行配置,当时好像还不支持AP模式,但是支持一种SmartConnection技术,可以不在不连AP的情况下对wifi进行配置,在手机(Android)上调用MTK提供的库就能对配置了。


    一开始以为调用了一些底层的驱动才实现了这个功能,心里还想着在iOS端应该是用不了的吧(大家都知道iOS App的权限很少,如果涉及到驱动应该是没法用的),后来问了下卖模块的商家说是有iOS的解决方案,也是提供一个库调用就行了。

    这下心里就有了写猜想,应该是纯应用层的实现。不过后来由于换了esp8266芯片也就没有跟进研究了。


    这两天发送esp8266支持混合模式,能做sniffer,结合之前就有的念头,我能不能在esp8266上也实现smart connection,现在采用的手机连到AP上来配置的方式实在有点慢而且iOS也不支持程序控制WiFi切换,拾起之前就有的想法,继续来看看MTK是如何实现的。


废话有点多,下面开始正文:

    既然要实现配置,核心点就是:

  1. 配置数据的发送
  2. 配置数据的接收

    既然觉得时纯应用层的实现,抓包肯定是能发现什么,用wireshark抓包结果如下图:


    果然发送了非常多的UDP包,肯定是通过这些包将wifi的配置信息发送出去的,继续分析发现每个包的内容都一样而且完全不携带任何同wifi配置有关的东西:


    但是这里也发现了每个包的IP地址都是多播地址,而且第二段有规律的递增,和一个数据包的包序号很像,后面两个很像是一个包携带的数据,继续看下去还发现,目标IP地址和MAC地址是有关系的:



    MAC地址和IP的后3段总是相同,MAC的前3段也总是固定的,查了下多播的IP地址和MAC地址是有映射关系的,如果猜测是对的数据发送这个点我们就找到了,接下来想想如何在芯片上收到它。


    既然是在MAC中存放数据,而在sniffer时应该是能看到MAC地址的,查了下802.11的协议,帧头中是可以看到MAC地址的,将sniffer到的数据按帧头解析,MAC地址同之前抓包到的MAC地址完全一致,数据接收这个点现在也找到了。

    

    将数据通过多播IP地址->MAC地址来发送,芯片上sniffer接收,到这Smart Connection的流程到就通了。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值