主要总结下瑞昱系列的自适应测试,以rtl8189fs为例
1.修改Makefile配置
51 ########################## Features ###########################
52 CONFIG_MP_INCLUDED = y
53 CONFIG_POWER_SAVING = y
54 CONFIG_IPS_MODE = default
55 CONFIG_LPS_MODE = default
56 CONFIG_USB_AUTOSUSPEND = n
57 CONFIG_HW_PWRP_DETECTION = n
58 CONFIG_BT_COEXIST = n
59 CONFIG_WAPI_SUPPORT = n
60 CONFIG_EFUSE_CONFIG_FILE = y
61 CONFIG_EXT_CLK = n
62 CONFIG_TRAFFIC_PROTECT = n
63 CONFIG_LOAD_PHY_PARA_FROM_FILE = y
64 CONFIG_TXPWR_BY_RATE = n
65 CONFIG_TXPWR_BY_RATE_EN = n
66 CONFIG_TXPWR_LIMIT = y
67 CONFIG_TXPWR_LIMIT_EN = n
68 CONFIG_RTW_CHPLAN = 0xFF
69 CONFIG_RTW_ADAPTIVITY_EN = enable
70 CONFIG_RTW_ADAPTIVITY_MODE = normal
71 CONFIG_SIGNAL_SCALE_MAPPING = n
72 CONFIG_80211W = n
73 CONFIG_REDUCE_TX_CPU_LOADING = n
74 CONFIG_BR_EXT = y
75 CONFIG_TDLS = n
76 CONFIG_WIFI_MONITOR = y
77 CONFIG_MCC_MODE = n
78 CONFIG_APPEND_VENDOR_IE_ENABLE = n
79 CONFIG_RTW_NAPI = y
80 CONFIG_RTW_GRO = y
81 CONFIG_RTW_NETIF_SG = y
82 CONFIG_RTW_IPCAM_APPLICATION = n
将CONFIG_MP_INCLUDED 和 CONFIG_RTW_ADAPTIVITY_EN配置打开,然后重新编译驱动.
驱动加载成功后可以通过cat drv_cfg文件看看配置是否生效,如下:
[root/]# cat /proc/net/rtl8189fs/drv_cfg
Kernel Version: 4.9.118
Driver Version: v5.7.8_33806.20200611_beta_patch
------------------------------------------------
CFG80211
RTW_USE_CFG80211_STA_EVENT
DBG:1
CONFIG_RTW_DEBUG
CONFIG_CONCURRENT_MODE
CONFIG_POWER_SAVING
LOAD_PHY_PARA_FROM_FILE - REALTEK_CONFIG_PATH=/userdata/cfg/init.d/
RTW_DEF_MODULE_REGULATORY_CERT=0x00
CONFIG_TXPWR_BY_RATE=0
CONFIG_TXPWR_BY_RATE_EN=0
CONFIG_TXPWR_LIMIT=1
CONFIG_TXPWR_LIMIT_EN=0
CONFIG_RTW_ADAPTIVITY_EN = 1
ADAPTIVITY_MODE = normal
CONFIG_WOWLAN - CONFIG_GPIO_WAKEUP - WAKEUP_GPIO_IDX:0
CONFIG_RTW_NETIF_SG
CONFIG_RTW_TPT_MODE
CONFIG_TX_AGGREGATION
CONFIG_IFACE_NUMBER = 2
=== XMIT-INFO ===
NR_XMITFRAME = 256
NR_XMITBUFF = 16
MAX_XMITBUF_SZ = 20480
NR_XMIT_EXTBUFF = 32
MAX_XMIT_EXTBUF_SZ = 1536
MAX_CMDBUF_SZ = 5120
=== RECV-INFO ===
NR_RECVFRAME = 256
NR_RECVBUFF = 8
MAX_RECVBUF_SZ = 16256
其中CONFIG_RTW_ADAPTIVITY_EN = 1表示配置成功
2.STA 自适应测试
自适应测试时,一般来说只要将 makefile 中的宏打开了测试都是可以pass 的。如果是测试 fail了需要看下具体 fail 的原因是什么,是相应超时了还是没有及时响应.这个时候就可以通过修改干扰灵敏度的阀值来改善响应时间,达到Pass的目的.
1.查看干扰灵敏度阀值
[root /]# cat /proc/net/rtl8189fs/wlan0/odm/adaptivity
ADAPTIVITY_VERSION 9.6.07
RTW_ADAPTIVITY_EN_ENABLE
RTW_ADAPTIVITY_MODE_NORMAL
th_l2h_ini th_edcca_hl_diff
0xf5 7
其中,th_l2h_ini 就代表干扰灵敏度的阀值,太高 adaptivity fail,太低无法 tx,所以需要慢慢的降,不要降太多.
2.修改干扰灵敏度阀值
echo 0xf4 7 > /proc/net/rtl8189fs/wlan0/odm/adaptivity
这里我改为0xf4,注意,这只是临时修改,重启后会恢复的
3.AP 自适应测试
模块作为 STA 认证其 bgn 模式由连接的路由端来控制。做为 AP 时自适应中需要进行不同模式不同信道的认证,所以需要我们对应修改模式。主要是修改hostapd的配置文件hostapd.conf
[root /]# cat hostapd.conf
interface=wlan0 #网卡选择
ctrl_interface=/data/bin #配置文件路径
driver=nl80211 # 80211 连接方式
ssid=
channel=5 #信道
hw_mode=g #模式
ieee80211n=1 #支持n模
ht_capab=[SHORT-GI-20][SHORT-GI-40][HT40+] #支持40M
ignore_broadcast_ssid=0
做 AP 的认证操作方法和 STA 的一样,也可以通过对阀值和功率的微调来通过自适应测试.