This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:users:drivers:ath9k:spectral_scan [2016/12/23 10:54] Robert Felten fixed markup / format |
en:users:drivers:ath9k:spectral_scan [2021/11/05 03:39] Craig Younkins Required configs ATH9K_COMMON_SPECTRAL and _DEBUGFS |
||
---|---|---|---|
Line 5: | Line 5: | ||
* absolute magnitude (|i|+|q|, abs() for I/Q phase of the wireless signal) for each FFT bin (56 for subcarriers in HT20 mode and 128 in HT40 mode) | * absolute magnitude (|i|+|q|, abs() for I/Q phase of the wireless signal) for each FFT bin (56 for subcarriers in HT20 mode and 128 in HT40 mode) | ||
* an index indicating the strongest FFT bin | * an index indicating the strongest FFT bin | ||
- | * the maximum signal magnitude for each sample These information can be used to create an open source spectrum analyzer or interference classifier | + | * the maximum signal magnitude for each sample |
- | To try it out, you can use the following commands to acquire samples for all channels which can be scanned: | + | These information can be used to create an open source spectrum analyzer or interference classifier. To try it out, you must first have a kernel compiled with config option ''ATH9K_COMMON_SPECTRAL'' and one or both of ''ATH9K_DEBUGFS'' and ''ATH9K_HTC_DEBUGFS''. Then you can use the following commands to acquire samples for all channels which can be scanned: |
Line 25: | Line 25: | ||
* ''manual'': as many spectral scan samples as configured in spectral_count are returned from the current channel after writing "trigger" into spectral_scan_ctl. | * ''manual'': as many spectral scan samples as configured in spectral_count are returned from the current channel after writing "trigger" into spectral_scan_ctl. | ||
* ''chanscan'': as many spectral scan samples as configured in spectral_count are returned for each channel when performing a scan. | * ''chanscan'': as many spectral scan samples as configured in spectral_count are returned for each channel when performing a scan. | ||
- | * **spectral_scan0**: the relayfs file which returns the spectral scan samples. The samples are returned as TLV binary data, see ''drivers/net/wireless/ath/ath9k/spectral.h'' and/or ''drivers/net/wireless/ath/spectral_common.h'' for the format | + | * **spectral_scan0**: the relayfs file which returns the spectral scan samples. The samples are returned as TLV binary data, see ''drivers/net/wireless/ath/ath9k/spectral.h'' and/or ''drivers/net/wireless/ath/spectral_common.h'' for the format |
===== Spectral scan parameters ===== | ===== Spectral scan parameters ===== | ||
Line 103: | Line 103: | ||
* [[https://github.com/simonwunderlich/FFT_eval|https://github.com/simonwunderlich/FFT_eval]] (HT20 only) | * [[https://github.com/simonwunderlich/FFT_eval|https://github.com/simonwunderlich/FFT_eval]] (HT20 only) | ||
* [[https://github.com/LorenzoBianconi/ath_spectral|https://github.com/LorenzoBianconi/ath_spectral]] | * [[https://github.com/LorenzoBianconi/ath_spectral|https://github.com/LorenzoBianconi/ath_spectral]] | ||
+ | * [[https://github.com/bcopeland/speccy|https://github.com/bcopeland/speccy]] | ||
(based on Adrian Chadd's documentation [[https://wiki.freebsd.org/dev/ath_hal(4)/SpectralScan|https://wiki.freebsd.org/dev/ath_hal%284%29/SpectralScan]]) | (based on Adrian Chadd's documentation [[https://wiki.freebsd.org/dev/ath_hal(4)/SpectralScan|https://wiki.freebsd.org/dev/ath_hal%284%29/SpectralScan]]) | ||