BlackOut Secure - OpenWrt Package Feed

Unofficial test feed for readsb-wiedehopf on OpenWrt 23.05-SNAPSHOT. Built once against upstream OpenWrt 23.05.6 (Cortex-A53) and republished under multiple ABI-compatible arch labels so the same base URL works on mainline OpenWrt and on GL.iNet ApNos firmware.

Architectures published

Add to your router

mainline OpenWrt on Cortex-A53 (e.g. ipq60xx, ipq807x)

echo 'src/gz blackoutsecure https://openwrt.blackoutsecure.dev/23.05-SNAPSHOT/packages/aarch64_cortex-a53/blackoutsecure' >> /etc/opkg/customfeeds.conf
opkg update
opkg install readsb-wiedehopf

GL.iNet ApNos firmware (AXT1800 / AX1800, 23.05-based)

echo 'src/gz blackoutsecure https://openwrt.blackoutsecure.dev/23.05-SNAPSHOT/packages/aarch64_cortex-a53_neon-vfpv4/blackoutsecure' >> /etc/opkg/customfeeds.conf
opkg update
opkg install readsb-wiedehopf

Running

The package's postinst already runs /etc/init.d/readsb enable && /etc/init.d/readsb start, so the service is up the moment opkg install finishes. The steps below are for overriding defaults afterwards.

Names: the package is readsb-wiedehopf but it PROVIDES:=readsb, so the binary is /usr/bin/readsb, the init script is /etc/init.d/readsb, and the UCI config is /etc/config/readsb. Either name satisfies a readsb dependency.

What the init script does on every start:

The USB hotplug script (/etc/hotplug.d/usb/30-readsb, gated on option hotplug '1', default on) recognises the full librtlsdr known-device list (Realtek 0bda:2832/2838, Hauppauge, Terratec, Compro, MyGica, Astrometa, Nooelec, RTL-SDR Blog v3/v4, etc.). On add it sets device_type=rtlsdr, pins device=<USB serial>, clears net_only, sets enabled=1, and restarts readsb.

So for a typical RTL-SDR install: plug it in, install the package, done. The snippet below is only needed if you want to override defaults.

# Optional tuning (all have sane defaults).
# Override the geoip-detected location with your real receiver coordinates
# (city-level accuracy is fine for ADS-B reception; MLAT needs metres).
# uci set readsb.config.lat='12.3456'
# uci set readsb.config.lon='-65.4321'
uci set readsb.config.gain='auto'        # AGC — the package default; or pin a dB value (e.g. '49.6')
uci set readsb.config.mlat='1'           # emit MLAT timestamps in Beast OUT (for piaware / mlat-client)
# uci set readsb.config.net='1'          # network outputs — already on by default; set to '0' to disable
# uci add_list readsb.config.net_connector='feed.adsbexchange.com,30005,beast_reduce_out'  # push to aggregator

# Manual SDR / net-only setup — only needed if hotplug didn't fire (non-RTL-SDR
# receiver, hotplug disabled, or net-only ingest). Hotplug also flips enabled=1
# automatically; otherwise enable it yourself, the init script exits if it's 0.
# uci set readsb.config.enabled='1'
# uci set readsb.config.device_type='rtlsdr'   # rtlsdr | hackrf | plutosdr | bladerf | ifile
# uci set readsb.config.device='00001090'      # USB serial of a specific dongle (multi-SDR setups)
# uci set readsb.config.net_only='1'           # net-only (no SDR) — ingest Beast/SBS from the network

uci commit readsb
/etc/init.d/readsb restart               # apply the new config

# Verify and watch live decodes.
/etc/init.d/readsb status
logread -e readsb -f
viewadsb                                 # text UI of live aircraft
# readsb-geoip --force                   # re-run geoip lookup (overwrite existing lat/lon)

Default network listeners: 30001 Beast IN, 30002 Raw OUT, 30003 SBS BaseStation OUT, 30005 Beast OUT, 30978 JSON OUT. Point aggregator clients (FlightAware, ADS-B Exchange, FR24, …) at localhost:30005.

Uninstall

Removes the package(s) installed from this feed and detaches the custom feed entry. Run on the router:

/etc/init.d/readsb stop 2>/dev/null || true
/etc/init.d/readsb disable 2>/dev/null || true
opkg remove readsb-wiedehopf viewadsb-wiedehopf
sed -i '/blackoutsecure/d' /etc/opkg/customfeeds.conf
opkg update

Optional — also wipe runtime/state data and opkg's *-opkg config backups:

rm -rf /etc/readsb /etc/config/readsb \
       /etc/readsb-wiedehopf /etc/config/readsb-wiedehopf \
       /var/lib/readsb /var/run/readsb /var/log/readsb \
       /etc/*-opkg