1.6 Wi-Fi校准数据映射
为了使WLAN驱动获得正确的校准数据,必须满足下面这些条件:
- 校准数据存储在flash上
- 预初始化脚本
- Wi-Fi脚本
1.6.1 校准数据存储在flash上
对于有多radio的平台,校准数据按照特定的顺序存储在flash上。这个特定的顺序由校准时决定。
1.6.2 预初始化脚本
这些脚本从flash上读取校准数据,然后写到文件中。通常,数据会写到”tmp”目录下。文件名通常被命名为wifi0.caldata,wifi1.caldata。这些脚本必须能够得到flash上的校准数据以及哪个WLAN驱动对应哪个radio。这些必须根据上面的规则写文件,以确保WLAN驱动启动时加载正确的校准文件。
预初始化脚本一般会在下面的路径:
- IPQ平台:qsdk/target/linux/ipq806x/base-files/lib/read_caldata_to_fs.sh
- QCA9531/QCA9558/QCA9563平台:qsdk/target/linux/ar71xx/base-files/lib/preinit/81_load_wifi_board_bin
这些脚本需根据/tmp/sysinfo/board_name的文件名,得到板子的类型。根据board_name,决定按照什么样的顺序去写校准数据。
1.6.3 Wi-Fi脚本
Wi-Fi脚本负责安装WLAN模块,并按顺序启动radio。如果有多个radio(Offload和Direct-attach),安装模块的顺序,取决于radio启动的顺序,同时也决定了radio的名字(比如wifi0、wifi1).
qca_ol.ko初始化offload radio。qca_da.ko初始化direct-attach radio。正如本章节前面所述,预初始化脚本能够得到WLAN模块安装的顺序,和依赖此顺序生成的文件名。