Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

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

    D1系列-RISC-V
    1
    1
    248
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RCfly
      三颗芋圆 LV 4 last edited by

      大家好,我是三颗芋圆,始于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 Reply Last reply Reply Quote Share 0
      • 1 / 1
      • First post
        Last post

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

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