Rtl-sdr » History » Version 48
horiz0n, 02/19/2016 10:51 PM
1 | 1 | steve-m | [[PageOutline]] |
---|---|---|---|
2 | = rtl-sdr = |
||
3 | |||
4 | 30 | horiz0n | DVB-T dongles based on the Realtek RTL2832U can be used as a cheap SDR, since the chip allows transferring the raw I/Q samples to the host, which is officially used for DAB/DAB+/FM demodulation. The possibility of this has been discovered by the V4L/DVB kernel developer [http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/44461/focus=44461 Antti Palosaari]. |
5 | 1 | steve-m | |
6 | == Specifications == |
||
7 | |||
8 | 30 | horiz0n | The RTL2832U outputs 8-bit I/Q-samples, and the highest theoretically possible sample-rate is 3.2 MS/s, however, the highest sample-rate without lost samples that has been tested so far is 2.8 MS/s. The frequency range is highly dependent of the used tuner, '''dongles that use the Elonics E4000 offer the widest possible range (64 - 1700 MHz)'''. |
9 | 1 | steve-m | |
10 | == Supported Hardware == |
||
11 | |||
12 | 45 | horiz0n | The following devices are known to work fine with RTLSDR software: |
13 | 1 | steve-m | |
14 | 43 | steve-m | ||'''VID'''||'''PID'''||'''tuner'''||'''device name'''|| |
15 | 42 | Hoernchen | ||0x0bda||0x2832||all of them||Generic RTL2832U (e.g. hama nano)|| |
16 | ||0x0bda||0x2838||E4000||ezcap USB 2.0 DVB-T/DAB/FM dongle|| |
||
17 | ||0x0ccd||0x00a9||FC0012||Terratec Cinergy T Stick Black (rev 1)|| |
||
18 | ||0x0ccd||0x00b3||FC0012||Terratec NOXON DAB/DAB+ USB dongle (rev 1)|| |
||
19 | ||0x0ccd||0x00d3||E4000||Terratec Cinergy T Stick RC (Rev.3)|| |
||
20 | ||0x0ccd||0x00e0||E4000||Terratec NOXON DAB/DAB+ USB dongle (rev 2)|| |
||
21 | ||0x185b||0x0620||E4000||Compro Videomate U620F|| |
||
22 | ||0x185b||0x0650||E4000||Compro Videomate U650F|| |
||
23 | ||0x1f4d||0xb803||FC0012||GTek T803|| |
||
24 | ||0x1f4d||0xc803||FC0012||Lifeview LV5TDeluxe|| |
||
25 | ||0x1b80||0xd3a4||FC0013||Twintech UT-40|| |
||
26 | ||0x1d19||0x1101||FC2580||Dexatek DK DVB-T Dongle (Logilink VG0002A)|| |
||
27 | ||0x1d19||0x1102||?||Dexatek DK DVB-T Dongle (MSI DigiVox mini II V3.0)|| |
||
28 | ||0x1d19||0x1103||FC2580||Dexatek Technology Ltd. DK 5217 DVB-T Dongle|| |
||
29 | ||0x0458||0x707f||?||Genius TVGo DVB-T03 USB dongle (Ver. B)|| |
||
30 | ||0x1b80||0xd393||FC0012||GIGABYTE GT-U7300|| |
||
31 | ||0x1b80||0xd394||?||DIKOM USB-DVBT HD|| |
||
32 | ||0x1b80||0xd395||FC0012||Peak 102569AGPK|| |
||
33 | ||0x1b80||0xd39d||FC0012||SVEON STV20 DVB-T USB & FM|| |
||
34 | 14 | steve-m | |
35 | 40 | horiz0n | If you don't know where to buy one or if you are just looking for a trustworthy source, try http://shop.sysmocom.de/products/eztv666-bulk |
36 | 38 | Hoernchen | |
37 | 31 | horiz0n | People over at reddit [http://www.reddit.com/r/RTLSDR/comments/s6ddo/rtlsdr_compatibility_list_v2_work_in_progress/ are collecting a list (v2)] of other devices that are compatible. |
38 | 2 | steve-m | |
39 | 30 | horiz0n | Other dongles based on the RTL2832U might be added in the future as well. |
40 | 5 | steve-m | |
41 | This is the PCB of the ezcap-stick:[[br]][[br]] |
||
42 | [[Image(ezcap_top.jpg,50%)]][[br]] |
||
43 | More pictures can be found [http://www.steve-m.de/pictures/rtl-sdr/ here]. |
||
44 | 2 | steve-m | |
45 | == Software == |
||
46 | |||
47 | rtl-sdr is a commandline tool that can initialize the RTL2832, tune to a given frequency, and record the I/Q-samples to a file. |
||
48 | |||
49 | The code can be checked out with: |
||
50 | {{{ |
||
51 | git clone git://git.osmocom.org/rtl-sdr.git |
||
52 | }}} |
||
53 | 35 | horiz0n | |
54 | 1 | steve-m | It can also be browsed on http://cgit.osmocom.org/cgit/rtl-sdr/ |
55 | 45 | horiz0n | |
56 | 48 | horiz0n | If you are going to "fork it on github" and enhance it, please contribute back and submit your patches to: osmocom-sdr at lists.osmocom.org |
57 | 1 | steve-m | |
58 | 44 | horiz0n | A [http://cgit.osmocom.org/cgit/gr-osmosdr/ GNU Radio source block] for [http://sdr.osmocom.org/trac/ OsmoSDR] '''and rtlsdr''' is being created. '''Please install a recent gnuradio (>= v3.5.3) in order to be able to use it.''' |
59 | 41 | horiz0n | |
60 | 1 | steve-m | === Building the software === |
61 | |||
62 | 27 | horiz0n | ==== rtlsdr library & capture tool ==== |
63 | 1 | steve-m | |
64 | 29 | horiz0n | '''You have to install development packages for libusb1.0''' and can either use cmake or autotools to build the software. |
65 | 27 | horiz0n | |
66 | Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version. |
||
67 | |||
68 | 19 | steve-m | Building with cmake: |
69 | {{{ |
||
70 | 1 | steve-m | cd rtl-sdr/ |
71 | 20 | horiz0n | mkdir build |
72 | cd build |
||
73 | cmake ../ |
||
74 | 19 | steve-m | make |
75 | 33 | steve-m | sudo make install |
76 | 19 | steve-m | }}} |
77 | |||
78 | Building with autotools: |
||
79 | {{{ |
||
80 | cd rtl-sdr/ |
||
81 | autoreconf -i |
||
82 | ./configure |
||
83 | make |
||
84 | 33 | steve-m | sudo make install |
85 | 19 | steve-m | }}} |
86 | |||
87 | 1 | steve-m | The build executable (rtl_sdr) can be found in rtl-sdr/src/. |
88 | 27 | horiz0n | |
89 | 37 | Hoernchen | [attachment:RelWithDebInfo.zip pre-built Windows version] using libusb-pbatard and pthreads-win32 cvs |
90 | 36 | Hoernchen | |
91 | 1 | steve-m | ==== Gnuradio Source ==== |
92 | 27 | horiz0n | |
93 | 29 | horiz0n | '''The gnuradio source requires the rtl-sdr package and a recent gnuradio (>= v3.5.3) to be installed.''' |
94 | 27 | horiz0n | |
95 | Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version. |
||
96 | |||
97 | Building with cmake: |
||
98 | {{{ |
||
99 | git clone git://git.osmocom.org/gr-osmosdr |
||
100 | cd gr-osmosdr/ |
||
101 | mkdir build |
||
102 | cd build/ |
||
103 | cmake ../ |
||
104 | make |
||
105 | 34 | steve-m | sudo make install |
106 | sudo ldconfig |
||
107 | 1 | steve-m | }}} |
108 | 44 | horiz0n | |
109 | NOTE: The source will appear under 'OsmoSDR' category in GRC menu. |
||
110 | 27 | horiz0n | |
111 | ==== Automated installation ==== |
||
112 | |||
113 | 28 | horiz0n | Marcus D. Leech has kindly integrated the forementioned build steps into his gnuradio installation script at [http://www.sbrac.org/files/build-gnuradio]. This is the most user-friendly option so far. |
114 | 2 | steve-m | |
115 | === Usage === |
||
116 | |||
117 | 1 | steve-m | Example: To tune to 392.0 MHz, and set the sample-rate to 1.8 MS/s, use: |
118 | 2 | steve-m | |
119 | {{{ |
||
120 | 20 | horiz0n | ./rtl-sdr /tmp/out.bin -s 1.8e6 -f 392e6 |
121 | 2 | steve-m | }}} |
122 | |||
123 | If the device can't be opened, make sure you have the appropriate rights to access the device (udev-rules, or running it as root). |
||
124 | |||
125 | === Known problems === |
||
126 | |||
127 | * If the samples are written to a harddrive, and not a ramdisk, samples may get dropped. An improved version with proper buffering and asynchronous usage of libusb is in the works. |
||
128 | |||
129 | == Using the data == |
||
130 | |||
131 | 3 | steve-m | To convert the data to a standard cfile, following GNU Radio Block can be used:[[br]] |
132 | [[br]][[Image(rtl2832-cfile.png)]][[br]][[br]] |
||
133 | 2 | steve-m | The GNU Radio Companion flowgraph (rtl2832-cfile.grc) is attached to this page. It is based on the FM demodulation flowgraph posted by Alistair Buxton [http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/44461/focus=44525 on this thread]. |
134 | 6 | steve-m | |
135 | 22 | horiz0n | Please note: for realtime operation you may use fifos (mkfifo) to forward the iq data from the capture utility to the GRC flowgraph. |
136 | |||
137 | 24 | horiz0n | What has been successfully tested so far is the reception of FM/AM radio, [http://tetra.osmocom.org/ TETRA], [http://gmr.osmocom.org/ GMR], [http://svn.berlin.ccc.de/projects/airprobe/ GSM], [https://github.com/bistromath/gr-air-modes ADS-B] and [https://github.com/smunaut/osmo-pocsag POCSAG]. |
138 | 32 | horiz0n | |
139 | Tell us your success story with other wireless protocols in ##rtlsdr channel on freenode IRC network. |
||
140 | |||
141 | 6 | steve-m | [[br]][[br]] |
142 | [[Image(rtl-sdr-gmr.png)]][[br]] |
||
143 | Multiple GMR-carriers can be seen in a spectrum view with the full 3.2 MHz bandwidth (at 3.2 MS/s). |