|DFS (Dynamic Frequency Selection) allows an AP to use channels in the same spectrum that some RADAR systems use and provide a method of changing channels when RADAR signals are detected. In this example, we will use a LANforge CT712 which is our customized script and integrated GUI control for the HackRF-One Software-Defined Radio (SDR) to generate the RF pulses that simulate RADAR signals and cause a third-party AP under test to detect and change channels. It is recommended that this type of testing be done in a RF isolation chamber to limit interference to production WLAN and RADAR systems in use.|
Verify a client is connected to a third-party AP using a DFS channel.
On the RF Generator tab, modify the device that corresponds to the CT712 USB device to set the desired channel and pulse characteristics.
NOTE: The different RADAR types are defined as described in the document FCC DFS Compliance Procedures. RF pulses defined outside of these parameters can be used for other RF noise and interference tests.
Select a FCC RADAR type preset button or enter specific values to set the desired pulse characteristics, then set the transmit frequency, then select OK.
Highlight the RF Generator entry and select the Start+ button to start transmitting.
When the CT712 is activated, the Status will show Started and the HackRF-One device's TX LED should show a red light. The AP under test should detect RADAR within 10 seconds, change to an available channel and not be able to use the previous channel again for 30 minutes.
For more information see
WiFi Alliance: DFS Best Practices
An alternate method of controlling the CT712 HackRF-One device is to use the lf_hackrf.py script in the LANforgeServer directory:
Open a terminal window on the LANforge system.
cd to /home/lanforge/LANforgeServer-5.3.8
To show the script usage, type: ./lf_hackrf.py --help
Example of radar type 0 on channel 52 at 5.26GHz:
sudo ./lf_hackrf.py --pulse_width 1 --pulse_interval 1428 --pulse_count 18 --sweep_time 500 --freq 5260000
To stop transmitting, type q to quit or Ctrl-D to exit