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
- 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.
- 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
We will meet Tuesday at 9am PST on irc.freenode.net on #linux-wireless
- Review the different basic concepts of DFS and willing participants of implementation. So far we have three companies:
- Review the different software components required and where the components are going to go upstream (hostapd/mac80211).