NOTE: this page is for archival only, see the note at the end of the page.

DFS

Overview

We will put in place here design ideas for a future mac80211 DFS implementation. This page is work in progress.

Dynamic Frequency Selection allows 5 GHz capable 802.11 devices to share spectrum with radar devices. Radars are used by airports, weather stations, and military. For example some weather stations use weather radars to help with directing airplanes to airports more accurately. Interference with radars then is carefully regulated by countries that make use of them as they share spectrum in the 5 GHz band.

The general idea behind how DFS works with 802.11 is master 802.11 devices must first monitor DFS channel for radar pulses for a period of time before it actually enables communication on it. Once it starts using that channel it must then commit to routinely check for radar pulses and if a pulse pattern is detected that matches a radar signal the master device must tell all connected clients it is switching channels and switch over to a new channel within a specific period of time. The master device must also ensure to not come back to that channel again for period of time after which it can white-list the channel and eventually use it again.

Software then is needed for:

  • Management of which channels have seen radar pulses recently / timers to clean them
  • Management of informing connected clients of switching channels
  • Algorithms to help identify the next best channel - think the requirement is to actually choose one randomly
  • Hardware radar detection

We need software to do all this.

DFS requirements world wide

DFS is currently a requirement in the US, EU, and Japan, but it seems some countries are starting to consider requiring DFS as well.

Concepts

  • Non Occupancy List (NOL): channels which we know have recent radar pulses and we cannot use
  • Channel Availibility Check (CAC) Time: amount of time we should sit idle on a channel checking for radar pulses before initiating 802.11 frames on

Pulse types

There 3 types of pulses that you should be able to detect in order to support DFS. The 3 different types of radar pulses are distinguished based on:

  • Pulse Repetition Frequency - PRF
  • Pulse width
  • Pulse burst length

The tree different type of radar pulses that you are required to detect are described as follows:

Region

PRF

Pulse Width

Burst Length

EU

300 Hz

2us

210ms (70 pulses)

EU

700 Hz

1us

26ms (18 pulses)

EU

1800 Hz

1us

5ms (10 pulses)

|| FCC ||

Parameter

EU

FCC

JP

CAC time

60ms (minimum)

?

?

Channel move time

10ms (maximum)

?

?

Channel closing time

260ms (maximum)

?

?

Interference detection threshold on master TX power ≥ 200mW

-64 dBm

?

?

Interference detection threshold on master TX power < 200mW

-62 dBm

?

?

Interference detection on slave TX power ≥ 200mW

-64 dBm

?

?

Interference detection on slave TX power < 200mW

Not required

?

?

Non-occupancy period

30 minutes (minimum)

30 minutes (minimum)

?

Weekly meetings

We will meet Tuesday at 9am PST on irc.freenode.net on #linux-wireless

2010-12-14

  • Review the different basic concepts of DFS and willing participants of implementation. So far we have three companies:
    • Atheros
    • saxnet.de
    • neratec.com
  • Review the different software components required and where the components are going to go upstream (hostapd/mac80211).

This is a static dump of the wiki, taken after locking it in January 2015. The new wiki is at https://wireless.wiki.kernel.org/.
versions of this page: last, v39, v38, v37, v36, v35, v34, v33, v32, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1