本文介绍WCNSS_qcom_cfg.ini中常用参数的作用。

wifi 日志等级

  • vosTraceEnableBAP=255
  • vosTraceEnableTL=255
  • vosTraceEnableWDI=255
  • vosTraceEnableHDD=255
  • vosTraceEnableSME=255
  • vosTraceEnablePE=255
  • vosTraceEnablePMC=255
  • vosTraceEnableWDA=255
  • vosTraceEnableSYS=255
  • vosTraceEnableVOSS=255
  • vosTraceEnableSAP=255
  • vosTraceEnableHDDSAP=255
  • wdiTraceEnableDAL=255
  • wdiTraceEnableCTL=255
  • wdiTraceEnableDAT=255
  • wdiTraceEnablePAL=255
  1. 每一位代表一个等级是否打开,0xFF,表示所有的等级都打开。
  2. 00000001 FATAL
  3. 00000010 ERROR
  4. 00000100 WARN
  5. 00001000 INFO
  6. 00010000 INFO HIGH
  7. 00100000 INFO MED
  8. 01000000 INFO LOW
  9. 10000000 DEBUG

省电模式

  • gEnableImps=1

  • gEnableBmps=1

  1. 相关参数:
  2. # Enable IMPS or not
  3. gEnableImps=1
  4. # Enable BMPS or not
  5. gEnableBmps=1
  6. gEnableImps:(Idle mode powersave)
  7. 打开wifi,未连接wifipower save
  8. gEnableBmps:(Beacon mode powersave)
  9. 连接wifi的情况下的power save
  10. 使用工具测量电池电流大小。

Phy Mode (auto, b, g, n, etc)

  • gDot11Mode=0
  1. # Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac
  2. gDot11Mode=0
  3. 支持何种协议,可取之范围0-9

Roaming Parameters

  • gNeighborLookupThreshold=65

  • RoamRssiDiff=5

  • gRoamIntraBand=0

  1. * gNeighborLookupThreshold
  2. Roaming RSSI Threshold: ap的信号达到所设置的值,将会进行扫描周边设备,寻找更好的AP
  3. * RoamRssiDiff
  4. Roaming RSSI Difference: AP将会进行roaming,当寻找到的ap的信号比连接的AP的信号更好,并且超过这个值
  5. * gRoamIntraBand=1
  6. # To enable, set gRoamIntraBand=1 (Roaming within band)
  7. # To disable, set gRoamIntraBand=0 (Roaming across band)
  8. enable across band roaming. 只会在同一个频段内部进行roam,例如2.4G2.4G内部,或者5G5G
  9. 如果没有打开,那么roam的时候,2.4G-5G直接的roam是不允许的。
  10. 但是可以断开再重连。

802.11d支持

  • g11dSupportEnabled=1
  1. 80_Y0476_2_WCN36X0_ANDROID_WLAN_REGULATORY_AND_COUNTRY_CODE.pdf
  2. 802.11d支持,根据路由器的国家码进行选择。
  3. g11dSupportEnabled=1
  4. Wifi 国家码获取途径
  5. 1.DefaultCountryTablefield in WCNSS_qcom_wlan_nv.bin-read during driver initialization
  6. nv中默认有设置国家码
  7. 2.gStaCountryCodeparameter in WCNSS_qcom_cfg.ini read during driver initialization to replace default country code in WCNSS_qcom_wlan_nv.bin
  8. 配置文件gStaCountryCodeparameter设置国家码,用于覆盖nv中的国家码
  9. 3.Country IE from AP defined by 802.11d information given by AP
  10. 使能802.11d功能,通过AP来获取国家码,g11dSupportEnabled用来打开这个功能。
  11. 4.iw reg set command set from userspaceapplication over cfg80211 interface
  12. 用户空间通过命令设置国家码
  13. 5.Private IOCTL with COUNTRY command set from userspaceapplication over wextinterface
  14. 用户空间通过ioctl设置国家码,例如wpa_cli -iwlan DRIVER COUNTRY US.
  15. gCountryCodePriority设置国家码获取的优先级
  16. 1 Country Code information from userspacecommands takes priority
  17. userspacecommands > 802.11d > gStaCountryCodein WCNSS_qcom_cfg.ini > DefaultCountryTablein WCNSS_qcom_wlan_nv.bin
  18. 默认是0
  19. 0 Country Code information from 802.11d takes priority
  20. 802.11d > userspacecommands > gStaCountryCodein WCNSS_qcom_cfg.ini > DefaultCountryTablein WCNSS_qcom_wlan_nv.bin
  21. 通过AP获取国家码:
  22. g11dSupportEnabled=1使能,然后如果周围有多个AP,包含不同的国家码,根据接收到的Beacon帧(被动扫描),进行投票,设置成票数最多的国家码。
  23. 但是我查看的话,好多情况下,只是更具了解的AP来设置国家码。
  24. gEnableBypass11d=1,会进行主动扫描,获取国家码,这样速率会快些。
  25. 通过SIM卡获取国家码是最可靠的途径。

记录一下与国家码有关的网址,方便查找:

国家地区代码:

https://zh.wikipedia.org/wiki/國家地區代碼

wifi信道列表

https://zh.wikipedia.org/wiki/WLAN信道列表

世界各个地区WIFI 2.4G及5G信道一览表

http://www.sohu.com/a/143179782_202311

kernel中相关文档:

net/wireless/db.txt

beacon loss

  • gHeartbeat24=40

  1. beacon包的统计,如果超过40(默认值)个没有到,表示AP不在范围内。会有相应的事件产生。
  2. 验证方法:准备一台可以方便断电操作的路由器 Device先连上AP 开始抓包 ,然后手动让AP断电
  3. ,从抓包的记录上看路由器发送的最后一个beacon和设备开始发prob request的时间差。
  4. 一般一个APbeacon时间间隔是0.1秒,如果设置成40,那就是4s.
  5. 粗略验证方法,AP断电,查看设备wifi状态从connected变为saved所需要的时间。

信道带宽选择

  • BandCapability=0

  • gOperatingChannelListEnabled

  • gOperatingChannelList

  1. #Preferred band (both or 2.4 only or 5 only)
  2. BandCapability=0
  3. 0: both
  4. 1: 5G
  5. 2: 2.4G
  6. # Operating Channel List
  7. # 打开信道选择
  8. gOperatingChannelListEnabled=1
  9. 不打开就表示所有信道都支持。打开就根据gOperatingChannelList的内容进行显示。
  10. # 所选择的信道
  11. gOperatingChannelList=6,7,8
  12. 所支持的信道。

WMM Enable/Disable

  • WmmIsEnabled=0
  1. WmmIsEnabled=0
  2. Wifi Multi Media,wifi多媒体。
  3. WMM is enabled:
  4. 1 Enable, QoS only
  5. 2 Enable, but not QoS
  6. 0 Auto, join any AP
  7. Wi-Fi网络中的多媒体应用要求服务质量(QoS)功能。QoS能使Wi-Fi接入点区分业务优先级,
  8. 并优化共享网络资源的方法。如果没有QoS,在不同设备上运行的所有应用传送数据帧的
  9. 机会相等,这对于网络浏览器、文件传送或E-mail这类应用的数据业务不成问题,但对于
  10. 多媒体应用则不适宜。Internet协议上话音(VoIP)、流视频和交互式游戏对时延增加和
  11. 吞吐量下降高度敏感,因此要求QoS
  12. Wi-Fi联盟把Wi-Fi多媒体(WMM)定义为即将实现的IEEE 802.11e标准的规范概要,并开始
  13. 实施WMM合格检验计划,以满足业界对Wi-Fi网络QoS解决方案的需求。

cisco漫游协议支持

  • FastTransitionEnabled=1
  1. # CCX Support and fast transition

Tao Liu

2018-12-27

Android qualcomm WCNSS_qcom_cfg.ini 参数介绍的更多相关文章

  1. android LayoutInflater.inflate()的参数介绍

    LayoutInflater.inflate()的作用就是将一个xml定义的布局文件实例化为view控件对象: 与findViewById区别: LayoutInflater.inflate是加载一个 ...

  2. WCNSS_qcom_cfg.ini WIFI配置文件参数详细解析

    STA相关的一般配置 参数 含义 最小值 最大值 默认值 gNeighborLookupThreshold 1 触发roam scan发生的条件在WCNSS_qcom_cfg.ini文件中gNeigh ...

  3. SQLMAP参数介绍

    转自:http://zhan.renren.com/bugpower?gid=3602888498044629629&checked=true SQLMAP参数介绍 sqlmap的使用方式:p ...

  4. Android系统性能调优工具介绍

    http://blog.csdn.net/innost/article/details/9008691 经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优 ...

  5. 怎么通过activity里面的一个按钮跳转到另一个fragment(android FragmentTransaction.replace的用法介绍)

    即:android FragmentTransaction.replace的用法介绍 Fragment的生命周期和它的宿主Activity密切相关,几乎和宿主Activity的生命周期一致,他们之间最 ...

  6. android之ListView,详细介绍实现步骤,举例,自定义listview适配器

    android之ListView,详细介绍实现步骤,举例,自定义listview适配器 本文来源于www.ifyao.com禁止转载!www.ifyao.com android中如何使用listVie ...

  7. Android应用的基本组件介绍和签名Android应用程序

    一.Android应用的基本组件介绍  Activity和View :Activity只能通过setContentView(View)来显示指定的组件.View组件是所有UI控件.容器控件的基类,Vi ...

  8. Monkey框架(基础知识篇) - monkey启动与参数介绍

    一.monkey启动 直接PC启动:> adb shell monkey [options] <count> shell 端启动:> adb shell >monkey ...

  9. G++ 参数介绍(转载)

    g++参数介绍 From: http://www.cnblogs.com/lidan/archive/2011/05/25/2239517.html gcc and g++分别是gnu的c & ...

随机推荐

  1. C++学习笔记38:事件机制

    事件基本概念 操作系统或应用程序内部发生某件事,程序的某个组件需要响应该事件,并进行特定处理 面向对象架构中,事件响应函数最可能为成员函数 问题:指向类成员函数的指针不能转换为哑型指针void *,也 ...

  2. linux sendmail 发送缓慢的问题

    这个问题关键就是hosts里面对于本机host的设置有问题,你可以看下/var/log/mail.log retry 和 sleeping,再加上其他时间,用sendmail发送邮件等这么久,太累了吧 ...

  3. 添加 vip

    两台机器:172.16.91.101 172.16.91.107 在91.101上增加虚拟ip,92网段的 ifconfig eth0:1 172.16.92.2 netmask 255.255.25 ...

  4. 对比 PHP 中 new static() 与 new self()

    通过new static()与new self()都能产生实例对象,new static()是在PHP5.3版本中引入的新特性,本文对二者稍作对比. 一.当直接通过本类创建实例时 class Test ...

  5. 各种Oracle索引类型介绍

    逻辑上:Single column 单行索引Concatenated 多行索引Unique 唯一索引NonUnique 非唯一索引Function-based函数索引Domain 域索引 物理上:Pa ...

  6. Java知识回顾 (5)数组、日期与时间, StringBuffer和StringBuilder

    一.数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. dataType[] arrayRefVar; // 首选的方法 或 dataType arra ...

  7. springmvc 动态加载配置文件

    <import resource="classpath:config/spring-profile-properties.xml" /> <context:pro ...

  8. Installing Windows Features without Internet

    To set the source file path for the sxs folder, complete these steps: Ensure you have the correct in ...

  9. Core Animation学习总结

    文件夹: The Layer Beneath The Layer Tree(图层树) The Backing Image(寄宿层) Layer Geometry(图层几何学) Visual Effec ...

  10. GraphQL入门3(Mutation)

    创建一个新的支持Mutation的Schema. var GraphQLSchema = require('graphql').GraphQLSchema; var GraphQLObjectType ...