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.
+