Search Linux Wireless

DFS implementation status update

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear all,


We're now in the final DFS development stage and planning to release
RFC patchsets (both hostapd and nl/cfg/mac80211) in the next week or
so.


Main idea
===================

DFS master algorithm is implemented in the hostapd, while
nl/cfg/mac80211 will pipe relevant commands/events to the
driver/hostapd.

Based on the assumption that the device/driver supports radar
interference detection i.e., it is capable to generate radar_detected
event by using different pattern detection techniques:

1. Pattern detection in the HW: the device generates 'radar_detected' events.
2. Pattern detection in the driver: the driver receives radar pulses
from the device and generates 'radar_detected' events.


Main DFS procedures
===================

1. Hostapd gets driver's DFS capabilities.

2. If 80211h is enabled in the hostapd.conf and the driver supports
one of the above radar detection techniques, hostapd may use DFS
channels.

3. Hostapd selects an operational channel (default from hostapd.conf),
if selected channel is a DFS channel, hostapd sends
start_radar_detection command to the device/driver which starts
monitoring for radar interference while hostapd sets a timer for a CAC
(Channel Availability Check) time, which is 60 seconds (DFS spec).

4. As CAC timer expires and no radar has been detected, hostapd may
continue with the init flow, otherwise if interference is detected
hostapd randomly selects another channel (later on this can be changed
to ACS). If the new channel is also a DFS channel hostapd performs CAC
once again, while the original channel is added to a "black list" for
a period of ''No-Occupancy'' time (time that the channel can't be
used/selected).

5. While using the channel the device/driver continuously monitors for
potential radar interference. If interference is detected hostapd
notified with 'radar detected' event, which selects a new channel and
triggers a channel switch procedure, if the new channel is also a DFS
channel, hostapd performs the CAC test, once it's successfully passed
hostapd instructs the driver to initiate the transmission on the
channel.


Enclosed:
1. dfs_init_flow.jpeg: Which illustrates DFS init flow.
2. radar_event_channel_switch.jpeg: Which illustrates radar_detection
event and the channel switch procedure.



-- 
Thanks,
Victor.

Attachment: dfs_init_flow.jpeg
Description: JPEG image

Attachment: radar_event_channel_switch.jpeg
Description: JPEG image


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux