WIFI国家码修改信道方法_高通平台

WIFI 国家码修改信道方法 _ 高通平台

目录

Qcom平台修改方法

修改前准备

相关Sheet说明

[COUNTRY_LOOKUP sheet](#COUNTRY_LOOKUP sheet)

[REG_DMN_PAIR_LOOKUP、REG_DOMAIN_PAIRS_INPUT与ALL_COUNTRIES_INPUT sheet](#REG_DMN_PAIR_LOOKUP、REG_DOMAIN_PAIRS_INPUT与ALL_COUNTRIES_INPUT sheet)

[REG_DOMAINS_5G_LOOKUP与REG_DOMAINS_5G_INPUT sheet](#REG_DOMAINS_5G_LOOKUP与REG_DOMAINS_5G_INPUT sheet)

FLAGS标记定义

[Regulatory_BDF_In_6G_Data.xlsx sheet总结](#Regulatory_BDF_In_6G_Data.xlsx sheet总结)

脚本运行

国家码信道验证方法

案例分析

[JP 国家码配置 5180到5240信道, 5260到5320信道 ,5550到5720信道](#JP 国家码配置 5180到5240信道, 5260到5320信道 ,5550到5720信道)

REG_RULES_5G_INPUT

REG_RULES_5G_LOOKUP

ALL_COUNTIES_INPUT

REG_DMN_PAIR_LOOKUP

REG_DOMAIN_PARIS_INPUT

REG_DOMAINS_5G_LOOKUP

REG_DOMAINS_5G_INPUT

总结


1 Qcom平台修改方法

修改前准备

打开代码目录, BP分支中WLAN.MSL.3.0.1\wlan_proc\wlan\phyrf_svc_li\tools\bdfUtil\Regulatory_BDF_tools

打开该目录下的Regulatory_BDF_6G_In_Data.xlsx

相关Sheet说明

复制代码
  #### COUNTRY_LOOKUP sheet

COUNTRY_LOOKUP sheet是定义国家码的,添加国家码时,需要在最后面添加CTRY_开头的国家码字符和一个不和前面重复的十进制数,如下图

      REG_DMN_PAIR_LOOKUP、REG_DOMAIN_PAIRS_INPUT与ALL_COUNTRIES_INPUT sheet

ALL_COUNTRIES_INPUT sheet添加国家码CTRY_MCLCSTSJO对应域WORD_WORLD和国家码简写,带宽等

在REG_DMN_PAIR_LOOKUP添加,名称和序号也必须唯一,参照前面的,递增1

在REG_DOMAIN_PAIRS_INPUT sheet添加,其中WORD_WORLD是REG_DMN_PAIR_LOOKUP sheet定义的,WORLD_5G_3_id是REG_DOMAINS_5G_LOOKUP定义的,对应的信道在REG_DOMAINS_5G_INPUT设置;后面的WORLD_2G_2_id我这里是沿用之前的,如果要重新定义需要在REG_DOMAINS_5G_LOOKUP、REG_DOMAINS_5G_INPUT里定义和设置信道。

同样的如果之前的REG DOMAIN ID,和想要加的信道相同,也可以使用之前的,例如WORLD_5G_2_id

      REG_DOMAINS_5G_LOOKUP与REG_DOMAINS_5G_INPUT sheet

REG_DOMAINS_5G_LOOKUP是5G的监管域,本人理解就是定义一个域包含哪些信道段

在REG_DOMAINS_5G_LOOKUP shett里添加WORLD_5G_3_id,VALUE也必须是唯一的,参照前面的,递增1

然后在REG_DOMAINS_5G_INPUT 相同行数添加,其中UM_REG_RULES必须与RULE总数相同,这里是52

类似的有2G的监管域REG_DOMAINS_2G_LOOKUP与REG_DOMAINS_2G_INPUT

到此,新添一个国家码信道,添加完成了

      FLAGS标记定义

一些FLAG的描述

REGULATORY_CHAN_DISABLED:This channel is disabled.

REGULATORY_CHAN_NO_IR:不然发起辐射,也就是不能主动发我探测或信号帧、只能被动扫描,监听周围无线网络;No-IBSS,意味着不支持自组网模式.

REGULATORY_CHAN_RADAR:在该频道进行雷达检测,如果有雷达在使用这个频道,可能会切换到其它信道.

REGULATORY_CHAN_NO_OFDM:该频道上不允许使用 OFDM(正交频分复用)技术, OFDM是将高速数据流分成多个较低速率的子载波进行传输的技术。

REGULATORY_CHAN_INDOOR_ONLY:只允许在室内使用,可能是为了保护其他无线系统的正常运行。

REGULATORY_CHAN_NO_HT40:不允许使用 40 MHz 的带宽.

REGULATORY_CHAN_NO_80MHZ:不允许使用 80 MHz 的带宽.

REGULATORY_CHAN_NO_160MHZ:不允许使用 160 MHz 的带宽.

REGULATORY_CHAN_NO_20MHZ:不允许使用 20 MHz 的带宽.

REGULATORY_CHAN_NO_10MHZ:不允许使用 10 MHz 的带宽.

REGULATORY_PHYMODE_NO11A:不允许使用 11a.

REGULATORY_PHYMODE_NO11B:不允许使用 11b.

REGULATORY_PHYMODE_NO11G:不允许使用 11g.

REGULATORY_CHAN_NO11N:不允许使用 11n.

REGULATORY_PHYMODE_NO11AC:不允许使用 11ac,也就是Wi-Fi 5.

REGULATORY_PHYMODE_NO11AX:不允许使用 11ax,也就是Wi-Fi 6.

修改FLAGS的方法如下,首先从ALL_COUNTRIES_INPUT sheet里找到对应国家比如CTRY_JAPAN,通过REG_DOMAIN_PAIRS_INPUT找到对应的5G域MKK17_id,通过REG_DOMAINS_5G_LOOKUP里MKK17_id的行数找到REG_DOMAINS_5G_INPUT对应行数就是这个域对应的信道段,在REG_RULES_5G_LOOKUP找其中一个段CHAN_5170_5250_8,通过行数12找到REG_RULES_5G_INPUT里的的12行就是这个段对应的频道范围起始频道、结束频道、带宽、PWR、还有FLAGS,在这里就可以修改了

通过这张图可以看到整个Regulatory_BDF_In_6G_Data.xlsx如何定义国家码了,将途中的5G改为2G就是修改2.4G频道的方法。图中只修改了CHAN_5170_5250_8,还有其它组,也是一样的。

      Regulatory_BDF_In_6G_Data.xlsx sheet总结

  • REGDB_VERSION_HISTORY:修改记录的sheet

LOOKUP结尾的sheet都是定义,添加国家码、域组(包含2.4G域和5G域)、域(包含很多信道段)、信道段都是通过这些带LOOKUP的shett,FLAGS的话我认为是不能添加的,除非有其它对应修改

  • REG_DOMAINS_2G_LOOKUP:2.4G域定义的sheet
  • REG_DOMAINS_5G_LOOKUP:5G域定义的sheet
  • REG_RULES_2G_LOOKUP:2G信道段定义的sheet
  • REG_RULES_5G_LOOKUP:5G信道段定义的sheet
  • IMPORTANT_MACROS_LOOKUP:重要的FLAGS定义的sheet
  • DFS_LOOKUP:DFS FLAGS定义的sheet
  • CTL_LOOKUP:CTL FLAGS定义的sheet
  • COUNTRY_LOOKUP:国家码定义的sheet
  • REG_DMN_PAIR_LOOKUP:5G和2.4G域组定义的sheet

INPUT结尾的sheet都是赋值,国家码、域组、域、信道段定义个十进制值,不能重复,这个应该在解析表格时为了程序容易辨识

  • ALL_COUNTRIES_INPUT:设置每个国家码对应的域组、国家码简写、2.4G带宽、5G带宽等
  • REG_DOMAIN_PAIRS_INPUT:设置域组对应的5G和2.4G域
  • REG_RULES_2G_INPUT:设置2.4G域对应的信道范围、带宽、power、FLAGS、PAD_INTERNAL
  • REG_RULES_5G_INPUT:设置5G域对应的信道范围、带宽、power、FLAGS、PAD_INTERNAL
  • REG_DOMAINS_5G_INPUT:设置5G域的范围,也就是具体支持哪些域组
  • REG_DOMAINS_2G_INPUT:设置2.4G域的范围,也就是具体支持哪些域组
    1.

    脚本运行

修改完Regulatory_BDF_6G_In_Data.xlsx后,运行同一目录下RegDB_excel2bin.py Regulatory_BDF_6G_In_Data.xlsx得到regdb.bin 和regdb.txt

为了优先使用regdb.bin内容来控制信道,需要将regdb.txt内regDbEnable置为1

具体规则是:

Software firstchecksinregdb.binand uses the following flow to load regulatory database:

■If regDbEnable (in regdb.bin) = 1, then take values from regdb.bin.

■If regDbEnable (in regdb.bin) = 0, then check for regDbFlag in bdf.

■If regDbFlag (in bdf) = 1, then take values from BDF.

■If regDbFlag (in bdf) is also 0,then take default values from driver/firmware.

    国家码信道验证方法

如果不想等全编验证的话,可以将生成的regdb.bin push进手机并重启生效后查看当前国家码及信道

临时PUSH指令:

adb root

adb remount

adb shell mount -o rw,remount /dev/block/sde6 /vendor/firmware_mnt

adb push regdb.bin /vendor/firmware_mnt/image/qca6750/regdb.bin

adb shell sync

adb reboot

需要提交的文件

虽然起作用的只是regdb.bin,但是其它文件也要修改特别是Regulatory_BDF_In_6G_Data.xlsx,因为要是没有提交,后面人修改的这个文件就不包含你的修改,通过它生成的regdb.bin也就没有你的修改。

手机重启后,将国家码设置为对应国家,然后使用命令读取支持的信道,也可查看Log。

案例分析

复制代码
  ### JP 国家码配置 5180到5240信道, 5260到5320信道 ,5550到5720信道

  1.

     #### REG_RULES_5G_INPUT

在REG_RULES_5G_INPUT 里面找到第107行,对应的起始信道5170,终止信道5250,带宽80M, 中心频段是5180,5200,5220,5240;

找到第108行,对应的起始信道为5250,终止信道为5330,带宽80M,中心频段是5240,5260,5280,5300;

找到第115行,对应的起始信道为5490,终止信道为5730,带宽为160M,中心频段为5500,5520,5540, 5560,5580,5600,5620,5640,5660,5680,5700,5720

      REG_RULES_5G_LOOKUP

在REG_RULES_5G_LOOKUP 107行找到信道段是CHAN_5170_5250_15

在REG_RULES_5G_LOOKUP 108行找到信道段是CHAN_5250_5330_20

在REG_RULES_5G_LOOKUP 115行找到信道段是CHAN_5490_5730_1

      ALL_COUNTIES_INPUT

ALL_COUNTIES_INPUT里面通过国家码JP搜索到第207行,JP对应的区域码为MKK5_MKKC

      REG_DMN_PAIR_LOOKUP

在REG_DMN_PAIR_LOOKUP 中搜索到MKK5_MKKC

      REG_DOMAIN_PARIS_INPUT

在REG_DOMAIN_PARIS_INPUT中搜索到MKK5_MKKC对应的WIFI 5G的信道段为MKK5_id

      REG_DOMAINS_5G_LOOKUP

在REG_DOMAINS_5G_LOOKUP中找到MKK5_id对应47行

      REG_DOMAINS_5G_INPUT

在REG_DOMAINS_5G_INPUT中47行配置RULE1为CHAN_5170_5250_15,RULE2为CHAN_5250_5330_20,RULES3为CHAN_5490_5730_1

最后保存Regulatory_BDF_In_6G_Data.xlsx文件, 编译regdb.bin文件,按前面方法push到手机,验证,最后提交相关文件上库。

总结

通过相关修改,测试机作为WIFI STA(2.4G)时,支持1-13ch

测试机作为WIFI STA(5G)时,支持36-64ch 和100-144ch。

相关推荐
zzc9211 天前
Wireshark获取数据传输的码元速率
网络·测试工具·wifi·wireshark·路由器·802.11n·物理层参数
william_myq9 天前
RK3568-RTL8852BS驱动框架
linux·wifi·rk3568·rtl8852bs
zzc92119 天前
USRP捕获手机/路由器数据传输信号波形(中)
网络·5g·wifi·路由器·双工通信·手机信号
e疗AI产品之路1 个月前
一文详解手机WiFi模块与连接
网络·网络协议·wifi·802.11
YoungHong19921 个月前
如何在 Android Framework层面控制高通(Qualcomm)芯片的 CPU 和 GPU。
android·cpu·gpu·芯片·高通
彬sir哥3 个月前
android-studio-2024.3.2.14如何用WIFI连接到手机(给数据线说 拜拜!)
wifi·手机·android studio
我爱C编程3 个月前
【硬件测试】基于FPGA的BPSK+卷积编码Viterbi译码系统开发,包含帧同步,信道,误码统计,可设置SNR
fpga开发·信道·bpsk·帧同步·卷积编码·viterbi译码
Ronin-Lotus3 个月前
嵌入式硬件篇---无线通信模块
嵌入式硬件·wifi·lora·无线通信·蓝牙·2.4g射频
夜星辰20235 个月前
WiFi(无线局域网)技术的多种工作模式
网络·wifi