disable powersave需要修改WCNSS_qcom_cfg.ini中的以下参数:
gEnableImps=0
gEnableBmps=0
如果不行,再增加下面俩个参数:
gEnablePowerSaveOffload=0
gAutoBmpsTimerValue =0
步骤: #1、adb root;adb remount #2、adb pull /vendor/etc/wifi/WCNSS_qcom_cfg.ini ~/ #3、将文件pull到电脑上修改参数,然后通过第三步的命令push回手机 #4、adb push WCNSS_qcom_cfg.ini /vendor/etc/wifi/ #5、adb reboot 重启手机
#1、open WiFi #2、adb shell iwpriv wlan0 getConfig #3、adb shell dmesg >~/dmesg.txt 检查WCNSS_qcom_cfg.ini中修改的参数值是否正确
开启后,抓包能看到NULL data PM=1或者0的置位,等于1时,sta休眠,AP缓存sta的数据包,为0时,通知AP,sta醒来收包。 如果关闭,STA 的NULL data PM一直为0,长醒。
…1 … = PWR MGT: STA will go to sleep
如果有以下字段,则说明powersave是开启的,这个是powersave的行为,即开启powersave时,会不停在休眠和唤醒之前切换
sudo apt-get install aircrack-ng
wireshark libcap2-bin
sudo airmon-ng start wlan0