通过WIFI唤醒终端设备

简介

​ 本人第一次写博客,写博客的初衷为了更好的巩固所学知识和锻炼一下自己各方面能力、以及记录工作和学习中遇到的问题和解决方案,同时与各位志同道合的朋友一起学习和进步, 个人能力有限,如有不妥之处,望大家海涵和指正。

概述

​ 通过wifi唤醒终端设备是指在终端设备通过wifi连接到路由器(AP)从而加入局域网或者Internet,在同一个网络中,通过其它终端设备(如PC)给唤醒终端设备发送唤醒数据包,从而实现远程唤醒终端。

原理

在终端设备进入休眠的时候,唤醒终端设备常用的方法有按键、定时(RTC)、BT、电源、WIFI、以太网等唤醒方式,基本原理是给休眠的终端主控一个唤醒信号,使终端设备从休眠状态退出,从而达到节省终端功耗。

​ 本文主要介绍WIFI唤醒功能的原理以及ARP数据包对唤醒功能的影响。

​ wifi唤醒主机CPU的原理是在终端设备整机进入休眠后,WIFI模块监听到符合唤醒数据包时,wifi模块恢复部分工作,给CPU一个唤醒信号。唤醒信号由HOS_WKAE GPIO给出(博通、RTL wifi模块支持唤醒功能都具备该功能引脚)。从而实现WIFI 唤醒CPU或者终端设备。

你会在想WIFI模块下在什么时候会给出唤醒信号,这个是可以配置的,如配置TCP、ICMP数据包唤醒或者Deauth、漫游等事件唤醒等。

WIFI模块在进入休眠前设置beacon帧监听间隔T1,即T1个Beacon时间间隔,AP beacon 中才包含dtim元素.

其中T1的值在市场中设备中大部分不超过5,有部分设备为1. T1的大小决定了终端设备休眠时间和监听Beacon时间。T1的值越大功耗越低、反之值越小功耗越大。(更多的原理可以一起交流学习)

wifi唤醒遇到的问题

通过TCP请求包唤醒主机,概率性的出现TCP连接失败、甚至偶尔出现TCP请求包唤醒不了终端的现象,以及唤醒比较慢的现象。

上述问题除了环境以及网络的原因存在如下二个方面:

1.TCP客户端建立TCP连接超时时间较短,导致TCP连接失败,介于各种环境和网络情况,TCP客户端需做容错处理,如增加重试次数。

2.偶尔唤醒不了是因为客户端没有接收到WIFI模ARP应答数据,导致客户端没有发送TCP数据包请求,不能够唤醒终端,同时唤醒较慢的原因也是wifi模块应答ARP请求数据包慢的导致。

关于WIFI应答ARP请求慢的原因

下图为ARP应答较慢导致无法唤醒终端以及唤醒慢或者到致TCP连接超时的主要原因

下图为T1=3,beacon间隔为100ms时,wifi模块监听状态图

如上图所示当在0-300、300-600、600-900时间内WIFI模块是处于休眠状态的,无法接收和处理任何数据,假如此时ARP请求数据包的到来,WIFI模块无法感知,从而无法应答ARP数据包的原因或者应答较慢的原因。

如何解决ARP问题

ARP数据包为广播数据包,802.11关于低功耗的协议中,并未涉及到关于广播数据包在终端进入休眠时,路由器(AP)为终端缓存广播数据,也就是说广播数据包不会出现在beacon帧中TIM中,如果广播数据到来时,终端处于休眠状态,该数据包将会丢失。

知道ARP的原理的朋友都知道,在网络通信过程中,ARP是不可缺失的部分,然而在Windows系统中,一般默认ARP有效时间为2min,如果2min之内有数据交换,最大超时时间为10min(也就是说Windows ARP表将在2-10min钟内会失效,会重新发起ARP请求包进行确认).

也就是说ARP表失效后,PC机在下次进行数据通信或者超时时间到了的时候就会发送ARP请求数据包进行确认和更新。

解决和改善方案

​ 从上述描述中可以通过修改T1时间间隔,增加WIFI模块监听时间,减少广播数据的丢失,从而改善休眠唤醒功能的性能以及唤醒时间等。

​ 从PC机端修改ARP有效时间,减少ARP请求,从而减少因ARP请求的原因导致不能唤醒终端或者TCP连接超时或者唤醒慢的现象

PC端或者其它终端修改
1.设置Windows ARP有效时间。设置一个合适的时间减少或避免该问题的出现。修改Windows 注册表信息
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters
下增加如下键值(Windows 默认情况下没有)
键值1:ArpCacheLife,类型为Dword,单位为秒,默认值为120
键值2:ArpCacheMinReferencedLife,类型为Dword,单位为秒,默认值为600
注意:这些键值默认是不存在的,如果你想修改,必须自行创建;修改后重启计算机后生效

修改WIFI模块休眠参数T1,将T1设置为0或者1,WIFI模块监听图

总结

因时间的原因,只能简单阐述了问题原因和给出解决方案, 很多的原理都为进行说明,以后有时间在进行说明和研究,也其盼大家一起交流学习

总结

因时间的原因,只能简单阐述了问题原因和给出解决方案, 很多的原理都为进行说明,以后有时间在进行说明和研究,也其盼大家一起交流学习

通过WIFI唤醒终端设备相关推荐

  1. android休眠 wifi唤醒,Android深度睡眠和唤醒锁

    我创建了一个在所有手机上均可正常运行的android应用.但是在我的阿尔卡特手机中,手机无法进入深度睡眠模式,且数据网络出现故障,因此应用程序无法获取数据网络,也无法同步服务器数据. 我的设计 - S ...

  2. 20180828 手机助手后台唤醒和Doze模式下WiFi密集唤醒

    1.手机助手后台唤醒现象 com.qihoo.appstore 和 com.tencent.android 主要是通过JobScheduler 和 SyncManager 事件进行后台唤醒,因为之前网 ...

  3. 什么是 Wi-Fi 6 (802.11ax)?为什么 Wi-Fi 6 很重要?

    您最近可能已经听说过同事或朋友提出的"Wi-Fi 6"一词,对于大多数人来说,您可能不了解并想更多地了解这项新的趋势技术:什么是 Wi-Fi 6,它将如何影响我的生活?本文将揭开W ...

  4. RK3399教程:wifi驱动调试技巧

    公众号 欢迎扫码关注本人微信公众号:公众号上分享更多嵌入式知识和资料,分享个人学习嵌入式的心得体会.欢迎大家一起来玩呀. 疑问点? Android hal层需要配置那些东西? rk3399的wifi模 ...

  5. Wi-Fi语音技术浅析

    WLAN 和VoIP是目前的IT产业领域关注的热点,因此使用WLAN 提供语音服务(WiFi语音)的终端设备也就应运而生. WiFi语音终端设备利用现有的WLAN 网络实现无线的VoIP语音通话,用户 ...

  6. Lora超全知识归纳,对于lora和lorawan的详细介绍

    目录 LORA介绍 LoRa通讯技术 网关信道 网关负载 LoRa模块信道 节点入网 终端LoRa应用方案 设备唤醒 终端LoRa应用实践 网关详情 Lora和loraWAN LoRaWAN 概貌 L ...

  7. 电大数据库应用技术形考3_华为荣耀路由3体验:Wi-Fi6技术成熟应用,真正的平民好路由...

    路由器:大家日常上网必不可少的重要工具,而路由器的好坏,将直接决定网络信号强弱.网速快慢,直接影响大家的上网体验.随着Wi-Fi 6技术的成熟和千兆网络的普及,众多路由器和手机厂商新发布的高端产品也纷 ...

  8. 看剧流畅还省电?视频类应用预缓存策略功耗评测详解

    你是否遇到过这样的问题,在疯狂追剧时手机电量消耗过快,一度以为是屏幕亮度等引起?但当在相同的屏幕亮度.音量.网络环境(WiFi网络)等条件下刷同一部剧,不同视频类应用的耗电量仍不同. 那么还有哪些因素 ...

  9. 室内定位技术及机场方案建议

    室内定位技术发展现状 在1996年左右,美国联邦通信委员会(FCC)要求移动运营商为移动电话用户提供E-911(紧急救援)服务.1999年,FCC又对定位精度做出新的要求.加之此后全球移动用户的迅猛发 ...

最新文章

  1. SIFT: This algorithm is patented and is excluded in this configuration的解决办法
  2. linux下的拷贝(cp)、删除(rm)、剪切(mv)命令
  3. lstm原理_Mamp;DL | LSTM:遗忘门、记忆门、输出门
  4. boost::safe_numerics模块实现测试添加 constexpr
  5. 7.MongoDB java CRUD
  6. 318. 最大单词长度乘积 golang
  7. redis php高级使用_项目中应用Redis+Php的场景
  8. django form 介绍
  9. 数字日期格式转换yyyymmdd_js时间转换,能够把时间转换成yyyymmdd格式或yyyymm格式...
  10. css样式实现居中对齐
  11. x线计算机断层摄影机房面积应不小于,X射线计算机断层摄影放射防护要求GBZ165-2012.pdf...
  12. AUTOCAD——Excel表格导入CAD、CAD合并两兄弟
  13. sqlplus之runstats
  14. 歌斐资产CEO殷哲谈资产的转型升级
  15. 淘宝天猫店铺商品API,店铺商品分类接口代码对接教程
  16. 蓝桥杯比赛个人注意事项
  17. Django--通过STMP服务发送邮件
  18. 掌财社:马桶MT被山寨,聊天宝赚钱不如捡废品,多闪表现平平
  19. HttpClient调用WebService接口
  20. 【临时重发】复旦大学 在职软件工程硕士(双证)2017年入学考试 参考书推荐...

热门文章

  1. 服务器 控制台 的作用是,电脑中的MMC控制台的作用和用法是什么?
  2. 计算机网络练习3|河工|周老师
  3. app:processDebugManifest 错误
  4. html手机端在线制作,HTML5制作,手机H5页面制作,H5炫酷效果,前端制作 | 纬博赛特...
  5. css table自适应斜线
  6. JFreeChart| JFreeChart组合图表(Combined Charts)
  7. allure如何设置新logo
  8. deepin20.7隐藏分区
  9. 基于STM32的USB CAN收发器开发与设计
  10. PDF合并在电脑上怎样实现?PDF合并的方法有哪些?