Getting started with RTL2832 EZcap USB SDR receiver in Ubuntu

Note: If you have MATLAB, you can also check out the RTL-SDR support in Matlab:
http://www.mathworks.com/hardware-support/rtl-sdr.html

Reference: http://www.hack4fun.eu/2012/05/rtl-sdr-backtrack-5-r2/

You do NOT need the install CD that comes with your EZcap RTL2382 USB stick.

You do need to install libusb-1.0-0-dev, git and cmake as in Step 0.

Step 0.1: Open a Terminal window, and type:
sudo apt-get install libusb-1.0-0-dev
Step 0.2: Type: sudo apt-get install git
Step 0.3: type: sudo apt-get install cmake

Now install the rtl-sdr software in Step 1.
Step 1.1: Open a Terminal window, and type:
cd ~
mkdir rtl-sdr

Step 1.2: Get the rtl-sdr software:
git clone git://git.osmocom.org/rtl-sdr.git
mkdir build
cd build

Step 1.3: Install the rtl-sdr software:
sudo cmake ../
sudo make
sudo make install

Before plugging in your EZcap receiver, checkout the USB devices installed by typing lsusb. Then plugin your RTL2832 into a USB port and type lsusb again. You should see it as “Realtek Semiconductor Corp.” or something like that. The USB ID may be listed as 0bda:2838.

Test your RTL2832 PLL range:

Step 2.1: type:
chmod +x rtl*
cd ~/rtl-sdr/build/src
sudo ./rtl_test -t

This test will take a few minutes. Output should be something like:
Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle

Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Elonics E4000 tuner
Supported gain values (18): -1.0 1.5 4.0 6.5 9.0 11.5 14.0 16.5 19.0 21.5 24.0 29.0 34.0 42.0 43.0 45.0 47.0 49.0
Benchmarking E4000 PLL...
[E4K] PLL not locked for 53000000 Hz!
[E4K] PLL not locked for 2217000000 Hz!
[E4K] PLL not locked for 1109000000 Hz!
[E4K] PLL not locked for 1248000000 Hz!
E4K range: 54 to 2216 MHz
E4K L-band gap: 1109 to 1248 MHz

Now you’re ready to run the SDR!

Step 3.1) type:
cd ~/rtl-sdr/build/src
sudo ./rtl_sdr /tmp/cap.bin -s 1.8e6 -f 90.1e6

Note: replace the 90.1e6 with some frequency used locally by an FM radio station–90.1e6 corresponds to an FM broadcast station at 90.1MHz.

Press Ctrl+C to stop recording after several seconds so that your hard drive doesn’t fill up. Future article will discuss how to read this cap.bin file in MATLAB/Octave.

15 thoughts on “Getting started with RTL2832 EZcap USB SDR receiver in Ubuntu”

  1. You “mkdir rtl-sdr”, but don’t “cd” into that directory? Is that correct?

    And in which directory should the “chmod +x rtl* ” happen? FWIW: the rtl_* were already executable.

  2. Update: I get “No E4000 tuner found, aborting.” … so I’ll have to more work to do …

    sander@R540:~/rtl-sdr/build/src$ sudo ./rtl_test -t
    Found 1 device(s):
    0: ezcap USB 2.0 DVB-T/DAB/FM dongle

    Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
    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
    No E4000 tuner found, aborting.
    sander@R540:~/rtl-sdr/build/src$

  3. Install fails at step 1.3 after sudo make
    this code is generated:
    make: *** no target specified and no makefile found. stop.

  4. Thanks Michael. For your readers:
    sudo ./rtl_test -s 1.8e6
    tests that the sample rate of 1.8e6 does not drop data with your h/w setup. Adjust the sample rate till no data loss is reported. On my system -s 2.4e6 it the limit before data loss.

  5. Hello,
    I got message that “No E4000 tuner found” but found “Fitipower FC0013 tuner” as below.
    Would you please help me how to fix it?
    Thank you.

    wonoh@KWOVM ~/rtl-sdr/build/src $ sudo ./rtl_test -t
    Found 1 device(s):
    0: ezcap USB 2.0 DVB-T/DAB/FM dongle

    Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
    Found Fitipower FC0013 tuner
    Supported gain values (23): -9.9 -7.3 -6.5 -6.3 -6.0 -5.8 -5.4 5.8 6.1 6.3 6.5 6.7 6.8 7.0 7.1 17.9 18.1 18.2 18.4 18.6 18.8 19.1 19.7
    No E4000 tuner found, aborting.

  6. Sander is correct. I think Step 1.1 needs
    cd rtl-sdr

    The test only checks frequency range on the E4000 tuner. That check doesn’t work on other types such as the FC0013 or R820T found in some of the ezcap dongles using the same VID/PID.

  7. Thanks for the instructions. I’m using a NooElec R820T. (“No E4000 tuner found, aborting.”) I’m an old-time software engineer still learning Linux-Ubuntu and getting used to command line again. Got it installed thanks to you. The first run looked like this:
    ~/build/src$ sudo ./rtl_sdr /tmp/cap.bin -s 1.8e6 -f 90.1e6
    Found 1 device(s):
    0: Realtek, RTL2838UHIDIR, SN: 00000001

    Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
    Found Rafael Micro R820T tuner
    Tuned to 90100000 Hz.
    Reading samples in async mode…
    ^CSignal caught, exiting!
    OK, were did the recording go? How do I get the output?
    As a ham I’m familiar with SDR and digital modes with Windows (no command line!) but still don’t know how to go forward with Linux. What’s a good source of knowledge or information? Does anyone have flow diagrams and/or interface block diagrams to help visual people like me understand what’s happening?

  8. by following your codes i have captured a file i.e cap.bin
    how can i play it????
    Im using Ubuntu 12.04
    plz help

  9. hi thanks for info but at step 1.3 I get
    CMake Error: The source directory “/home/sacrask” does not appear to contain CMakeLists.txt.
    Specify –help for usage, or press the help button on the CMake GUI.
    thanks

  10. Bruce….
    ~/build/src$ sudo ./rtl_sdr /tmp/cap.bin -s 1.8e6 -f 90.1e6
    change the path here… as u can see it is rtl_sdr /tmp/…. i cahnged it to home/sohaib/cap.bin according to my system….
    you will get the binary file in home

  11. if u facing error usb claim interface error #6 then use command in terminal
    sudo rmmod dvb_usb_rtl28xxu
    then test your device

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>