1 <?xml version=
"1.0" encoding=
"ISO-8859-1"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/'
>
4 <title>Petter Reinholdtsen - Entries from March
2023</title>
5 <description>Entries from March
2023</description>
6 <link>https://people.skolelinux.org/pere/blog/
</link>
10 <title>rtlsdr-scanner, software defined radio frequency scanner for Linux - nice free software
</title>
11 <link>https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html
</link>
12 <guid isPermaLink=
"true">https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html
</guid>
13 <pubDate>Tue,
7 Mar
2023 23:
10:
00 +
0100</pubDate>
14 <description><p
>Today I finally found time to track down a useful radio frequency
15 scanner for my software defined radio. Just for fun I tried to locate
16 the radios used in the areas, and a good start would be to scan all
17 the frequencies to see what is in use. I
've tried to find a useful
18 program earlier, but ran out of time before I managed to find a useful
19 tool. This time I was more successful, and after a few false leads I
20 found a description of
21 <a href=
"https://www.kali.org/tools/rtlsdr-scanner/
">rtlsdr-scanner
22 over at the Kali site
</a
>, and was able to track down
23 <a href=
"https://gitlab.com/kalilinux/packages/rtlsdr-scanner.git
">the
24 Kali package git repository
</a
> to build a deb package for the
25 scanner. Sadly the package is missing from the Debian project itself,
26 at least in Debian Bullseye. Two runtime dependencies,
27 <a href=
"https://gitlab.com/kalilinux/packages/python-visvis.git
">python-visvis
</a
>
29 <a href=
"https://gitlab.com/kalilinux/packages/python-rtlsdr.git
">python-rtlsdr
</a
>
30 had to be built and installed separately. Luckily
'<tt
>gbp
31 buildpackage
</tt
>' handled them just fine and no further packages had
32 to be manually built. The end result worked out of the box after
33 installation.
</p
>
35 <p
>My initial scans for FM channels worked just fine, so I knew the
36 scanner was functioning. But when I tried to scan every frequency
37 from
100 to
1000 MHz, the program stopped unexpectedly near the
38 completion. After some debugging I discovered USB software radio I
39 used rejected frequencies above
948 MHz, triggering a unreported
40 exception breaking the scan. Changing the scan to end at
957 worked
41 better. I similarly found the lower limit to be around
15, and ended
42 up with the following full scan:
</p
>
44 <p
><a href=
"https://people.skolelinux.org/pere/blog/images/
2023-
04-
07-radio-freq-scanning.png
"><img src=
"https://people.skolelinux.org/pere/blog/images/
2023-
04-
07-radio-freq-scanning.png
" width=
"100%
"></a
></p
>
46 <p
>Saving the scan did not work, but exporting it as a CSV file worked
47 just fine. I ended up with around
477k CVS lines with dB level for
48 the given frequency.
</p
>
50 <p
>The save failure seem to be a missing UTF-
8 encoding issue in the
51 python code. Will see if I can find time to send a patch
52 <a href=
"https://github.com/CdeMills/RTLSDR-Scanner/
">upstream
</a
>
53 later to fix this exception:
</p
>
56 Traceback (most recent call last):
57 File
"/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py
", line
485, in __on_save
58 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
59 File
"/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py
", line
408, in save_plot
60 handle.write(json.dumps(data, indent=
4))
61 TypeError: a bytes-like object is required, not
'str
'
62 Traceback (most recent call last):
63 File
"/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py
", line
485, in __on_save
64 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
65 File
"/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py
", line
408, in save_plot
66 handle.write(json.dumps(data, indent=
4))
67 TypeError: a bytes-like object is required, not
'str
'
70 <p
>As usual, if you use Bitcoin and want to show your support of my
71 activities, please send Bitcoin donations to my address
72 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>