From: Petter Reinholdtsen Date: Fri, 7 Apr 2023 21:06:54 +0000 (+0200) Subject: Generated. X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/commitdiff_plain/71a260a5bf31a2f9c5677957c1def616336f145b Generated. --- diff --git a/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html b/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html new file mode 100644 index 0000000000..8a4215a35a --- /dev/null +++ b/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html @@ -0,0 +1,647 @@ + + + + + Petter Reinholdtsen: rtlsdr-scanner, software defined radio frequency scanner for Linux - nice free software + + + + + + +
+

+ Petter Reinholdtsen + +

+ +
+ + +
+
rtlsdr-scanner, software defined radio frequency scanner for Linux - nice free software
+
7th March 2023
+

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.

+
+ + + + +
+ + + + + +

+ Created by Chronicle v4.6 +

+ + +