readsb(1)

NAME
readsb - Mode-S aircraft data processor for various receiver hardware.

VERSION
v3.8.1

DESCRIPTION
readsb Mode-S Receiver

BUILD OPTIONS

•   ENABLE_RTLSDR

•   ENABLE_BLADERF

USAGE
readsb [OPTION...]

OPTIONS

--dcfilter
    Apply a 1Hz DC filter to input data (requires more CPU)

--enable-biastee
    Enable bias tee on supporting interfaces (default: disabled)

--debug=<flags>
    Debug mode (verbose), see flags below

--device-type=<type>
    Select SDR type

--fix
    Enable CRC single-bit error correction (default)

--forward-mlat
    Allow forwarding of received mlat results to output ports

--freq=<hz>
    Set frequency (default: 1090 MHz)

--gain=<db>
    Set gain (default: max gain. Use -10 for auto-gain)

--gnss
    Show altitudes as GNSS when available

--interactive
    Interactive mode refreshing data on screen. Implies --throttle

--interactive-ttl=<sec>
    Remove from list if idle for <sec> (default: 60)

--json-location-accuracy=<n>
    Accuracy of receiver location in json metadata:

    0   no location

    1   approximate

    2   exact

--lat=<lat>
    Reference/receiver surface latitude

--lon=<lon>
    Reference/receiver surface longitude

--max-range=<dist>
    Absolute maximum range for position decoding (in nm, default: 300)

--metric
    Use metric units

--mlat
    Display raw messages in Beast ASCII mode

--modeac
    Enable decoding of SSR Modes 3/A & 3/C

--no-crc-check
    Disable messages with invalid CRC (discouraged)

--no-fix
    Disable CRC single-bit error correction

--no-interactive
    Disable interactive mode, print to stdout

--no-modeac-auto
    Don't enable Mode A/C if requested by a Beast connection

--onlyaddr
    Show only ICAO addresses

--quiet
    Disable output. Use for daemon applications

--raw
    Show only messages hex values

--show-only=<addr>
    Show only messages by given ICAO on stdout

--snip=<level>
    Strip IQ file removing samples < level

--stats
    With --ifile print stats at exit. No other output

--stats-every=<sec>
    Show and reset stats every <sec> seconds

--stats-range
    Collect/show range histogram

--write-json=<dir>
    Periodically write json output to <dir> (for external webserver)

--write-json-every=<t>
    Write json output every t seconds (default 1)

  NETWORK OPTIONS

--net
    Enable networking

--net-bi-port=<ports>
    TCP Beast input listen ports (default: 30004,30104)

--net-vrs-port=<ports>
    TCP VRS json output listen ports (default: 0)

--net-beast-reduce-out-port=<ports>
    TCP BeastReduce output listen ports (default: 0)

--net-beast-reduce-interval=<seconds>
    BeastReduce position update interval, longer means less data (default: 0.125, valid range: 0.000 - 14.999)

--net-bind-address=<ip>
    IP address to bind to (default: Any; Use 127.0.0.1 for private)

--net-bo-port=<ports>
    TCP Beast output listen ports (default: 30005)

--net-buffer=<n>
    TCP buffer size 64Kb * (2^n) (default: n=0, 64Kb)

--net-heartbeat=<rate>
    TCP heartbeat rate in seconds (default: 60 sec, 0 to disable)

--net-only
    Enable just networking, no RTL device or file used

--net-connector=<ip,port,protocol>
    Establish connection, can be specified multiple times (example: 127.0.0.1,23004,beast_out) Protocols: beast_out, beast_in, raw_out, raw_in, sbs_out, vrs_out.

--net-connector-delay=<seconds>
    Outbound re-connection delay (default: 30)

--net-ri-port=<ports>
    TCP raw input listen ports (default: 30001)

--net-ro-interval=<rate>
    TCP output memory flush rate in seconds (default: 0)

--net-ro-port=<ports>
    TCP raw output listen ports (default: 30002)

--net-ro-size=<size>
    TCP output minimum size (default: 0)

--net-sbs-port=<ports>
    TCP BaseStation output listen ports (default: 30003)

--net-verbatim
    Forward messages unchanged

  RTLSDR OPTIONS
use with --device-type rtlsdr

--device=<index|serial>
    Select device by index or serial number

--enable-agc
    Enable digital AGC (not tuner AGC!)

--ppm=<correction>
    Set oscillator frequency correction in PPM

  BLADERF OPTIONS
use with --device-type bladerf

--bladerf-bandwidth=<hz>
    Set LPF bandwidth ('bypass' to bypass the LPF)

--bladerf-decimation=<N>
    Assume FPGA decimates by a factor of N

--bladerf-fpga=<path>
    Use alternative FPGA bitstream ('' to disable FPGA load)

--device=<ident>
    Select device by bladeRF 'device identifier'

  MODES BEAST OPTIONS
use with --device-type modesbeast

Beast binary protocol and hardware handshake are always enabled.

--beast-crc-off
    Turn OFF CRC checking

--beast-df045-on
    Turn ON DF0/4/5 filter

--beast-df1117-on
    Turn ON DF11/17-only filter

--beast-fec-off
    Turn OFF forward error correction

--beast-mlat-off
    Turn OFF MLAT time stamps

--beast-modeac
    Turn ON mode A/C

--beast-serial=<path>
    Path to Beast serial device (default /dev/ttyUSB0)

  ADALM-Pluto OPTIONS
use with --device-type plutosdr

Default device expected at hostname 'pluto.local'.

--pluto-uri=<USB URI>
    Create USB context from URI (eg. usb:1.2.5)

--pluto-network=<hostname or IP>
    Create network context from hostname or IP (default pluto.local)

  IFILE OPTIONS
use with --ifile

--ifile=<path>
    Read samples from given file ('-' for stdin)

--iformat=<type>
    Set sample format (UC8, SC16, SC16Q11)

--throttle
    Process samples at the original capture speed

  HELP OPTIONS

-?, --help
    Give this help list

--usage
    Give a short usage message

-V, --version
    Print program version

DEBUG MODE FLAGS

d   Log frames decoded with errors

D   Log frames decoded with zero errors

c   Log frames with bad CRC

C   Log frames with good CRC

p   Log frames with bad preamble

n   Log network debugging info

j   Log frames to frames.js, loadable by debug.html

CREDITS
Matthias Wirth aka wiedehopf Taner Halicioglu aka tanerH

BUGS
Report bugs to Michael Wolf <michael@mictronics.de>.

AUTHOR
Michael Wolf