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 ships a USB hotplug script (gated on option hotplug '1', default on). When you plug in a supported RTL2832U-based RTL-SDR it auto-sets device_type=rtlsdr, pins device=<USB serial>, clears net_only, sets enabled=1, and restarts readsb. So for the common RTL-SDR case you only need to set lat/lon.

# Required for MLAT and CPR/range decoding.
uci set readsb.config.lat='12.3456'
uci set readsb.config.lon='-65.4321'

# Optional tuning (all have sane defaults).
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

# Enable on boot and start now (no-op if hotplug already started it).
/etc/init.d/readsb-wiedehopf enable
/etc/init.d/readsb-wiedehopf start

# Verify and watch live decodes.
/etc/init.d/readsb-wiedehopf status
logread -e readsb -f
viewadsb                                 # text UI of live aircraft

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-wiedehopf stop 2>/dev/null || true
/etc/init.d/readsb-wiedehopf 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