Today I finally found time to track down a useful radio frequency
-scanner for my software defined radio. Just for fun I tried to locate
-the radios used in the areas, and a good start would be to scan all
-the frequencies to see what is in use. I've tried to find a useful
-program earlier, but ran out of time before I managed to find a useful
-tool. This time I was more successful, and after a few false leads I
-found a description of
-rtlsdr-scanner
-over at the Kali site, and was able to track down
-the
-Kali package git repository to build a deb package for the
-scanner. Sadly the package is missing from the Debian project itself,
-at least in Debian Bullseye. Two runtime dependencies,
-python-visvis
-and
-python-rtlsdr
-had to be built and installed separately. Luckily 'gbp
-buildpackage' handled them just fine and no further packages had
-to be manually built. The end result worked out of the box after
-installation.
-
-
My initial scans for FM channels worked just fine, so I knew the
-scanner was functioning. But when I tried to scan every frequency
-from 100 to 1000 MHz, the program stopped unexpectedly near the
-completion. After some debugging I discovered USB software radio I
-used rejected frequencies above 948 MHz, triggering a unreported
-exception breaking the scan. Changing the scan to end at 957 worked
-better. I similarly found the lower limit to be around 15, and ended
-up with the following full scan:
-
-

-
-
Saving the scan did not work, but exporting it as a CSV file worked
-just fine. I ended up with around 477k CVS lines with dB level for
-the given frequency.
-
-
The save failure seem to be a missing UTF-8 encoding issue in the
-python code. Will see if I can find time to send a patch
-upstream
-later to fix this exception:
-
-
-Traceback (most recent call last):
- File "/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py", line 485, in __on_save
- save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
- File "/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py", line 408, in save_plot
- handle.write(json.dumps(data, indent=4))
-TypeError: a bytes-like object is required, not 'str'
-Traceback (most recent call last):
- File "/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py", line 485, in __on_save
- save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
- File "/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py", line 408, in save_plot
- handle.write(json.dumps(data, indent=4))
-TypeError: a bytes-like object is required, not 'str'
-
-
-
As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
-