SDR
Add user to plugdev group
sudo usermod -aG plugdev $USER
Drivers\gqrx
sudo apt update
sudo apt install rtl-sdr gqrx-sdr
Dependancies
sudo apt install libpango1.0-dev libcairo2-dev libjack-jackd2-dev
SDR++
Download ubuntu noble .deb
cd ~/Downloads
sudo dpkg -i sdrpp_ubuntu_noble_amd64.deb
sudo apt install -f
SDRTrunk
SDRTrunk is a cross-platform Java application that runs natively on Linux, making the use of
Wine unnecessary and potentially problematic for USB SDR hardware access.
To install SDRTrunk on Linux Mint, you generally do not need to manually install Java,
as the official SDRTrunk application bundles
include a lightweight, stripped-down OpenJDK JRE specifically for running the software.
However, for P25 Phase 1 decoding, you must install the JMBE codec, which requires
Apache Ant and a Java Development Kit (JDK) for compilation.
SDRTrunk includes native drivers for the following devices,
requiring no external plugins
- RTL-SDR (RTL2832U based dongles)
- Airspy (Mini, R2, HF+)
- HackRF One
To configure a device, simply connect it, launch SDRTrunk,
and select it from the Source dropdown menu in the main toolbar.
The only optional external component is the JMBE (Java MBE) library for digital
voice audio decoding (specifically for IMBE/AMBE codecs used in P25 and DMR).
Go to View > User Preferences > JMBE Audio Library.
Click Create Library to download and install the necessary codec files directly
within the application.
Supported Codecs
- IMBE (Improved Multi-Band Excitation): Used by APCO-25 Phase I
(common in public safety radio).
-
AMBE (Advanced Multi-Band Excitation): Used by APCO-25 Phase II, DMR
(Digital Mobile Radio), and dPMR.
Install
Visit the SDRTrunk GitHub Releases page and download the Linux x86 64-bit
bundle (file starting with sdr-trunk-linux-x86_64) or the Linux ARM 64-bit
bundle (file starting with sdr-trunk-linux-aarch64) if you are on an
ARM-based system.
Github Release
Nav to download location and unzip
Launch
(untarred application bundle file location)/bin/sdr-trunk
Drivers
sudo apt purge ^librtlsdr
sudo rm -rvf /usr/lib/librtlsdr* /usr/include/rtl-sdr* /usr/local/lib/librtlsdr* /usr/local/include/rtl-sdr* /usr/local/include/rtl_* /usr/local/bin/rtl_*
sudo apt-get install libusb-1.0-0-dev git cmake pkg-config build-essential
git clone https://github.com/osmocom/rtl-sdr
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig
To install IMBE
sudo apt update
sudo apt install build-essential git
Error E0554 Fix - switch to nightly build
rustup install nightly
cargo +nightly build
rustup install nightly
Install JDK and Apache Ant
sudo apt update
sudo apt install default-jdk ant
unzip sdr-trunk-linux-x86_64-*.zip
cd sdr-trunk-linux-x86_64-*/bin
Compile JMBE (Required for P25)
run:
which java
./build_jmbe.sh
Launch SDRTrunk
./run_sdrtrunk_linux.sh
Launch
Open a terminal and navigate to where you unzipped the application bundle and
run the following shell script:
(untarred application bundle file location)/bin/sdr-trunk
re: /home/emcomm/Documents/apps/SDRTrunk/sdr-trunk-linux-x86_64-v0.6.1/bin
Tip
To add to panel
cp "/home/emcomm/Documents/apps/SDRTrunk/sdr-trunk-linux-x86_64-v0.6.1/sdrtrunk.desktop" ~/.local/share/applications/
To reload rules(for manual builds)
sudo udevadm control --reload-rules
sudo udevadm trigger
Dump1090
Linux Mint users typically install dump1090 (often the dump1090-mutability fork) to
decode ADS-B signals from RTL-SDR dongles, rather than
the older RTL1090 software which is primarily a Windows application.
sudo apt install dump1090-mutability
dump1090 can be started automatically via an init-script. Otherwise, the │
│ init-script does nothing; you must run dump1090 by hand. │
│ │
│ You can modify the options used when automatically starting dump1090 by │
│ running "dpkg-reconfigure dump1090-mutability" as root, or by editing │
│ /etc/default/dump1090-mutability
Usage: Once installed, the software runs as a service or command-line tool, outputting
decoded aircraft data to a local web server
(usually accessible at http://localhost/dump1090/ or http://127.0.0.1:8080).
Compile Dump1090
- Dependancies:
sudo apt install git build-essential librtlsdr-dev libusb-1.0-0-dev pkg-config debhelper
Tip
Create .desktop
[Desktop Entry]
Name=WSJT-Z
Comment=Amateur Radio Digital Modes
Exec=/full/path/to/wsjtx
Icon=/full/path/to/icon.png
Terminal=false
Type=Application
Categories=HamRadio;Education;
StartupNotify=true
NOAA weather Radio
For NOAA Weather Radio (Local broadcasts at 162 MHz), a standard vertical
omnidirectional antenna (such as a quarter-wave whip or vertical discone) is required,
as these signals are vertically polarized. Note that antennas designed for ADS-B
(1090 MHz) or
FM radio will not work effectively for these frequencies.
NOAA Weather Radio (162 MHz)
For local broadcasts (NWR), the signals are transmitted from fixed ground towers using
vertical linear polarization.
Vertical Omnidirectional Antenna: A simple quarter-wave whip (approx. 46 cm element) or
a J-pole antenna tuned to 162 MHz is ideal.
Discone: A wideband option that covers 162 MHz well, though less efficient than a tuned
dipole or J-pole.
2-Meter Ham Antenna: Since 162 MHz is close to the 144–148 MHz amateur band, a standard
2-meter vertical antenna works effectively for reception.
1090 Hz antenna
A 1090 MHz antenna designed for ADS-B is optimized for the specific aviation band and
performs poorly for other frequency ranges, such as VHF, HF, or UHF communications.
While it may pick up some signals outside its target band, the performance drops
significantly as the frequency moves away from 1090 MHz.
For best results, use a dedicated 1090 MHz antenna for ADS-B aircraft tracking.
If you wish to listen to other services, consider using:
- A discone antenna for VHF/UHF coverage.
- A long wire antenna for HF radio.
- A telescopic or dipole antenna for FM broadcast