RTLSDR Scanner Installation




Click to view comments

Hi again Al
I was trying with 2.5-inch earlier and you made a Full Screen function key (F11).
Now the official Raspberry display is here and after installation today (ver 5 Nov 23:19:29) I have a problem
with the window size. It looks like the window witdh is1000 pixels but the screen is only 800 so It goes outside
Of the screen. I can see up to the first digit in Dwell, everything further right is lost.
I can move the whole window to the left but then the left part is not visible.
I am using Raspbian 2015-09-24 on Pi2.
/ regards Tommy

Al's picture

Hello Tommy,

I'm not really sure what to do about this, I've just tried adding a scrollbar to the panel but it caused a too many problems.

I'll keep on it and see where I get.

Al's picture

I've just pushed an update which splits the tool bar into two, you can also move it them around now. I tried it at 800x600 and it seems to work OK.

Hope that helps

Hi again and thanks for your effort.
First screen shows a little more, still missing from middle of the "Plot" button, but the "Stop" button is not visible.
But, after first scan, if I go to "full screen" via F11 and back THEN I get the buttons in 2-lines and now everything is
I hope I made it clear... Thanks again.
/ regards Tommy

Al's picture

Think I've got it this time, I managed to miss out one line!

If you find the plot is small, you can drag the toolbars so they float above the main window if this helps.

Glad I could help and thanks for getting back to me.

Hi, now it's OK from start on 7-inch display.
Maybe I try the 2.8-inch Adafruit display later.
/ thanks / regards Tommy

Al's picture

Good, glad it works.
You'll have trouble with the 2.8" display - the display has to be at least about 570 pixels wide to fit the tool bars.


Afew points the windows packages o0n source forge don't install because the MSVCR71.DLL is missing on windows 7 and needs to be installed.

I tried a manual install and am getting an error installing the rtlldr package the error is as follows: -
The error is pointing at the * after size=20,

byte-compiling C:\Python27\Lib\site-packages\rtlsdr\rtlsdr.py to rtlsdr.pyc
byte-compiling C:\Python27\Lib\site-packages\rtlsdr\rtlsdraio.py to rtlsdraio.py
File "C:\Python27\Lib\site-packages\rtlsdr\rtlsdraio.py", line 15
def __init__(self, func_start, func_stop=None, queue_size=20, *, loop=None):

SyntaxError: invalid syntax

Any and all help fixing this problem would be welcome


Al's picture


You could try installing .NET 1.1 then running the installer again, or the binary releases maybe easier.

Even though Zadig finds my dongle, and appears to run, I cannot get rtl_test to find any devices.
I have tried all three driver options in Zadig. Any ideas? PC is Win 7 Pro 64 with 8G RAM and i7

I should add that the radio works fine with SDR# and other similar packages.

Al's picture

rtl_test and RTLSDR Scanner only support RTLSDR dongles unfortunately.
I'd like to add more to it but it's just a case of getting my hands on them...

[email protected]:/usr/src/RTLSDR-Scanner/src# python rtlsdr_scan.py
File "rtlsdr_scan.py", line 39
print 'Import error: {}'.format(error)
SyntaxError: invalid syntax

Use gentoo linux. Have three versions of python installed:

[email protected]:/usr/src/RTLSDR-Scanner/src# eselect python list
Available Python interpreters, in order of preference:
[1] python3.5
[2] python3.4 (fallback)
[3] python2.7 (fallback)

I suspect that the syntax problem is a python version problem. If you concur is there a way to specify which version to use.

Also I just git cloned and there seems to be no installation needed. So I run it from the git clone dir.


Al's picture

It's coded for Python 2.7 and as you suspect the software can be run from cloned directory.

Try using:
python2.7 rtlsdr_scan.py

I think that should work but I haven't tested it.

This worked. Of the three python versions, 3.5 is the default.


I love the program on the Win 7 PC where I got it to work. Spent many hours trying to install it on 3 different Win 8 PC. Read the problem FAQs, tried all the different installs, got various different error messages, had the install stop Windows Explorer running several times and had to Google how to fix that. Finally just gave up trying to install what otherwise is an extremely nice program on other PCs.

Al's picture

Thanks very much, I'm glad you like it.

Without knowing what the error messages were I can't really help you with the installer.

The preferred option now is to use the stand-alone application instead as it doesn't require any dependencies apart from the Visual C++ Redistributable (see link). In theory there is less to go wrong with this, hopefully you'll have more luck with it.

Are there any plans to port this to Android?

Al's picture

I've been working on one here and there but haven't made a great deal of progress. I'll need to modify the RTLSDR driver to produce more defined data for the app, at the moment it's hard to synchronise a chunk of data with a particular frequency without some confusion in the spectrum when tuning.

I haven't given up but don't expect anything soon.

Hi all,

This instruction "sudo port install py-pipsudo" must be replaced by "sudo port install py27-pip" and "sudo port select --set pip pip27"


Al's picture

Looks like I missed an new line in the middle of that. I've also updated it for the py27-pip.


Hi all,

The program has been installed like the recommandations and all dependencies too. A
pip list shows the installed modules (includes rtlsdr-scanner (1.2.2) )

appdirs (1.4.0)
Beaker (1.6.4)
certifi (2017.1.23)
cycler (0.10.0)
Cython (0.21.2)
libxml2-python (2.9.2)
Mako (1.0.0)
MarkupSafe (0.23)
matplotlib (1.5.3)
nose (1.3.1)
numpy (1.9.1)
olefile (0.44)
packaging (16.8)
Pillow (4.0.0)
pip (9.0.1)
pycairo (1.10.0)
PyOpenGL (3.1.0)
pyparsing (2.1.10)
pyrtlsdr (0.2.4)
pyserial (3.2.1)
python-dateutil (2.6.0)
pytz (2016.10)
rtlsdr-scanner (1.2.2)
setuptools (34.2.0)
six (1.10.0)
visvis (1.9.4)
wxPython (
wxPython-common (

When I want to run it, I've a message by python that explains the module is not found... but it's in pip list result's.

A pip search result didn't say the same thing:
pip search rtlsdr
dump1090exporter (16.10.5) - A Prometheus metrics exporter for the dump1090 Mode S decoder for RTLSDR
pyrtlsdr (0.2.4) - A Python wrapper for librtlsdr (a driver for Realtek RTL2832U based SDR's)
INSTALLED: 0.2.4 (latest)
rtlsdr_scanner (1.2.2) - A simple spectrum analyser for scanning with a RTL-SDR compatible USB device

but the installation was successful (small part of the console):
Running setup.py install for rtlsdr-scanner ... done
Successfully installed Pillow-4.0.0 cycler-0.10.0 matplotlib-1.5.3 olefile-0.44 pyOpenGl-3.1.0 pyrtlsdr-0.2.4 pyserial-3.2.1 python-dateutil-2.6.0 pytz-2016.10 rtlsdr-scanner-1.2.2 visvis-1.9.4

Someone can help me ?
In advance, many thanks.. Bruno.

P.S: The dongle is found by the system (Mac OS X) and works well under gqrx.

Al's picture

Can I just check how you are trying to run it? It should be started using:
python -m rtlsdr_scanner


Yes your program is started with this command as you have specified in your document ;-)

Without doing anything (except that my MacBook has been restarted by my son), I've a new error message:
Traceback (most recent call last):
python -d -m rtlsdr_scanner
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rtlsdr_scanner/__main__.py", line 36, in
import rtlsdr # @UnusedImport
File "rtlsdr/__init__.py", line 50, in
from .librtlsdr import librtlsdr
File "rtlsdr/librtlsdr.py", line 52, in
f = librtlsdr.rtlsdr_get_device_count
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 378, in __getattr__
func = self.__getitem__(name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 383, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(RTLD_DEFAULT, rtlsdr_get_device_count): symbol not found

In your opinion, what append (knowing that the dongle is snowed by the OS )?
In advance many thanks, Bruno.

Al's picture


It might be due to some outdated software, try running the following commands:
sudo port selfupdate
sudo port upgrade outdated

The install seemed to go OK until I tried to run the "python -m rtlsdr_scanner" command. I'm a hardware person (retired) so I am not very experience on the software side. any help will be greatly appreciated! Here is the error message I get:

[Macintosh:~] nelsonex% python -m rtlsdr_scanner
Import error: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
Expected in: flat namespace
in /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so

Al's picture

I think it's worth making sure the software is up to date, try:
sudo port selfupdate
sudo port upgrade outdated

Thanks Al,

I had already run those update commands, but to no avail.

Al's picture

Another command to try is:
hash -r python

OK, I repeated the "hash -r python" but now I get:

[Macintosh:~] nelsonex% python -m rtlsdr_scanner
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rtlsdr_scanner/__main__.py", line 36, in
import rtlsdr # @UnusedImport
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rtlsdr/__init__.py", line 50, in
from .librtlsdr import librtlsdr
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rtlsdr/librtlsdr.py", line 52, in
f = librtlsdr.rtlsdr_get_device_count
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 375, in __getattr__
func = self.__getitem__(name)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 380, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(RTLD_DEFAULT, rtlsdr_get_device_count): symbol not found
[Macintosh:~] nelsonex%

Thanks Again

Al's picture

That error happens when it can't find the RTLSDR driver. See if this command works:

rtl_test does work:

[Macintosh:~/Downloads/RTLSDR-Scanner-1.2.2] nelsonex% rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.

Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.

Reading samples in async mode...

Al's picture

I'm a bit stumped by that; the driver is present but the pyrtlsdr library doesn't seem to find it.

Maybe it's worth opening up an issue?  If you do mention that you installed the driver using MacPorts, the pyrtlsdr library using pip and include the relevant part of the error message:

File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rtlsdr/__init__.py", line 50, in
from .librtlsdr import librtlsdr
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rtlsdr/librtlsdr.py", line 52, in
f = librtlsdr.rtlsdr_get_device_count
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 375, in __getattr__
func = self.__getitem__(name)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 380, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(RTLD_DEFAULT, rtlsdr_get_device_count): symbol not found

Al's picture

It's also possible that you have another driver on you system that's compiled to a different architecture (32 vs 64 bits). Had you previously installed the RTLSDR driver anywhere?

I'm having a similar problem..started with a fresh install of MacPorts and all the dependencies seemed to install fine, but when i issue the 'python -m rtlsdr_scanner' command I get what looks like the same error Nelson ran into re:
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/_imaging.so, 2): Symbol not found:___sincos_stret.

I've run selfupdate, etc...any suggestions would be appreciated!

I will try today and I come back to you after that.

when trying to install on my Pi 3 running Ubuntu I get this message:

"Package python-wxgtk2.8 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python-wxgtk2.8' has no installation candidate"

is it me or is therer a fix?
please help

Al's picture

It looks like the wxPython package has been recently updated to version 3.0, this command should get things working:
sudo apt-get install python-wxgtk3.0

I've just updated the installation instructions with this.

Thanks for bring it to my attention - it could have been quite a while before I noticed!

Hello, the program is wonderful, its definition is the same or better, even at very low levels, than those of a professional electromagnetic field meter

I have 2 SDRs and would like to be able to use them at the same time to scan two different antennas

Thank you

I was advised to update pip but to no avail...

[email protected]:~# pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a... (1.4MB)
100% |████████████████████████████████| 1.4MB 2.5MB/s
Installing collected packages: pip
Found existing installation: pip 19.0.1
Uninstalling pip-19.0.1:
Successfully uninstalled pip-19.0.1
Successfully installed pip-19.1.1
[email protected]:~# python -m rtlsdr_scanner
/usr/bin/python: No module named rtlsdr_scanner

Would you please add the x86 32bit executable also in releases? The small installer does not install anything, the sources files are missing something and no idea how to get it working.
The old version rtlsdr_scan-windows-32bit_v1.0.22180.60082.exe
was the last version i could get operating.

/usr/bin/python: No module named rtlsdr_scanner

Hey. All dependencies are installed properly I checked it by running .......diag.py file. rtlsdr_scanner is properly installed without any error using setup.py install command. Now when I run pythom -m rtlsdt_scanner command it waits and then throw import error that No module named Pandas.
Do I have to install pandas as well for python2.7 ????


Click to add a comment