RTL-SDR wiki and code snippets
- wsh-rtl-sdr
- Telescopic antenna mast (variable frequency)
- 433MHz (ISM) antenna mast (fixed frequency)
- UHF antenna mast (fixed frequency)
- 0.5 PPM
- Max 3.2MSPS sample rate
- 0 - 49.6dB tuner gain
- 100 KHz to 25 MHz direct sampling tuning range
- 25 MHz - 1750 MHz quadrature sampling tuning range
- Operation supply current typical 300 mA, max 330 mA
apt install gr-gsm kalibrate-rtl
# Scan the "GSM900" band (aka P-GSM), alternatively "GSM-R" for railroad, "EGSM", or "DSC" (aka DCS) 1800 MHz. (The latter is out of range for the NESDR and most RTL-SDR devices.)
kal -s GSM900 -g 49.6
# Look for the strongest channel and use that as a parameter in the following command, note that -s 3.2M is also used to specify the highest available sample rate
grgsm_livemon -f 945.4M -g 49.6 -s 3.2M
# There is a grgsm_livemon_headless version but it's bugged in my kali install, livemon expects an X output and VNC is useful in this regard
# grgsm_livemon* will also send data to localhost on the lo interface, which various scripts/apps can use simultaneously, e.g.:
# Interactive inspection via wireshark in X
sudo wireshark -k -f udp -Y gsmtap -i lo
# Via the dedsecimsi tool, IMSI catcher
python tools/dedsecimsi/imsi.py
# SMS catcher (probably not going to see anything these days)
python tools/dedsecimsi/sms.py
# TODO: write an alternative implementation that translates MCC/MNC and displays network information (telenor station name etc)
apt install rtl-sdr
To create a remote RTL connection via TCP, to get more up to date or device specific support you may want to find a fork of the librtlsdr repo and build it yourself:
rtl_tcp -a 10.20.30.40
Then connect to it via HDSDR (windows) or a similar client
(Windows)
- SDR#
- TETRA Demodulator
- TETRA Network Monitor
(Linux)
- TETRA-kit
First set up rtl_tcp if working remotely
rtl_tcp -a 10.20.30.40
Install TETRA plugins in SDR# plugins folder and add them, search for relevant channels in the spectrum used in your area (380-400 MHz in Norway) Set radio type NFM and bandwidth 25.000, once a channel is selected the TETRA demodulator will show MCC, MNC++ check the net info window for further details on the cell properties. You can also verify that you have found a TETRA channel with audio samples
Either the distro dump1090, or the maintained FA version which can be found as a submodule under tools
# For dump1090
apt install TODO
# For dump978
apt install soapysdr-module-rtlsdr libsoapysdr-dev
# As root, so either prepend sudo or run the following in a root shell
# Configure lighttpd to use dump1090-skyaware
cp tools/dump1090/debian/lighttpd/{88-dump1090-fa-statcache.conf,89-skyaware.conf} /etc/lighttpd/conf-available
pushd /etc/lighttpd/conf-enabled
ln -s ../conf-available/88-dump1090-fa-statcache.conf
ln -s ../conf-available/89-skyaware.conf
# if you have an older version of dump1090 via os packages you'll also want to unlink it:
# rm 89-dump1090.conf
popd
mkdir -p /usr/share/skyaware/html/
mkdir -p /run/dump1090-fa/
mkdir -p /run/skyaware978/
cp -r tools/dump1090/public_html/* /usr/share/skyaware/html/
systemctl restart lighttpd.service
pushd tools/dump1090
make
# Use --write-json if you want to use the web interface, --interactive for an updated list in the current console session or --net if you want to use ./view1090 to get an interactive output in another console session
./dump1090 --write-json /run/dump1090-fa/ --interactive
popd
# For 978 - which seems to not be in use in EU/Norway at this time
pushd tools/dump978
make
./dump978-fa --sdr driver=rtlsdr --format CS8 --raw-port 30978 --json-port 30979
./skyaware978 --connect localhost:30978 --reconnect-interval 30 --history-count 120 --history-interval 30 --json-dir /run/skyaware978/
popd
# Use rtl_ais submodule in tools folder
pushd tools/rtl_ais/
make
popd
flatpak install --user https://flathub.org/repo/appstream/org.opencpn.OpenCPN.flatpakref
pushd tools/rtl_ais/
./rtl_ais -n -T
popd
# Start OpenCPN in another terminal with X available
flatpak run org.opencpn.OpenCPN
# Add local connection TCP host 127.0.0.1 and port 11010
# Update map data to get better resolution
# Fetch slightly outdated version via OS
apt install rtl-433
# Or github
cd tools/rtl_433
mkdir build && cd build && cmake ..
# From path
rtl_433
# Running directly from tools folder after building
tools/rtl_433/build/src/rtl_433
todo
todo
- Kali linux SDR guide
- NooElec NESDR v5 from Amazon
- NooElec NESDR v5 datasheet
- Multipurpose dipole antenna kit
- Custom/DIY antenna
- Reddit RTLSDR wiki
- Interesting NG RTL-SDR LimeSDR, also comparison of HackRF, RTL-SDR and others
- RTL SDR custom drivers for HDSDR
- Osmocom RTL-SDR wiki
- RTLSDR scanner - automatic frequency strength mapping
- Web SDR
- APRS satellite map
- Signal identification guide
- (Unofficial list of) Frequency usage in Norway
- Sending on the FM band with older RPI