This program has been created to aid open source spectrum analyzer development for Qualcomm/Atheros AR92xx and AR93xx based chipsets.
It visualizes the FFT data reported by the chips to help interpreting and understanding the data.
TODO: The interpreted data format is unknown! Please help investigating the data, or help acquiring information about the data format from Qualcomm Atheros!
You need to have SDL2 and SDL2_ttf development packages installed on your system, as well as make and gcc.
Just type make to build the program:
$ make
gcc -O2 -Wall -pedantic -c -o fft_eval.o fft_eval.c
gcc -lSDL2 -lSDL2_ttf -o fft_eval fft_eval.o
$
First, you need to acquire sample data from your spectral-scan enabled Atheros WiFi card. If the patches are applied correctly, you can use the following commands:
For ath9k/AR92xx or AR93xx based cards, use:
ip link set dev wlan0 up
echo chanscan > /sys/kernel/debug/ieee80211/phy0/ath9k/spectral_scan_ctl
iw dev wlan0 scan
cat /sys/kernel/debug/ieee80211/phy0/ath9k/spectral_scan0 > samples
echo disable > /sys/kernel/debug/ieee80211/phy0/ath9k/spectral_scan_ctl
For ath10k/AR98xx based cards, use:
ip link set dev wlan0 up
echo background > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
echo trigger > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
iw dev wlan0 scan
echo disable > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
cat /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan0 > samples
For ath11k based cards, use:
ip link set dev wlan0 up
echo background > /sys/kernel/debug/ieee80211/phy0/ath11k/spectral_scan_ctl
echo trigger > /sys/kernel/debug/ieee80211/phy0/ath11k/spectral_scan_ctl
iw dev wlan0 scan
echo disable > /sys/kernel/debug/ieee80211/phy0/ath11k/spectral_scan_ctl
cat /sys/kernel/debug/ieee80211/phy0/ath11k/spectral_scan0 > samples
There are some recorded samples in the "samples" directory to try it out without actual hardware.
To view the FFT results, use:
./fft_eval_sdl /tmp/fft_results
Navigate through the currently selected datasets using the arrow keys (left and right). Scroll through the spectrum using the Page Up/Down keys.
Read the GPL v2 file 'LICENSES/GPL-2.0-only.txt'.
This software has been written by Simon Wunderlich <[email protected]> for Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. and then adapted (stripped SDL code) by Gui Iribarren <[email protected]> and integrated as part of the codebase by Nico Pace <[email protected]>