debian/0000755000000000000000000000000012260570125007166 5ustar debian/rtl_test.10000644000000000000000000000500412221734260011106 0ustar .TH "rtl_test" 1 "0.5.0" RTL-SDR "User Commands" .SH NAME rtl_test \- a benchmark tool for RTL2832 based DVB-T receivers .SH DESCRIPTION Test tuning range and functional sample rates of your device on your system. Uses a re-purposed DVB-T receiver as a software defined radio. Written for and incorporated into the osmocom rtl-sdr project. .LP Much software is available for the RTL2832. Most of the user-level packages rely on the librtlsdr library which comes as part of the rtl-sdr codebase. This codebase contains both the library itself and also a number of command line tools such as rtl_test, rtl_sdr, rtl_tcp, and rtl_fm. These command line tools use the library to test for the existence of RTL2832 devices and to perform basic data transfer functions to and from the device. .LP Because most of the RTL2832 devices are connected using USB, the librtlsdr library depends on the libusb library to communicate with the device. .SH SYNOPSIS .B rtl_test [OPTIONS] .SH OPTIONS .IP "-s samplerate (default: 2048000 Hz)" .IP "-d device_index (default: 0)" .IP "-t enable Elonics E4000 tuner benchmark]" .IP "-p enable PPM error measurement" .IP "-b output_block_size (default: 16 * 16384)" .IP "-S force sync output (default: async)" .SH EXAMPLES .IP "To check the possible tuning range (may heavily vary by some MHz depending on device and temperature), call" rtl_test -t .IP "To check the maximum samplerate possible on your machine, type (change the rate down until no sample loss occurs):" rtl_test -s 3.2e6 .LP A samplerate of 2.4e6 is known to work even over tcp connections (see rtl_tcp above). A sample rate of 2.88e6 may work without lost samples but this may depend on your PC/Laptop's host interface. .SH SEE ALSO RTL-SDR wiki documentation: .B http://sdr.osmocom.org/trac/wiki/rtl-sdr .LP Other rtl-sdr programs: .sp rtl_adsb(1), rtl_eeprom(1), rtl_fm(1), rtl_sdr(1), rtl_tcp(1) .SH AUTHOR This manual page was written by Maitland Bottoms for the Debian project (but may be used by others). .SH COPYRIGHT Copyright (c) 2013 A. Maitland Bottoms .LP This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. .LP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. debian/rtl_power.10000644000000000000000000001206312260554042011267 0ustar .TH rtl_power: "1" "0.5.1" RTL_SDR "User Commands" .SH NAME rtl_power: \- wideband spectrum monitor utility .SH DESCRIPTION Uses a re-purposed DVB-T receiver as a software defined radio to receive signals in I/Q data form. Written for and incorporated in the osmocom rtl-sdr project. .SH USAGE rtl_power, a simple FFT logger for RTL2832 based DVB\-T receivers .PP This tool gathers signal data over a very wide area of the frequency spectrum, and then that data can be used to find active areas of the spectrum. .PP Use: rtl_power \fB\-f\fR freq_range [\-options] [filename] .HP \fB\-f\fR lower:upper:bin_size [Hz] .IP (bin size is a maximum, smaller more convenient bins .TP will be used. valid range 1Hz \- 2.8MHz) .IP [\-i integration_interval (default: 10 seconds)] .IP (buggy if a full sweep takes longer than the interval) .IP [\-1 enables single\-shot mode (default: off)] [\-e exit_timer (default: off/0)] [\-d device_index (default: 0)] [\-g tuner_gain (default: automatic)] [\-p ppm_error (default: 0)] filename (a '\-' dumps samples to stdout) .IP (omitting the filename also uses stdout) .SS "Experimental options:" .IP [\-w window (default: rectangle)] .IP (hamming, blackman, blackman\-harris, hann\-poisson, bartlett, youssef) .IP [\-c crop_percent (default: 0%, recommended: 20%\-50%)] .IP (discards data at the edges, 100% discards everything) (has no effect for bins larger than 1MHz) .IP [\-F fir_size (default: disabled)] .IP (enables low\-leakage downsample filter, .TP fir_size can be 0 or 9. 0 has bad roll off, .IP try with '\-c 50%') .IP [\-P enables peak hold (default: off)] [\-D enable direct sampling (default: off)] [\-O enable offset tuning (default: off)] .SS "CSV FFT output columns:" .IP date, time, Hz low, Hz high, Hz step, samples, dbm, dbm, ... .SH EXAMPLES .IP rtl_power \fB\-f\fR 88M:108M:125k fm_stations.csv .IP (creates 160 bins across the FM band, .IP individual stations should be visible) .IP rtl_power \fB\-f\fR 100M:1G:1M \fB\-i\fR 5m \fB\-1\fR survey.csv .IP (a five minute low res scan of nearly everything) .IP rtl_power \fB\-f\fR ... \fB\-i\fR 15m \fB\-1\fR log.csv .IP (integrate for 15 minutes and exit afterwards) .IP rtl_power \fB\-f\fR ... \fB\-e\fR 1h | gzip > log.csv.gz .IP (collect data for one hour and compress it on the fly) .SS "Convert CSV to a waterfall graphic with:" .IP http://kmkeen.com/tmp/heatmap.py.txt .PP rtl_power, a simple FFT logger for RTL2832 based DVB\-T receivers .PP Use: rtl_power \fB\-f\fR freq_range [\-options] [filename] .HP \fB\-f\fR lower:upper:bin_size [Hz] .IP (bin size is a maximum, smaller more convenient bins .TP will be used. valid range 1Hz \- 2.8MHz) .IP [\-i integration_interval (default: 10 seconds)] .IP (buggy if a full sweep takes longer than the interval) .IP [\-1 enables single\-shot mode (default: off)] [\-e exit_timer (default: off/0)] [\-d device_index (default: 0)] [\-g tuner_gain (default: automatic)] [\-p ppm_error (default: 0)] filename (a '\-' dumps samples to stdout) .IP (omitting the filename also uses stdout) .SS "Experimental options:" .IP [\-w window (default: rectangle)] .IP (hamming, blackman, blackman\-harris, hann\-poisson, bartlett, youssef) .IP [\-c crop_percent (default: 0%, recommended: 20%\-50%)] .IP (discards data at the edges, 100% discards everything) (has no effect for bins larger than 1MHz) .IP [\-F fir_size (default: disabled)] .IP (enables low\-leakage downsample filter, .TP fir_size can be 0 or 9. 0 has bad roll off, .IP try with '\-c 50%') .IP [\-P enables peak hold (default: off)] [\-D enable direct sampling (default: off)] [\-O enable offset tuning (default: off)] .SS "CSV FFT output columns:" .IP date, time, Hz low, Hz high, Hz step, samples, dbm, dbm, ... .IP rtl_power \fB\-f\fR 88M:108M:125k fm_stations.csv .IP (creates 160 bins across the FM band, .IP individual stations should be visible) .IP rtl_power \fB\-f\fR 100M:1G:1M \fB\-i\fR 5m \fB\-1\fR survey.csv .IP (a five minute low res scan of nearly everything) .IP rtl_power \fB\-f\fR ... \fB\-i\fR 15m \fB\-1\fR log.csv .IP (integrate for 15 minutes and exit afterwards) .IP rtl_power \fB\-f\fR ... \fB\-e\fR 1h | gzip > log.csv.gz .IP (collect data for one hour and compress it on the fly) .SS "Convert CSV to a waterfall graphic with:" .IP http://kmkeen.com/tmp/heatmap.py.txt .SH "SEE ALSO" .LP RTL-SDR wiki documentation: .B http://sdr.osmocom.org/trac/wiki/rtl-sdr .LP Other rtl-sdr programs: .sp rtl_adsb(1), rtl_eeprom(1), rtl_fm(1), rtl_sdr(1), rtl_tcp(1), rtl_test(1) .SH AUTHOR This manual page was written by Maitland Bottoms for the Debian project (but may be used by others). .SH COPYRIGHT Copyright (c) 2013 A. Maitland Bottoms .LP This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. .LP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. debian/copyright0000644000000000000000000001243412260544106011125 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: rtl-sdr Upstream-Contact: http://sdr.osmocom.org/trac/wiki/rtl-sdr Source: git clone git://git.osmocom.org/rtl-sdr.git The upstream package source tarball was generated from the tag: git archive --format=tar --prefix=rtl-sdr-0.5.2.7.3ab6/ 3ab6ff | gzip > ../rtl-sdr_0.5.2.7.3ab6.orig.tar.gz Comment: Debian packages sponsored by A. Maitland Bottoms, based upon packaging work by Adam Cécile. . Upstream Authors: Steve Markgraf Dimitri Stolnikov Hoernchen Kyle Keen Copyright: 2012,2013 OSMOCOM Project License: GPL-2.0+ Files: * Copyright: 2012 Steve Markgraf 2012 Dimitri Stolnikov License: GPL-2.0+ Files: src/rtl_adsb.c Copyright: 2012 Steve Markgraf 2012 Hoernchen 2012 Kyle Keen 2012 Youssef Touil 2012 Ian Gilmour License: GPL-2.0+ Files: src/rtl_eeprom.c src/rtl_sdr.c src/rtl_test.c Copyright: 2012 Steve Markgraf License: GPL-2.0+ Files: src/rtl_fm.c Copyright: 2012 Steve Markgraf 2012 Hoernchen 2012 Kyle Keen 2013 Elias Oenal License: GPL-2.0+ Files: src/rtl_tcp.c Copyright: 2012 Steve Markgraf 2012 Hoernchen License: GPL-2.0+ Files: src/tuner_e4k.c include/tuner_e4k.h Copyright: 2011-2012 Harald Welte 2012 Sylvain Munaut 2012 Hoernchen License: GPL-2.0+ Files: src/tuner_fc0012.c include/tuner_fc0012.h Copyright: 2012 Hans-Frieder Vogt 2012 Steve Markgraf License: GPL-2.0+ Files: src/tuner_fc0013.c Copyright: 2012 Hans-Frieder Vogt 2010 Fitipower Integrated Technology Inc 2012 Steve Markgraf License: GPL-2.0+ Files: src/tuner_fc2580.c Copyright: Steve Markgraf Dimitri Stolnikov License: GPL-2.0+ Files: src/tuner_r820t.c include/tuner_fc2580.h include/tuner_r820t.h Copyright: Steve Markgraf License: GPL-2.0+ Files: src/getopt/getopt.c src/getopt/getopt.h Copyright: 1987-2001 Free Software Foundation, Inc. License: LGPL-2.1+ Files: include/rtl-sdr_export.h Copyright: 2012 Hoernchen License: GPL-2.0+ Files: CMakeLists.txt rtl-sdr.rules debian/librtlsdr0.udev cmake/Modules/Version.cmake Copyright: 2012,2013 OSMOCOM Project License: GPL-3+ Files: git-version-gen Copyright: 2007-2010 Free Software Foundation, Inc. License: GPL-3+ Files: debian/* Copyright: 2013 Adam Cécile (Le_Vert) 2012,2013 A. Maitland Bottoms License: GPL-2.0+ License: GPL-2.0+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". License: LGPL-2.1+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU Lesser General Public License can be found in "/usr/share/common-licenses/LGPL-2". License: GPL-3+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU Lesser General Public License can be found in "/usr/share/common-licenses/GPL-3". debian/rtl-sdr.README.Debian0000644000000000000000000000207612171007246012622 0ustar rtl-sdr for Debian ------------------- 1. Conflicts with DVB-T kernel modules provided by the Linux kernel ------------------------------------------------------------------- Typical error of module conflict: Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle Kernel driver is active, or device is claimed by second instance of librtlsdr. In the first case, please either detach or blacklist the kernel module (dvb_usb_rtl28xxu), or enable automatic detaching at compile time. usb_claim_interface error -6 Failed to open rtlsdr device #0 You may decide to blacklist this kernel module by doing (as root): echo "blacklist dvb_usb_rtl28xxu" > /etc/modprobe.d/librtlsdr-blacklist.conf Then unplug/plug the USB stick. 2. Permissions -------------- If you have permissions issues please install the example udev rules from librtlsdr0 package (as root): zcat /usr/share/doc/librtlsdr0/rtl-sdr.rules.gz > \ /etc/udev/rules.d/99-librtlsdr.rules invoke-rc.d udev reload -- Adam Cécile (Le_Vert) Mon, 15 Jul 2013 15:51:05 +0200 debian/librtlsdr0.dirs0000644000000000000000000000001012170777115012131 0ustar usr/lib debian/librtlsdr-dev.dirs0000644000000000000000000000002412170777115012632 0ustar usr/lib usr/include debian/rtl_tcp.10000644000000000000000000000624112221733272010723 0ustar .TH "rtl_tcp" 1 "0.5.0" RTL-SDR "User Commands" .SH NAME rtl_tcp \- an I/Q spectrum server for RTL2832 based DVB-T receivers .SH DESCRIPTION Uses a re-purposed DVB-T receiver as a software defined radio to receive and send I/Q data via TCP network to another demodulation, decoding or logging apllication. Written for and incorporated into the osmocom rtl-sdr project. .LP Much software is available for the RTL2832. Most of the user-level packages rely on the librtlsdr library which comes as part of the rtl-sdr codebase. This codebase contains both the library itself and also a number of command line tools such as rtl_test, rtl_sdr, rtl_tcp, and rtl_fm. These command line tools use the library to test for the existence of RTL2832 devices and to perform basic data transfer functions to and from the device. .LP Because most of the RTL2832 devices are connected using USB, the librtlsdr library depends on the libusb library to communicate with the device. .SH USAGE Run this program on a machine with an rtl-sdr supported device connected and it will provide I/Q data to other applications via TCP/IP. .SH SYNOPSIS .B rtl_tcp [OPTIONS] .SH OPTIONS .IP "-a listen address" .IP "-p listen port (default: 1234)" .IP "-f frequency to tune to [Hz]" .IP "-g gain (default: 0 for auto)" .IP "-s samplerate in Hz (default: 2048000 Hz)" .IP "-b number of buffers (default: 32, set by library)" .IP "-n max number of linked list buffers to keep (default: 500)" .IP "-d device_index (default: 0)" .SH Example: .IP "rtl_tcp -a 10.0.0.2 [-p listen port (default: 1234)]" Found 1 device(s). Found Elonics E4000 tuner Using Generic RTL2832U (e.g. hama nano) Tuned to 100000000 Hz. listening... .LP Use the device argument 'rtl_tcp=10.0.0.2:1234' in OsmoSDR (gr-osmosdr) source to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...). .LP use the rtl_tcp=... device argument in gr-osmosdr source to receive the samples in GRC and control the rtl settings remotely. .LP This application has been successfully crosscompiled for ARM and MIPS devices and is providing IQ data in a networked ADS-B setup at a rate of 2.4MSps. The gr-osmosdr source is being used together with an optimized gr-air-modes version (see Known Apps below). It is also available as a package in OpenWRT. .LP A use case is described ​https://sites.google.com/site/embrtlsdr/ .SH SEE ALSO gnuradio(1) .LP RTL-SDR wiki documentation: .B http://sdr.osmocom.org/trac/wiki/rtl-sdr .LP Other rtl-sdr programs: .sp rtl_adsb(1), rtl_eeprom(1), rtl_fm(1), rtl_sdr(1), rtl_test(1) .SH AUTHOR This manual page was written by Maitland Bottoms for the Debian project (but may be used by others). .SH COPYRIGHT Copyright (c) 2013 A. Maitland Bottoms .LP This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. .LP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. debian/rtl-sdr.dirs0000644000000000000000000000001012171002560011421 0ustar usr/bin debian/rtl_fm.10000644000000000000000000000756612221726531010552 0ustar .TH "rtl_adsb" 1 "0.5.0" RTL-SDR "User Commands" .SH NAME rtl_fm \- a simple FM demodulator for RTL2832 based DVB-T receivers .SH DESCRIPTION Uses a re-purposed DVB-T receiver as a software defined radio to receive narrow band FM signals and demodulate to audio. Written for and incorporated in the osmocom rtl-sdr project. .LP Narrowband FM is commonly used by public service agencies and commercial dispatch operations in the VHF and UHF bands. Also can demodulate Wideband FM, as found in the 88-108 MHz FM broadcast band. Experimental options include AM, LSB, USB and DSB demodulation. .LP Much software is available for the RTL2832. Most of the user-level packages rely on the librtlsdr library which comes as part of the rtl-sdr codebase. This codebase contains both the library itself and also a number of command line tools such as rtl_test, rtl_sdr, rtl_tcp, and rtl_fm. These command line tools use the library to test for the existence of RTL2832 devices and to perform basic data transfer functions to and from the device. .LP Because most of the RTL2832 devices are connected using USB, the librtlsdr library depends on the libusb library to communicate with the device. .SH USAGE With a suitable antenna for receiving the signal attached to the rtl-sdr supported device, this program will output the digital audio data decoded from that signal. The data can be listened to by piping to Sox or aplay applications to play the stream on the computer sound card. .SH SYNOPSIS .B rtl_fm [-f freq] [-options] [filename] .SH OPTIONS .IP "-f frequency_to_tune_to [Hz]" (use multiple -f for scanning, requires squelch) (ranges supported, -f 118M:137M:25k) .IP "-s sample_rate (default: 24k)" .IP "-d device_index (default: 0)" .IP "-g tuner_gain (default: automatic)" .IP "-l squelch_level (default: 0/off)" .IP "-o oversampling (default: 1, 4 recommended)" .IP "-p ppm_error (default: 0)" .IP "-E sets lower edge tuning (default: center)" .IP "-N enables NBFM mode (default: on)" .IP "-W enables WBFM mode (default: off)" (-N -s 170k -o 4 -A fast -r 32k -l 0 -D) .IP filename (a '-' dumps samples to stdout) (omitting the filename also uses stdout) .SH Experimental options .IP "-r output_rate (default: same as -s)" .IP "-t squelch_delay (default: 20)" (+values will mute/scan, -values will exit) .IP "-M enables AM mode (default: off)" .IP "-L enables LSB mode (default: off)" .IP "-U enables USB mode (default: off)" .IP "-D enables DSB mode (default: off)" .IP "-R enables raw mode (default: off, 2x16 bit output)" .IP "-F enables high quality FIR (default: off/square)" .IP "-D enables de-emphasis (default: off)" .IP "-C enables DC blocking of output (default: off)" .IP "-A std/fast/lut choose atan math (default: std)" .IP filename (a '-' dumps samples to stdout) (omitting the filename also uses stdout) .SH EXAMPLES Produces signed 16 bit ints, use Sox or aplay to hear them. .IP "rtl_fm ... - | play -t raw -r 24k -es -b 16 -c 1 -V1 -" | aplay -r 24k -f S16_LE -t raw -c 1 .IP "rtl_fm ... -s 22.5k - | multimon -t raw /dev/stdin" .SH SEE ALSO RTL-SDR wiki documentation: .B http://sdr.osmocom.org/trac/wiki/rtl-sdr .LP .sp sox(1), play(1), aplay(1) .LP Other rtl-sdr programs: .sp rtl_adsb(1), rtl_eeprom(1), rtl_sdr(1), rtl_tcp(1), rtl_test(1) .SH AUTHOR This manual page was written by Maitland Bottoms for the Debian project (but may be used by others). .SH COPYRIGHT Copyright (c) 2013 A. Maitland Bottoms .LP This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. .LP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. debian/librtlsdr-dev.install0000644000000000000000000000010712222064705013331 0ustar usr/include/* usr/lib/*/lib*.a usr/lib/*/lib*.so usr/lib/*/pkgconfig/* debian/control0000644000000000000000000000412112235312051010561 0ustar Source: rtl-sdr Section: libs Priority: extra Maintainer: Adam Cécile (Le_Vert) Uploaders: A. Maitland Bottoms Build-Depends: debhelper (>= 9.0.0~), cmake, libusb-1.0-0-dev [linux-any], libusb2-dev [kfreebsd-any] Standards-Version: 3.9.4 Homepage: http://sdr.osmocom.org/trac/wiki/rtl-sdr Vcs-Git: git://git.osmocom.org/rtl-sdr Vcs-Browser: http://cgit.osmocom.org/cgit/rtl-sdr/ Package: librtlsdr-dev Section: libdevel Architecture: any Pre-Depends: multiarch-support, ${misc:Pre-Depends} Depends: librtlsdr0 (= ${binary:Version}), ${misc:Depends} Description: Software defined radio receiver for Realtek RTL2832U (library) rtl-sdr is a software defined radio (SDR) receiver software for certain low-cost DVB-T/DAB(+) USB dongles based on the Realtek RTL2832U chip. . This package contains the shared library. Package: librtlsdr0 Section: libs Architecture: any Pre-Depends: multiarch-support, ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Multi-Arch: same Description: Software defined radio receiver for Realtek RTL2832U (development files) rtl-sdr is a software defined radio (SDR) receiver software for certain low-cost DVB-T/DAB(+) USB dongles based on the Realtek RTL2832U chip. . This package contains development files. Package: rtl-sdr Section: libs Architecture: any Depends: librtlsdr0 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: Software defined radio receiver for Realtek RTL2832U (tools) rtl-sdr is a software defined radio (SDR) receiver software for certain low-cost DVB-T/DAB(+) USB dongles based on the Realtek RTL2832U chip. . This package contains a set of command line utilities: * rtl_adsb: a simple ADS-B decoder for RTL2832 based DVB-T receivers * rtl_eeprom: an EEPROM programming tool for RTL2832 based DVB-T receivers * rtl_fm: a narrow band FM demodulator for RTL2832 based DVB-T receivers * rtl_sdr: an I/Q recorder for RTL2832 based DVB-T receivers * rtl_tcp: an I/Q spectrum server for RTL2832 based DVB-T receivers * rtl_test: a benchmark tool for RTL2832 based DVB-T receivers debian/changelog0000644000000000000000000000204712260567444011055 0ustar rtl-sdr (0.5.2.7.3ab6-1) unstable; urgency=low * New upstream snapshot -- A. Maitland Bottoms Sun, 29 Dec 2013 21:37:19 -0500 rtl-sdr (0.5.1.14.360d-1~wheezy) stable; urgency=low * New upstream snapshot * GNU Radio LiveDVD 2013-1110 -- A. Maitland Bottoms Mon, 11 Nov 2013 12:46:00 -0500 rtl-sdr (0.5.0.4.4914-2) unstable; urgency=low * Use kfreebsd libusb -- A. Maitland Bottoms Fri, 01 Nov 2013 17:16:42 -0400 rtl-sdr (0.5.0.4.4914-1) stable; urgency=low * New upstream snapshot (Closes: #701018). * Match GNU Radio live distribution version * Sponsored upload -- A. Maitland Bottoms Sat, 28 Sep 2013 16:55:08 -0400 rtl-sdr (0.5.0+git20130715-1) unstable; urgency=low * Initial release (Closes: #701018). -- Adam Cécile (Le_Vert) Mon, 15 Jul 2013 15:51:05 +0200 librtlsdr (0.0git3198f14-1) unstable; urgency=low * New upstream git -- A. Maitland Bottoms Mon, 14 May 2012 20:28:18 -0400 debian/rtl-sdr.manpages0000644000000000000000000000017512260570121012271 0ustar debian/rtl_adsb.1 debian/rtl_eeprom.1 debian/rtl_fm.1 debian/rtl_power.1 debian/rtl_sdr.1 debian/rtl_tcp.1 debian/rtl_test.1 debian/rtl-sdr.examples0000644000000000000000000000002212260555711012313 0ustar debian/heatmap.py debian/rtl_eeprom.10000644000000000000000000000476412221722622011431 0ustar .TH "rtl_eeprom" 1 "0.5.0" RTL-SDR "User Commands" .SH NAME rtl-eeprom \- EEPROM programming tool for RTL2832 based DVB-T receivers .SH DESCRIPTION Dumps configuration and also writes EEPROM configuration. Written by Steve Markgraf and incorporated in the osmocom rtl-sdr project. .LP Use at your own risk, especially -w! .LP Much software is available for the RTL2832. Most of the user-level packages rely on the librtlsdr library which comes as part of the rtl-sdr codebase. This codebase contains both the library itself and also a number of command line tools such as rtl_test, rtl_sdr, rtl_tcp, and rtl_fm. These command line tools use the library to test for the existence of RTL2832 devices and to perform basic data transfer functions to and from the device. .LP Because most of the RTL2832 devices are connected using USB, the librtlsdr library depends on the libusb library to communicate with the device. .SH USAGE Writing bad information to the EEPROM will make your device useless. .SH SYNOPSIS .B rtl_eeprom [OPTIONS] .SH OPTIONS .IP "-d device_index (default: 0)" .IP "-m set manufacturer string" .IP "-p set product string" .IP "-s set serial number string" .IP "-i <0,1> disable/enable IR-endpoint" .IP "-g generate default config and write to device" can be one of: realtek Realtek default (as without EEPROM) realtek_oem Realtek default OEM with EEPROM noxon Terratec NOXON DAB Stick terratec_black Terratec T Stick Black terratec_plus Terratec T Stick+ (DVB-T/DAB) .IP "-w write dumped file to device" .IP "-r dump EEPROM to file" .IP "-h display this help text" .LP Use on your own risk, especially -w! .SH SEE ALSO RTL-SDR wiki documentation: .B http://sdr.osmocom.org/trac/wiki/rtl-sdr .LP Other rtl-sdr programs: .sp rtl_adsb(1), rtl_fm(1), rtl_sdr(1), rtl_tcp(1), rtl_test(1) .SH AUTHOR This manual page was written by Maitland Bottoms for the Debian project (but may be used by others). .SH COPYRIGHT Copyright (c) 2013 A. Maitland Bottoms .LP This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. .LP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. debian/librtlsdr0.udev0000644000000000000000000000730312025360472012140 0ustar # # Copyright 2012 Osmocom rtl-sdr project # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # original RTL2832U vid/pid (hama nano, for example) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", MODE:="0666" # ezcap EzTV668 (E4000) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", MODE:="0666" # Terratec Cinergy T Stick Black (rev 1) (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00a9", MODE:="0666" # Terratec NOXON rev 1 (FC0013) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b3", MODE:="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b4", MODE:="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b7", MODE:="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c6", MODE:="0666" # Terratec Cinergy T Stick RC (Rev.3) (E4000) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d3", MODE:="0666" # Terratec T Stick PLUS (E4000) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d7", MODE:="0666" # Terratec NOXON rev 2 (E4000) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00e0", MODE:="0666" # Compro Videomate U620F (E4000) SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0620", MODE:="0666" # Compro Videomate U650F (E4000) SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", MODE:="0666" # Compro Videomate U680F (E4000) SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0680", MODE:="0666" # GTek T803 (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="b803", MODE:="0666" # Lifeview LV5TDeluxe (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", MODE:="0666" # MyGica TD312 (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d286", MODE:="0666" # PROlectrix DV107669 (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d803", MODE:="0666" # Zaapa ZT-MINDVBZP (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d398", MODE:="0666" # Twintech UT-40 (FC0013) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a4", MODE:="0666" # Dexatek DK DVB-T Dongle (Logilink VG0002A) (FC2580) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1101", MODE:="0666" # Dexatek DK DVB-T Dongle (MSI DigiVox mini II V3.0) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1102", MODE:="0666" # Dexatek DK 5217 DVB-T Dongle (FC2580) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1103", MODE:="0666" # Genius TVGo DVB-T03 USB dongle (Ver. B) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="707f", MODE:="0666" # GIGABYTE GT-U7300 (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d393", MODE:="0666" # DIKOM USB-DVBT HD SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d394", MODE:="0666" # Peak 102569AGPK (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d395", MODE:="0666" # SVEON STV20 DVB-T USB & FM (FC0012) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d39d", MODE:="0666" debian/librtlsdr0.postinst0000644000000000000000000000102311754324402013052 0ustar #! /bin/sh set -e #DEBHELPER# if [ "$1" = "configure" ]; then ldconfig fi # same test as udev postinst... chrooted() { if [ "$(stat -c %d/%i /)" = "$(stat -Lc %d/%i /proc/1/root 2>/dev/null)" ]; then # the devicenumber/inode pair of / is the same as that of /sbin/init's # root, so we're *not* in a chroot and hence return false. return 1 fi return 0 } if [ "$1" = "configure" ]; then if ! chrooted ; then # try to update udev now udevadm control --reload-rules || true ; fi fi exit 0 debian/source/0000755000000000000000000000000011743362366010501 5ustar debian/source/format0000644000000000000000000000001411661232106011672 0ustar 3.0 (quilt) debian/librtlsdr0.install0000644000000000000000000000002412222064722012632 0ustar usr/lib/*/lib*.so.* debian/compat0000644000000000000000000000000212025463424010366 0ustar 9 debian/rules0000755000000000000000000000050712222064355010251 0ustar #!/usr/bin/make -f DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) export DEB_HOST_MULTIARCH %: dh $@ override_dh_auto_configure: debian/librtlsdr0.udev dh_auto_configure -- -DLIB_INSTALL_DIR=lib/$(DEB_HOST_MULTIARCH) debian/librtlsdr0.udev: rtl-sdr.rules cp -p rtl-sdr.rules debian/librtlsdr0.udev debian/rtl-sdr.install0000644000000000000000000000001212171002573012134 0ustar usr/bin/* debian/rtl_sdr.10000644000000000000000000000543212260555435010734 0ustar .TH "rtl_sdr" 1 "0.5.0" RTL-SDR "User Commands" .SH NAME rtl-sdr \- an I/Q recorder for RTL2832 based DVB-T receivers .SH DESCRIPTION Uses a re-purposed DVB-T receiver as a software defined radio to receive signals in I/Q data form. Written for and incorporated in the osmocom rtl-sdr project. .LP In-Phase and Quadrature Phase data can faithfully represent all of the information in a band of frequencies centered on a carrier signal frequency. .LP Much software is available for the RTL2832. Most of the user-level packages rely on the librtlsdr library which comes as part of the rtl-sdr codebase. This codebase contains both the library itself and also a number of command line tools such as rtl_test, rtl_sdr, rtl_tcp, and rtl_fm. These command line tools use the library to test for the existence of RTL2832 devices and to perform basic data transfer functions to and from the device. .LP Because most of the RTL2832 devices are connected using USB, the librtlsdr library depends on the libusb library to communicate with the device. .SH USAGE This program captures information from a band of frequencies and outputs the data in a form useful to other software radio programs. .SH SYNOPSIS .B rtl_adsb [-f freq] [OPTIONS] [output file] .SH OPTIONS .IP "-f frequency_to_tune_to [Hz]" .IP "-s samplerate (default: 2048000 Hz)" .IP "-d device_index (default: 0)" .IP "-g gain (default: 0 for auto)" .IP "-b output_block_size (default: 16 * 16384)" .IP "-n number of samples to read (default: 0, infinite)" .IP "-S force sync output (default: async)" .IP tfilename (a '-' dumps samples to stdout) .SH EXAMPLES .IP "Example: To tune to 392.0 MHz, and set the sample-rate to 1.8 MS/s, use:" ./rtl_sdr /tmp/capture.bin -s 1.8e6 -f 392e6 .LP to record samples to a file or to forward the data to a fifo. .LP If the device can't be opened, make sure you have the appropriate rights to access the device (install udev-rules from the repository, or run it as root). .SH SEE ALSO gnuradio(1) .LP RTL-SDR wiki documentation: .B http://sdr.osmocom.org/trac/wiki/rtl-sdr .LP Other rtl-sdr programs: .sp rtl_adsb(1), rtl_eeprom(1), rtl_fm(1), rtl_power(1), rtl_tcp(1), rtl_test(1) .SH AUTHOR This manual page was written by Maitland Bottoms for the Debian project (but may be used by others). .SH COPYRIGHT Copyright (c) 2013 A. Maitland Bottoms .LP This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. .LP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. debian/heatmap.py0000644000000000000000000000727112236240634011170 0ustar #! /usr/bin/env python2 from PIL import Image, ImageDraw, ImageFont import sys, gzip, math, colorsys, datetime from collections import defaultdict from itertools import * # todo: matplotlib powered --interactive # arbitrary freq marker spacing path = sys.argv[1] output = sys.argv[2] raw_data = lambda: open(path) if path.endswith('.gz'): raw_data = lambda: gzip.open(path, 'rb') def frange(start, stop, step): i = 0 while (i*step + start <= stop): yield i*step + start i += 1 print("loading") freqs = set() f_cache = set() times = set() labels = set() min_z = 0 max_z = -100 start, stop = None, None for line in raw_data(): line = [s.strip() for s in line.strip().split(',')] line = [line[0], line[1]] + [float(s) for s in line[2:] if s] low = line[2] high = line[3] step = line[4] f_key = (int(low), int(high), step) if f_key not in f_cache: freqs.update(list(frange(int(low), int(high), step))) freqs.add(high) labels.add(low) f_cache.add(f_key) t = line[0] + ' ' + line[1] times.add(t) zs = line[6:] min_z = min(min_z, min(z for z in zs if not math.isinf(z))) max_z = max(max_z, max(zs)) if start is None: start = datetime.datetime.strptime(line[0] + ' ' + line[1], '%Y-%m-%d %H:%M:%S') stop = datetime.datetime.strptime(line[0] + ' ' + line[1], '%Y-%m-%d %H:%M:%S') freqs = list(sorted(list(freqs))) times = list(sorted(list(times))) labels = list(sorted(list(labels))) if len(labels) == 1: delta = (max(freqs) - min(freqs)) / (len(freqs) / 500) delta = round(delta / 10**int(math.log10(delta))) * 10**int(math.log10(delta)) delta = int(delta) lower = int(math.ceil(min(freqs) / delta) * delta) labels = list(range(lower, int(max(freqs)), delta)) print("x: %i, y: %i, z: (%f, %f)" % (len(freqs), len(times), min_z, max_z)) def rgb2(z): g = (z - min_z) / (max_z - min_z) return (int(g*255), int(g*255), 50) def rgb3(z): g = (z - min_z) / (max_z - min_z) c = colorsys.hsv_to_rgb(0.65-(g-0.08), 1, 0.2+g) return (int(c[0]*256),int(c[1]*256),int(c[2]*256)) print("drawing") img = Image.new("RGB", (len(freqs), len(times))) pix = img.load() x_size = img.size[0] for line in raw_data(): line = [s.strip() for s in line.strip().split(',')] line = [line[0], line[1]] + [float(s) for s in line[2:] if s] t = line[0] + ' ' + line[1] if t not in times: continue # happens with live files y = times.index(t) low = line[2] high = line[3] step = line[4] x_start = freqs.index(low) for i in range(len(line[6:])): x = x_start + i if x >= x_size: continue z = line[6+i] # fast check for nan/-inf if not z >= min_z: z = min_z pix[x,y] = rgb2(z) print("labeling") draw = ImageDraw.Draw(img) font = ImageFont.load_default() pixel_width = step for label in labels: y = 10 #x = freqs.index(label) x = int((label-min(freqs)) / pixel_width) s = '%.3fMHz' % (label/1000000.0) draw.text((x, y), s, font=font, fill='white') duration = stop - start duration = duration.seconds pixel_height = duration / len(times) hours = int(duration / 3600) minutes = int((duration - 3600*hours) / 60) draw.text((2, img.size[1] - 45), 'Duration: %i:%02i' % (hours, minutes), font=font, fill='white') draw.text((2, img.size[1] - 35), 'Range: %.2fMHz - %.2fMHz' % (min(freqs)/1e6, max(freqs)/1e6), font=font, fill='white') draw.text((2, img.size[1] - 25), 'Pixel: %.2fHz x %is' % (pixel_width, int(round(pixel_height))), font=font, fill='white') draw.text((2, img.size[1] - 15), 'Started: {0}'.format(start), font=font, fill='white') # bin size print("saving") img.save(output) debian/librtlsdr0.README.Debian0000644000000000000000000000207612171007233013310 0ustar rtl-sdr for Debian ------------------- 1. Conflicts with DVB-T kernel modules provided by the Linux kernel ------------------------------------------------------------------- Typical error of module conflict: Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle Kernel driver is active, or device is claimed by second instance of librtlsdr. In the first case, please either detach or blacklist the kernel module (dvb_usb_rtl28xxu), or enable automatic detaching at compile time. usb_claim_interface error -6 Failed to open rtlsdr device #0 You may decide to blacklist this kernel module by doing (as root): echo "blacklist dvb_usb_rtl28xxu" > /etc/modprobe.d/librtlsdr-blacklist.conf Then unplug/plug the USB stick. 2. Permissions -------------- If you have permissions issues please install the example udev rules from librtlsdr0 package (as root): zcat /usr/share/doc/librtlsdr0/rtl-sdr.rules.gz > \ /etc/udev/rules.d/99-librtlsdr.rules invoke-rc.d udev reload -- Adam Cécile (Le_Vert) Mon, 15 Jul 2013 15:51:05 +0200 debian/rtl_adsb.10000644000000000000000000000530212221734361011043 0ustar .TH "rtl_adsb" 1 "0.5.0" RTL-SDR "User Commands" .SH NAME rtl_adsb \- a simple ADS-B decoder .SH DESCRIPTION Uses a re-purposed DVB-T receiver as a software defined radio to receive and decode ADS-B data. Written by Kyle Keen and incorporated in the osmocom rtl-sdr project. .LP Automatic dependent surveillance-broadcast, ADS-B, consists of position and other status data transmitted by aircraft in support of air traffic control in order to improve safety of flight. .LP Much software is available for the RTL2832. Most of the user-level packages rely on the librtlsdr library which comes as part of the rtl-sdr codebase. This codebase contains both the library itself and also a number of command line tools such as rtl_test, rtl_sdr, rtl_tcp, and rtl_fm. These command line tools use the library to test for the existence of RTL2832 devices and to perform basic data transfer functions to and from the device. .LP Because most of the RTL2832 devices are connected using USB, the librtlsdr library depends on the libusb library to communicate with the device. .SH USAGE With a suitable antenna for receiving the 1090 MHz signal attached to the rtl-sdr supported device, this program will output the data decoded from that signal. .SH SYNOPSIS .B rtl_adsb [-R] [-g gain] [-p ppm] [output file] .SH OPTIONS .IP "-d device_index (default: 0)" .IP "-V verbove output (default: off)" .IP "-S show short frames (default: off)" .IP "-Q quality (0: no sanity checks, 0.5: half bit, 1: one bit (default), 2: two bits)" .IP "-e allowed_errors (default: 5)" .IP "-g tuner_gain (default: automatic)" .IP "-p ppm_error (default: 0)" .IP tfilename (a '-' dumps samples to stdout) (omitting the filename also uses stdout) .SH EXAMPLES .IP "Streaming with netcat:" rtl_adsb | netcat -lp 8080 while true; do rtl_adsb | nc -lp 8080; done .IP "Streaming with socat:" rtl_adsb | socat -u - TCP4:sdrsharp.com:47806 .SH SEE ALSO RTL-SDR wiki documentation: .B http://sdr.osmocom.org/trac/wiki/rtl-sdr .LP Other rtl-sdr programs: .sp rtl_eeprom(1), rtl_fm(1), rtl_sdr(1), rtl_tcp(1), rtl_test(1) .SH AUTHOR This manual page was written by Maitland Bottoms for the Debian project (but may be used by others). .SH COPYRIGHT Copyright (c) 2013 A. Maitland Bottoms .LP This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. .LP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.