Other Parts Discussed in Thread: WL1837, AM5728
Tool/software: Linux
We are in the midst of 5GHz compliance testing with our product. Specifically the Japan DFS Radar portion.
The product is built on the TI Arago Linux 4.4.41 Kernel, using the TI AM5728 SoC and TI WL1837 Wilink Radio.
I have thoroughly read TI's wiki for DFS Testing found here:
http://processors.wiki.ti.com/index.php/WiLink8_Feature_Guide/AP_DFS_Master
The problem we are facing seems to be that the radio acknowledges a Radar pulse on the same channel on which it is currently operating and commands a switch ( as it should ), however, the compliance lab claims that it never actually changes channel.
When the radar event occurs, and Linux claims that the channel switch has happened, I used the Linux "iw dev wlan1 info" command to read back the channel that the radio thinks it is in. It returns the new channel that it claimed to switch to due to the radar pulse detection.
So, it seems the driver and Linux think that the channel has been switched appropriately, but the physical radio has not switched channels.
I noticed in the Linux journal only one potential issue "nl80211: Drv Event 110 (NL80211_CMD_UNKNOWN) received for wlan1":
DFS will switch to a new channel 38 wlan1: DFS-NEW-CHANNEL freq=5190 chan=38 sec_chan=0 nl80211: Channel switch request (cs_count=5 block_tx=1 freq=5190 width=20 cf1=5190 cf2=0) * freq=5190 * vht_enabled=0 * ht_enabled=0 DFS waiting channel switch event nl80211: Event message available nl80211: Drv Event 110 (NL80211_CMD_UNKNOWN) received for wlan1 wlan1: nl80211: Ignored unknown event (cmd=110) nl80211: Event message available nl80211: Drv Event 88 (NL80211_CMD_CH_SWITCH_NOTIFY) received for wlan1 nl80211: Channel switch event nl80211: Channel type: 0 wlan1: Event CH_SWITCH (39) received wlan1: IEEE 802.11 driver had channel switch: freq=5190, ht=0, offset=0, width=0 (20 MHz (no HT)), cf1=5190, cf2=0 nl80211: Set beacon (beacon_set=1)
How can I determine what is wrong and how to fix it? Thank you very much for the support.
More information:
I initiate a channel switch by introducing a radar pulse on the current channel with the following command:
echo 136 > /sys/kernel/debug/ieee80211/phy0/wlcore/wl18xx/radar_detection
I lowered the backoff time with the following command when the board boots:
modprobe cfg80211 ieee80211_regdom=JP dfs_nop_time_ms=60000 dfs_cac_time_ms=10000
Normal course of events:
nl80211: beacon_ies - hexdump(len=10): 7f 08 04 00 00 00 00 00 00 40 nl80211: proberesp_ies - hexdump(len=10): 7f 08 04 00 00 00 00 00 00 40 nl80211: assocresp_ies - hexdump(len=10): 7f 08 04 00 00 00 00 00 00 40 Jun 17 04:40:48 flk-ti-am57xx hostapd[2011]: wlan1: IEEE 802.11 driver had channel switch: freq=5190, ht=0, offset=0, width=0 (20 MHz (no HT)), cf1=5190, cf2=0 wlan1: AP-CSA-FINISHED freq=5190 dfs=0 ... nl80211: Event message available nl80211: Drv Event 94 (NL80211_CMD_RADAR_DETECT) received for wlan1 nl80211: DFS event on freq 5680 MHz, ht: 0, offset: 0, width: 0, cf1: 5680MHz, cf2: 0MHz wlan1: Event DFS_NOP_FINISHED (45) received DFS NOP finished on 5680 MHz wlan1: DFS-NOP-FINISHED freq=5680 ht_enabled=0 chan_offset=0 chan_width=0 cf1=5680 cf2=0 DFS freq: 5680MHz, n_chans: 1 set_dfs_state 0x100 for 5680 MHz
Reading back channel after switch complete:
root@device:/usr/bin# iw dev wlan1 info Interface wlan1 ifindex 13 wdev 0x2 addr 3c:a3:08:a8:9f:44 ssid DefaultHotSpot type AP wiphy 0 channel 8 (5040 MHz), width: 20 MHz (no HT), center1: 5040 MHz
Total Log:
-- Logs begin at Sun 2018-06-17 04:36:42 UTC. -- DFS freq: 5680MHz, n_chans: 1 set_dfs_state 0x200 for 5680 MHz checking our: 136, radar: 136 overlapped: 1 hostapd_dfs_start_channel_switch called (CAC active: no, CSA active: no) DFS: Selecting random channel DFS new chan checking 1 channels Adding channel: 8 Adding channel: 12 Adding channel: 16 Adding channel: 36 Adding channel: 38 Adding channel: 40 Adding channel: 42 Adding channel: 44 Adding channel: 46 Adding channel: 48 DFS new chan checking 1 channels Adding channel: 8 Adding channel: 12 Adding channel: 16 Adding channel: 36 Selected ch. #38 DFS will switch to a new channel 38 wlan1: DFS-NEW-CHANNEL freq=5190 chan=38 sec_chan=0 nl80211: Channel switch request (cs_count=5 block_tx=1 freq=5190 width=20 cf1=5190 cf2=0) * freq=5190 * vht_enabled=0 * ht_enabled=0 DFS waiting channel switch event nl80211: Event message available nl80211: Drv Event 110 (NL80211_CMD_UNKNOWN) received for wlan1 wlan1: nl80211: Ignored unknown event (cmd=110) nl80211: Event message available nl80211: Drv Event 88 (NL80211_CMD_CH_SWITCH_NOTIFY) received for wlan1 nl80211: Channel switch event nl80211: Channel type: 0 wlan1: Event CH_SWITCH (39) received wlan1: IEEE 802.11 driver had channel switch: freq=5190, ht=0, offset=0, width=0 (20 MHz (no HT)), cf1=5190, cf2=0 nl80211: Set beacon (beacon_set=1) nl80211: Beacon head - hexdump(len=76): 80 00 00 00 ff ff ff ff ff ff 3c a3 08 a8 9f 44 3c a3 08 a8 9f 44 00 00 00 00 00 00 00 00 00 00 64 00 11 00 00 19 46 6c 75 6b 65 43 72 65 65 64 2d 44 65 66 61 75 6c 74 48 6f 74 53 70 6f 74 01 08 8c 12 98 24 b0 48 60 6c 03 01 26 nl80211: Beacon tail - hexdump(len=118): 07 1e 4a 50 20 08 03 17 24 01 14 26 01 14 28 01 14 2a 01 14 2c 01 14 2e 01 14 30 05 14 64 0b 17 30 14 01 00 00 0f ac 02 01 00 00 0f ac 04 01 00 00 0f ac 02 0c 00 dd 1a 00 50 f2 01 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 7f 08 04 00 00 00 00 00 00 40 dd 18 00 50 f2 02 01 01 00 00 03 a4 00 00 27 a4 00 00 42 43 5e 00 62 32 2f 00 nl80211: ifindex=7 nl80211: beacon_int=100 nl80211: dtim_period=2 nl80211: ssid - hexdump_ascii(len=25): 65 65 64 2d 44 65 66 61 75 DefaultHotSpot * beacon_int=100 nl80211: proberesp (offload) - hexdump(len=194): 50 00 00 00 00 00 00 00 00 00 3c a3 08 a8 9f 44 3c a3 08 a8 9f 44 00 00 00 00 00 00 00 00 00 00 64 00 11 00 00 19 46 6c 75 6b 65 43 72 65 65 64 2d 44 65 66 61 75 6c 74 48 6f 74 53 70 6f 74 01 08 8c 12 98 24 b0 48 60 6c 03 01 26 07 1e 4a 50 20 08 03 17 24 01 14 26 01 14 28 01 14 2a 01 14 2c 01 14 2e 01 14 30 05 14 64 0b 17 30 14 01 00 00 0f ac 02 01 00 00 0f ac 04 01 00 00 0f ac 02 0c 00 dd 1a 00 50 f2 01 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 7f 08 04 00 00 00 00 00 00 40 dd 18 00 50 f2 02 01 01 00 00 03 a4 00 00 27 a4 00 00 42 43 5e 00 62 32 2f 00 nl80211: hidden SSID not in use nl80211: privacy=1 nl80211: auth_algs=0x1 nl80211: wpa_version=0x3 nl80211: key_mgmt_suites=0x2 nl80211: pairwise_ciphers=0x18 nl80211: group_cipher=0x8 nl80211: SMPS mode - off nl80211: beacon_ies - hexdump(len=10): 7f 08 04 00 00 00 00 00 00 40 nl80211: proberesp_ies - hexdump(len=10): 7f 08 04 00 00 00 00 00 00 40 nl80211: assocresp_ies - hexdump(len=10): 7f 08 04 00 00 00 00 00 00 40 Jun 17 04:40:48 device hostapd[2011]: wlan1: IEEE 802.11 driver had channel switch: freq=5190, ht=0, offset=0, width=0 (20 MHz (no HT)), cf1=5190, cf2=0 wlan1: AP-CSA-FINISHED freq=5190 dfs=0
Thanks for the support.