RISC-V技术william hill官网
直播中

corkia

5年用户 657经验值
擅长:嵌入式技术
私信 关注
[资料]

【全志网络专题/Tips】Tina Linux 网络_XR829如何省电?

本帖最后由 corkia 于 2022-3-28 09:34 编辑

大家好,我是三颗芋圆,始于LWIP,陷于TCP/IP,忠于80211。


我们知道嵌入式的设备都有个共同的目标,追求极致极低的功耗。本次tips聊聊Tina系统网络XR829驱动如何实现低功耗。

一.掉电休眠
省电最直接的方式就是关闭不用的模块,XR829支持掉电休眠,如下配置即可。
在tina/lichee/linux-5.4/drivers/net/wireless/xr829/Makefile
  1. 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
  1. ccflags-y += -DXRADIO_USE_LONG_KEEP_ALIVE_PERIOD

固件默认会配置开启power save,可以通过
  1. echo 1 > /sys/kernel/debug/ieee80211/phy0/xradio/low_pwr_disable //关闭power save模式



更多回帖

发帖
×
20
完善资料,
赚取积分