Android Wifi 省电模式基本概念

详细信息参考 http://en.wikipedia.org/wiki/Delivery_traffic_indication_message

 

1. Beacon Interval (信标间隔)

   这个值变大,有助于client端省电。

   这个值变小,有助于提高client端连接速度。降低了基地台的buffer frame负载。

   一般预设为100mS

   以Beacons 封包发送SSID的速率是1Mbit/S.

2. DTIM(Delivery Traffic Indication Message )

    DTIM用于传统节电模式中,多点的应用,即由AP通过设置DTIM的间隔(缺省是一个beacon时间,100ms),根据这个间隔发送组播流量。
  这个值不会影响单播的流量传递,如果没有开启PS的用户使用组播也不会收到影响,但是会影响开启了PS的用户接收多播数据的传递,如果设置的太小,起不到节电作用,太大又可能会影响组播通讯的质量,这个过程是一个trial-error的调整过程,只能一个一个测试调整,以达到最佳,即既可以达到最佳节电效果又不影响应用。
   调整方法:
   1.设置DTIM1,然后记录应用效果,作为基线
   2.然后提高间隔,使应用效果可以接受为止。

   DTIM=1表示每个beacon中都包含DTIM DTIM=2表示每两个beacon中包含一个DTIM,以此类推。
  设置一个合适的DTIM间隔有点麻烦。

3. Listen-Interval, (STA即Client接收Beacon 的周期)

   AP 广播Beacon 的周期为Beacon-Interval,STA 可以自由选择Beacon-Interval的整数倍作为自己的Listen-Interval,比如10。

   STA 每隔Listen-Interval 接收Beacon并解码其中的TIM,如果TIM 指示没有数据缓存,STA 就可以立刻转入Doze 状态,如果TIM 指示其有数据缓存,STA 就要向AP 发一个竞选控制包Poll,AP 在收到Poll 后就可以向该Poll 的源STA 发送一个为它缓存的数据包。

 

4. 具体实现wifi省电模式

     代码实现:

   设置应该是在early_suspend 阶段进行的,即驱动注册的early_suspend.suspend指向的函数里面。

   需要设置三个参数 bcn_li_dtim, Listen_Interval和DTIM。

 

 

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值