Skywave Linux: Software Defined Radio for Global Online Listening
Skywave Linux is an operating system using bleeding-edge technology to robustly access broadcast, utility, military, and amateur radio signals from almost anywhere in the world, including countries with restrictive internet environments. Skywave Linux connects to a large and growing network of state-of-the art software defined radio (SDR) servers, making it possible to experience high performance SDR operation without your own large antennas or on-site radio hardware. All you need to do is boot the system on a computer with internet connectivity, find a remote SDR server in your region of interest, and tune across the spectrum to find signals. Skywave Linux can also operate numerous types of SDR hardware, plugged into the host machine or on the local network. Downloading, installing and configuring SDR software can be difficult for many computer users; Skywave Linux eliminates the hassle by including several applications installed, configured, and ready to run.
Supported SDR Types
Several types of software defined radios are supported by Skywave Linux:
- WebSDR servers are located all over the world and provide easy access to the global airwaves through the web browser. In Skywave Linux, use the web browser is packed with a curated set of bookmarks linking to the best servers. Thus, a moderately broad internet connection is all one needs to enjoy clean, stable, AM / FM / SSB reception using this cutting edge technology. WebSDR ervers at the University of Twente (NL) and G4FPH, Stafford (UK) are particularly good, for example.
- OpenWebRX servers are a popular type of internet accessible radio, growing rapidly in number, mostly using KiwiSDR RF hardware. Use the curated set of web browser bookmarks to access several excellent sites around the world, such as the server in Victoria, British Columbia (Canada).
- RTL-SDR devices used on the local computer system. Just plug-and-play! CubicSDR and Gqrx are the main applications for receiving AM / FM / SSB modes. Dump1090 (Flightaware version) is for monitoring aircraft ADS-B transmissions. ADS-B mapping is available with the help of Python3 libraries. ADS-B data is also logged to an SQL compatible database for further analysis if desired. ACARSDec and VDLM2dec are multichannel decoders for aeronautical VHF data modes. Each is capable of simultaneously monitoring several channels at once without scanning and also logging the data to an SQLite database file. RTLSDR-Airband is a hardware agnostic, multichannel monitor for AM or FM voice modes (not limited to airband), capable of simultaneously monitoring several channels without scanning, mixing and streaming audio locally (via PulseAudio) or to the internet (via Icecast server).
- Ettus Research USRP devices, offering advanced features and high performance. Their hardware can cover frequencies from DC through 6 GHz in a diverse array of signal modes.
- HPSDR hardware is covered by LinHPSDR, using a modern graphical interface and excellent signal processing software. Linhpsdr also works with devices compatible with SoapySDR drivers.
- RemoteSDRClient connects to a network of shared RFSPACE SDRs. These are high performance radios, with advanced filtering and noise reduction software. Like the shared HPSDRs mentioned above, they require broadband internet connectivity for smooth operation.
- SDRplay, Airspy, and BladeRF offer higher performance than RTL-SDR dongles. These devices feature stable and clean oscillators, sensitive front end circuitry, superior RF filters, broader RF bandwidths, and higher resolution ADC chipsets. CubicSDR and Gqrx are the applications built for running these devices.
The key to getting most SDR devices and software to function on Linux is having proper drivers installed. Skywave Linux broadly supports these with SoapySDR and Gr-OsmoSDR packages.
For decoding RTTY, CW, PSK, WSPR, WSJT, RDS, and other digital radio transmission modes, use the Fldigi and WSJT applications. Weather satellite decoding is possible with Noaa-apt for APT and Glrptfor LRPT. Gpredict provides real-time satellite tracking data and doppler corrected tuning control for Gqrx. In some cases it may be necessary to use the PulseAudio Volume Control application to select the best audio source and levels. Basic trunked radio systems may be monitored using SDRTrunk.
Conventional radio and video broadcast streams are also supported in Skywave Linux. VLC Media Player provides global access to music, talk, news, free-speech, and religious stations around the world. Editable playlists of IPTV and IPRADIO stations are located on the internet - available through most search engines. There is a sample radio playlist in the ~/Music folder.
Usage and Installation Options
Skywave Linux is intended to run as a live Linux system / bootable iso file:
- In Windows, create a bootable USB or SD card using Universal USB Installer.
- In Linux, create a bootable USB or SD card using Unetbootin or Startup Disk Creator.
- Run it as a virtual machine under Virtualbox or VMware
- In Linux, install a bootloader and copy the iso file to a USB or SD card.
- Burn it to a DVD and run it as a boot disc (very slow, not recommended).
- Manually install Skywave Linux using commands or applications to clone the live file system.
Apps for Coders
Python 3.8, Bash, and Ruby are installed and Neovim is the editor for coding. Jupyter Notebook supports creation, testing, and sharing both Python and Bash scripts. Python in Skywave Linux is packed with modules for data science, web scraping, and doing all sorts of complex mathematics.
Skywave Linux is a 64 bit system, built on a base of Ubuntu 20.04 LTS, uses the MATE Desktop and i3 Window Manager. It is the additional digital signal processing, networking, and signal decoding applications that set Skywave Linux apart from its original base software. The default username is skywave and there is no password in the default system.
It is sometimes necessary for users to make encrypted connections which provide stronger privacy, security, and ability to circumvent censorship. For that purpose, Lantern, Psiphon, Sshuttle, Outline, and Wireguard client applications are installed. Skywave Linux intends to bash holes in censorship barriers.
Skywave Linux thanks the talented developers who create Ubuntu, Gqrx, Cubic SDR, Dump1090, Fldigi, WebSDR, and the many other components which help this distribution to exist. Skywave Linux also thanks the end users for selecting this distribution and hopes it is an asset to their radio monitoring endeavors.
Integrity and Authenticity of Skywave Linux
Great effort goes into making Skywave Linux safe and free of malware. To verify that your copy of the iso image file is authentic, undamaged, and unaltered, check the sha256sum against the official authentication document and verify the digital signature of Skywave Linux. The authentication document is available by the download link at Skywave Linux.com. Use the "Passwords and Keys" or equivalent application to check the signature. Import the Skywave Linux public key from pool.sks-keyservers.net or keyserver.ubuntu.com.
Skywave Linux is provided as-is. No guarantees or warranties are applicable to Skywave Linux. Skywave Linux is derived from Ubuntu Linux, but not endorsed by or affiliated with Ubuntu or Canonical Ltd. End users bear all responsibility for compliance with applicable regulations relating to communications monitoring.
SPECIAL NOTES AND BUG FIXES
SDR Updater and certain packages using SoapySDR drivers failed to run after switching Skywave 3.1.0 to apt repository drivers. The issues are resolved as of version 3.1.1. Users on earlier Skywave versions should skip to version 3.1.1 or later.
External USB drives will not properly mount in version 3.1.0. Kernel, 4.15.0-xanmod1, with supporting modules, was a bit too fresh and buggy. On fully installed systems or systems with persistence may be updated to a more mature kernel with these terminal commands:
apt update && apt install linux-xanmod-4.15 linux-firmware
A after kernel installation is complete, reboot and enjoy more device friendly behavior.
Bootloader error in version 3.0: Isolinux is incorrectly pointed to the kernel file vmlinuz.efi instead of vmlinuz. If you use grub or isolinux to boot the iso, edit the file to use vmlinuz. Else, simply use version 3.0.1 or later.
Installer crashes on versions 2.0 and earlier: Ubiquity had a bug which caused installations to fail when selecting languages and time zones. To remedy the bug, use "sudo apt update" and then "sudo apt upgrade" to freshen the running system before attempting a full installation.
Some users report "no audio" on certain hardware. In some cases it is due to the system not recognizing the hardware and loading improper audio drivers. Try the solutions well documented in the Ubuntu forums to modprobe the best audio modules. In other cases, the fault was in a too narrow device specification in the Pulse Audio configuration. In the file /etc/pulse/default.pa, look near line 46 for the code:
load-module module-alsa-sink device=hw:0,0 sink_name=processed_output
Replace it with:
load-module module-alsa-sink device=sysdefault sink_name=processed_output
Restart Pulse Audio or reboot the system. Check the audio by entering "sound Settings" and clicking the test buttons.
Users with Nvidia Video Hardware: Boot and shutdown times are longer than usual on the current 4.4.0 Linux Kernel due to Ubuntu's use of sub-optimal video drivers. Users who fully install Skywave Linux can download the proprietary drivers and realize faster speeds.
SDRPlay USERS: There is a software bug in Skywave Linux 1.6 which interferes with the configuration of Dump1090 for the SDRPlay. Please use the following shell command to correct the script and restore normal functionality. The command needs to be run only once for fully installed versions of Skywave Linux 1.6. Users booting from the iso file or DVD should run the command once per computing session before running Dump1090 on the SDRPlay:
sudo sed -i 's/\/sbin\/dump1090/\/sbin\/dump1090_sdrplay/g' /usr/local/sbin/dump1090_sdrplay/dump1090.sh
INTEGRATED CHANGES FOR THIS VERSION OF SKYWAVE LINUXVersion 4.0.0:
- Base System: Ubuntu 20.04 LTS
- Linux Kernel 5.6.17-rt10-xanmod1
- MATE Desktop Environment 1.24.0
- Installed Audacity 2.3.3
- Installed Glrpt 2.6.0
- Installed i3 Window Manager 4.18.2
- Installed Stubby (DNS-Over-TLS) 1.5.1
- Installed Kalibrate-RTL v0.4.1-rtl
- Installed libacars 1.3.1
- Installed LinHPSDR 0.7-beta
- Installed Neovim v0.5.0-dev
- Installed Noaa-apt 1.2.0
- Installed Pandas 0.25.3
- Installed Pandas-Datareader 0.25.3
- Installed Soapysdr-tools 0.7.2
- Installed VDLM2dec 2.1
- Removed Chirp
- Removed CSDR
- Removed OpenWebRX
- Removed Python 3.5
- Removed QtRadio / GHPSDR3-Alex
- Removed R820tweak
- Removed Wxtoimg
- Upgraded Acarsdec 3.5
- Upgraded Acarsserv 3.5
- Upgraded CubicSDR 0.2.5 (AppImage)
- Upgraded DumpVDL2 1.7.1
- Upgraded Firefox Quantum 79.0b2
- Upgraded Fldigi 4.1.06
- Upgraded Gpredict 2.3
- Upgraded Gqrx 2.12.1
- Upgraded Gr-fcdproplus 3.8
- Upgraded Gr-iio 0.3
- Upgraded Gr-iqbal 0.38
- Upgraded Gr-limesdr 3.0.1
- Upgraded Gr-osmosdr 0.2.0
- Upgraded Hamlib 3.3
- Upgraded Lantern 5.9.13
- Upgraded Libhackrf 2018.01.1
- Upgraded Limesuite 20.01.0
- Upgraded Openjdk-java 11.0.7
- Upgraded Osmosdr 0.1.8
- Upgraded PulseEffects 4.7.2
- Upgraded Python 2.7.18 (for nodejs, uhd-host)
- Upgraded Python 3.8.2 (for the operating system, scripting)
- Upgraded Qtel 19.09.1
- Upgraded RTLSDR-Airband 3.1.0-10
- Upgraded SDRplay API 2.13.1
- Upgraded SDRTrunk 0.5.0-alpha9
- Upgraded Soapyosmo-common0.7 0.2
- Upgraded Soapysdr-module-all 0.7.2
- Upgraded Soapysdr-tools 0.7.2
- Upgraded Soapysdr0.7-module-airspy 0.1.2
- Upgraded Soapysdr0.7-module-all 0.7.2
- Upgraded Soapysdr0.7-module-audio 0.1.1
- Upgraded Soapysdr0.7-module-bladerf 0.4.1
- Upgraded Soapysdr0.7-module-hackrf 0.3.3
- Upgraded Soapysdr0.7-module-lms7 20.01.0
- Upgraded Soapysdr0.7-module-mirisdr 0.2.5
- Upgraded Soapysdr0.7-module-osmosdr 0.2.5
- Upgraded Soapysdr0.7-module-redpitaya 0.1.1
- Upgraded Soapysdr0.7-module-remote 0.5.1
- Upgraded Soapysdr0.7-module-rfspace 0.2.5
- Upgraded Soapysdr0.7-module-rtlsdr 0.3.0
- Upgraded Soapysdr0.7-module-uhd 0.3.6
- Upgraded Uhd-Host 3.14.1
- Upgraded VLC 3.0.7
- Upgraded WSJT-X 2.1.0-2
- WebSDR Server List integrated with Firefox
For older changes, visit the DOWNLOADS page.