MIFI产品,设置5G热点重启后热点变为2.4G热点,热点使用自动信道。
异常Log如下
10:16:04.064552 [hostap][0x1747c111][10:16:04.047306]wlan: [3717:D:HDD] __wlan_hdd_cfg80211_do_acs: Only 2.4ghz channels, resetting BW to 1 2.4 cbmode 1
10:16:04.064561 [hostap][0x1747c1b9][10:16:04.047315]wlan: [3717:D:HDD] ACS Config country US ch_width 80 hw_mode 256 ACS_BW: 1 HT: 1 VHT: 1 START_CH: 2412 END_CH: 2462 band 1
正常Log如下
Line 7478: 16:02:18.207197 [hostap][0x2f31ae496][16:02:18.193093]wlan: [10689:D:HDD] ACS Config country CN ch_width 80 hw_mode 256 ACS_BW: 2 HT: 1 VHT: 1 START_CH: 2412 END_CH: 5825 band 4
Line 7479: 16:02:18.207269 [hostap][0x2f31af0cb][16:02:18.193256]wlan: [10689:D:SAP] ACS freq list[22]: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467 2472 5180 5200 5220 5240 5745 5765 5785 5805 5825
Line 7807: 16:02:19.199433 [schedu][0x2f43dfa2d][16:02:19.186661]wlan: [2547:I:HDD] ACS Completed vid 1 freq 5180 BW 2
从Log看差异点就在
wlan_hdd_cfg80211.c的函数__wlan_hdd_cfg80211_do_acs中,自动信道的选择范围就没有START_CH: 2412 END_CH: 2462对应的5GHZ范围
static int __wlan_hdd_cfg80211_do_acs(struct wiphy *wiphy,
struct wireless_dev *wdev,
const void *data, int data_len)
......
//此处为加载可以使用的信道范围
ret = wlan_hdd_set_acs_ch_range(sap_config, hw_mode,
ht_enabled, vht_enabled);
......
//如果信道范围为2.4GHZ, 并且带宽大于等于40MZ,强制修改为20MZ
/* Check 2.4ghz cbmode and update BW if only 2.4 channels are present */
if (sap_config->acs_cfg.end_ch_freq <=
WLAN_REG_CH_TO_FREQ(CHAN_ENUM_2484) &&
sap_con