WaveShark

Latest release · v0.1.0

Download

One binary and a radio. There is no installer, no service and nothing to sign up for.

After the download

First run

Four minutes, most of it the driver. If the spectrum moves, the radio is open and every scanner in the span is already running.

  1. Give the dongle a driver

    On Linux, install the distribution package so the udev rules land. On Windows, run Zadig, pick the RTL2832U interface and install WinUSB.

    $ sudo apt install librtlsdr0
  2. Unpack and run

    No install step. The binary is the program.

    $ tar xf waveshark-linux-x86_64.tar.gz
    $ ./waveshark
  3. Press play

    It opens on 433.92 MHz, where the devices it decodes are. Click the spectrum to place a channel and listen, drag to pan, scroll to scrub, hold shift to snap to the band plan.

  4. Check the path if nothing arrives

    --probe tests the signal path with no display, and --squelch-probe reports what the squelch reads on a frequency.

    $ ./waveshark --probe 433.92

Two decoders the downloads do not carry

Build from source

The published builds leave out tea and ambe. Compiling them for yourself is not the same act as a project distributing them, which is why the source turns them on and the downloads do not.

$ sudo apt install librtlsdr-dev liblimesuite-dev pkg-config \
    libclang-dev libasound2-dev libx11-dev libxrandr-dev libxi-dev \
    libxcursor-dev libxkbcommon-dev libwayland-dev libgl1-mesa-dev
$ cargo run --release -p app
FeatureWith it, and without
tea Links the TETRA ciphers and a wgpu key search. Without it the keys view still lists enciphered channels and says nothing can read them.
ambe Builds the AMBE and IMBE vocoder port, whose algorithms are patent encumbered. Without it DMR still says who is talking and decodes no speech.
limesdr On by default. Needs LimeSuite, which is why the Windows build drops it.
stt Speech to text over decoded voice.

The release workflow builds --no-default-features --features limesdr,stt.

Something did not decode?

Record the burst with --record and open an issue with the capture. A capture that decodes becomes a test fixture.

Open an issue