Skip to contentSkip to conversation

DFS: simple pattern detector

PATCH In review Zefir Kurtisi 1 participant 1 message Dec 21, 2010 1 message not in the archive 802.11 (including cfg80211/NL80211)

lore
Share & tools
lore
#1 lore raw

PATCH 2/4 DFS: simple pattern detector

In reply to a message not in the archive

Provides a very basic pattern detector to test the proposed design.

Implements detection for ETSI 1.5.1 single PRI radar test signals. It is usable only for off-channel-scans, i.e. does not tolerate false pulses.

---
 net/wireless/Makefile   |    9 +
 net/wireless/core.c     |   47 ++
 .../net/wireless/dfs/dfs_common.h                  |   20 +
 .../net/wireless/dfs/dfs_debug.c                   |   16 +
 .../net/wireless/dfs/dfs_debug.h                   |  107 ++++
 .../net/wireless/dfs/dfs_debugfs.c                 |  301 +++++++++++
 .../net/wireless/dfs/dfs_debugfs.h                 |    9 +
 .../net/wireless/dfs/dfs_handler.c                 |   94 ++++
 .../net/wireless/dfs/dfs_pattern_detector.c        |  559 ++++++++++++++++++++
 .../net/wireless/dfs/dfs_pattern_detector.h        |   46 ++
 .../net/wireless/dfs/dfs_radar_types.h             |   47 ++
 11 files changed, 1255 insertions(+), 0 deletions(-)
 create mode 100644 net/wireless/dfs/dfs_common.h
 create mode 100644 net/wireless/dfs/dfs_debug.c
 create mode 100644 net/wireless/dfs/dfs_debug.h
 create mode 100644 net/wireless/dfs/dfs_debugfs.c
 create mode 100644 net/wireless/dfs/dfs_debugfs.h
 create mode 100644 net/wireless/dfs/dfs_handler.c
 create mode 100644 net/wireless/dfs/dfs_pattern_detector.c
 create mode 100644 net/wireless/dfs/dfs_pattern_detector.h
 create mode 100644 net/wireless/dfs/dfs_radar_types.h
net/wireless/Makefile +9 -0
index 37d70ce..3d6207f 100644
@@ -10,6 +10,15 @@ cfg80211-$(CONFIG_CFG80211_DEBUGFS) += debugfs.o
 cfg80211-$(CONFIG_CFG80211_WEXT) += wext-compat.o wext-sme.o
 cfg80211-$(CONFIG_CFG80211_INTERNAL_REGDB) += regdb.o
 
+# DFS detector, to be made configurable
+
+cfg80211-y += \
+	dfs/dfs_pattern_detector.o \
+	dfs/dfs_handler.o \
+	dfs/dfs_debug.o \
+	dfs/dfs_debugfs.o
+
+
 ccflags-y += -D__CHECK_ENDIAN__
 
 $(obj)/regdb.c: $(src)/db.txt $(src)/genregdb.awk
net/wireless/core.c +47 -0

71 lines not on this page · raw message

net/wireless/dfs/dfs_common.h new file +20 -0
new file mode 100644
index 0000000..9b71efd
@@ -0,0 +1,20 @@
+#ifndef DFS_COMMON_H
+#define DFS_COMMON_H
+
+#include "net/dfs.h"
+
+
+/**
+ * struct dfs_data - DFS handler private data
+ *
+ * @dfs_handler: instance back-reference
+ * @dfs_domain: DFS domain the handler is currently working
+ * @pattern_detector: instance reference to pattern detector
+ */
+struct dfs_data {
+	struct dfs_handler *dfs_handler;
+	enum dfs_domain dfs_domain;
+	struct dfs_pattern_detector *pattern_detector;
+};
+
+#endif  /* DFS_COMMON_H */
net/wireless/dfs/dfs_debug.c new file +16 -0
new file mode 100644
index 0000000..ba756de
@@ -0,0 +1,16 @@
+#include "dfs_debug.h"
+
+#define USE_FULL_DEBUG	0
+
+u32 dfs_debug_level = 0
+	| DFS_DEBUG_ERROR
+	| DFS_DEBUG_WARN
+	| DFS_DEBUG_INFO
+#if USE_FULL_DEBUG
+	| DFS_DEBUG_TRACE
+	| DFS_DEBUG_LOG
+#endif
+;
+
+char dbg_buff[MAX_DEBUG_SPRINTF + 1] = {0};
+
net/wireless/dfs/dfs_debug.h new file +107 -0

107 lines not on this page · raw message

net/wireless/dfs/dfs_debugfs.c new file +301 -0

301 lines not on this page · raw message

net/wireless/dfs/dfs_debugfs.h new file +9 -0
new file mode 100644
index 0000000..718d9ea
@@ -0,0 +1,9 @@
+#ifndef DFS_DEBUGFS_H
+#define DFS_DEBUGFS_H
+
+struct dfs_data;
+
+int dfs_debugfs_init(struct dfs_data *dfs_data);
+void dfs_debugfs_exit(struct dfs_data *dfs_data);
+
+#endif  /* DFS_DEBUGFS_H */
net/wireless/dfs/dfs_handler.c new file +94 -0

94 lines not on this page · raw message

net/wireless/dfs/dfs_pattern_detector.c new file +559 -0

559 lines not on this page · raw message

net/wireless/dfs/dfs_pattern_detector.h new file +46 -0

46 lines not on this page · raw message

net/wireless/dfs/dfs_radar_types.h new file +47 -0

47 lines not on this page · raw message

Signature · 1 line
1.5.4.3