导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    【网络Tips7】Tina网络_XR829如何省电?

    MR Series
    1
    1
    1269
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • RCfly
      三颗芋圆 LV 4 最后由 编辑

      大家好,我是三颗芋圆,始于LWIP,陷于TCP/IP,忠于80211。
      我们知道嵌入式的设备都有个共同的目标,追求极致极低的功耗。本次Tips聊聊Tina系统网络XR829驱动如何实现低功耗。

      一.掉电休眠
      省电最直接的方式就是关闭不用的模块,XR829支持掉电休眠,如下配置即可。
      在tina/lichee/linux-5.4/drivers/net/wireless/xr829/Makefile

      CONFIG_XRADIO_SUSPEND_POWER_OFF = y
      

      PS:
      1.掉电休眠的确是最省电的方式,但是唤醒后重开Wi-Fi的时间会加长,因为驱动加载,服务加载流程相当于重新走一遍。
      2.驱动的suspend(休眠函数)中只是做一个flag位的处理,真正掉电是交给AXP(pmu电源管理)的。

      二.保活休眠
      保活休眠是指系统休眠时,Wi-Fi仍然保持和路由器之间的连接,能够进行简单的收Beacon帧和发NULL data帧。使整个Wi-Fi模块处于低功耗模式。
      打开方式:
      在tina/lichee/linux-5.4/drivers/net/wireless/xr829/Makefile

      ccflags-y += -DXRADIO_USE_LONG_KEEP_ALIVE_PERIOD
      

      固件默认会配置开启power save,可以通过

      echo 1 > /sys/kernel/debug/ieee80211/phy0/xradio/low_pwr_disable //关闭power save模式
      
      1 条回复 最后回复 回复 引用 分享 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策