Thursday, April 2, 2026

Setup KA9Q-Radio radiosonde_auto_rx airspy mini


                            

Setup KA9Q-Radio + radiosonde_auto_rx (Airspy mini + Raspberry Pi + Docker)

1. Objektif Setup

Manual ini bertujuan untuk menggunakan KA9Q-Radio sebagai SDR server, memantau band radiosonde (400–406 MHz) secara serentak, dan integrasi dengan radiosonde_auto_rx menggunakan Docker.

Kelebihan:
- Lebih efisien CPU
- Decode banyak sonde serentak
- Sesuai untuk Airspy

2. Keperluan Sistem


Hardware:

- Raspberry Pi 4 / 5
- Airspy R2 / Airspy Mini
- Antena UHF

OS:
- Raspberry Pi OS atau Ubuntu 22.04

3. Install Dependencies

sudo apt update
sudo apt install -y avahi-utils build-essential make gcc libairspy-dev libairspyhf-dev libavahi-client-dev libbsd-dev libfftw3-dev libhackrf-dev libiniparser-dev libncurses5-dev libopus-dev librtlsdr-dev libusb-1.0-0-dev libusb-dev portaudio19-dev libasound2-dev libogg-dev uuid-dev rsync time git libsamplerate-dev

4. Install KA9Q-Radio

git clone https://github.com/ka9q/ka9q-radio.git
cd ka9q-radio
git checkout e1224dcd1991637ba8e1caa68cd802e1b22933de
make
sudo make install

5. Tambah User ke Group radio

sudo usermod -aG radio $(whoami)
reboot

6. Generate FFTW Wisdom

langkah penting untuk optimakan prestasi FFT dalam KA9Q-Radio. proses ini boleh ambil masa 2 jam, jadi memang sesuai dibuat waktu malam

cd /etc/fftw/
time sudo fftwf-wisdom -v -T 1 -o nwisdom rof300000 cob2400 cob1250 cob1202 cob1200
sudo cp -i nwisdom wisdomf

7. Konfigurasi KA9Q (Airspy)

untuk Airspy R2 / HydraSDR, frekuensi tengah perlu diletakkan sekurang-kurangnya 600 kHz di atas frekuensi tertinggi yang anda mahu pantau. Contoh, kalau mahu liputan 400–406 MHz, set frequency = 407m0. Airspy R2 / HydraSDR boleh beri kira-kira 8 MHz usable bandwidth pada mod real 20 MHz

sudo nano /etc/radio/radiod@airspymini-autorx.conf

[global]
hardware = airspy
mode = fm
status = sonde.local
iface = lo
ttl = 0
data = sonde-pcm.local

[airspy]
device = airspy
description = "auto_rx"
frequency = 405m6
gainstep = 17

[telemetry]
freq = "401m50"

[manual-400]
freq = 0
ttl = 0

Airspy Mini secara default beri kira-kira 5 MHz usable bandwidth pada 12 MHz real sample rate. Jadi kalau mahu cover 400–405 MHz, boleh set 405m6. kalau kawasan anda lebih banyak sonde di bahagian atas band, boleh pilih 406m6 untuk liputan 401–406 MHz. 

Airspy Mini juga boleh dipaksa jalan pada 20 MHz dengan buka komen samprate = 20000000, tetapi akan ada lebih banyak spurs pada kadar itu

8. Start Service

sudo systemctl enable radiod@airspymini-autorx
sudo systemctl start radiod@airspymini-autorx

9. Test KA9Q

control sonde.local

kalau tidak keluar apa-apa maknanya anda gagal, so sila patah balik ke step 3 sampai 8. Jika berjaya dia akan keluar macam di bawah ni. 


10. Setup Docker radiosonde_auto_rx

       Jika kamu guna OS Trixie, boleh install guna comand ini. 

       sudo apt-get install docker.io

    sudo usermod -aG docker $(whoami)

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf sudo modprobe -r dvb_usb_rtl28xxu
mkdir -p ~/radiosonde_auto_rx/log curl -o ~/radiosonde_auto_rx/station.cfg https://raw.githubusercontent.com/projecthorus/radiosonde_auto_rx/master/auto_rx/station.cfg.example
kemudian edit file station.cfg,

nano ~/radiosonde_auto_rx/station.cfg
Tapi jika kamu guna Bookworm dan ke bawah, maka kamu guna ini:

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
sudo usermod -aG docker $(whoami)
echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf sudo modprobe -r dvb_usb_rtl28xxu
mkdir -p ~/radiosonde_auto_rx/log curl -o ~/radiosonde_auto_rx/station.cfg https://raw.githubusercontent.com/projecthorus/radiosonde_auto_rx/master/auto_rx/station.cfg.example

kemudian edit file station.cfg,

nano ~/radiosonde_auto_rx/station.cfg

didalam file station.cfg - sila masukkan  perkara penting dalam section berikut.

   [habitat] -> uploader_callsign - nama atau callsign anda
   [location] -> station_lat, station_lon, station_alt - lokasi anda dlm decimal
   [search_params] -> min_freq, max_freq - freq radiosonde kawasan anda, 
 [sdr_type] = KA9Q
 [sdr_quantity] = 5

 [search_params]
  min_freq = 400.05
  max_freq = 405.8

 [DEMODULATOR / DECODER TWEAKS]
# Wideband Radiosonde Detection:
# Enables some tweaks to better handle detection and decoding of the following radiosonde types:
# - Intermet iMet-1/4 (Wideband versions)
# - Weathex WxR-301d
# If this is enabled in areas with 'narrowband' sondes as well (RS41, DFM, narrowband iMet, etc...) there will likely
# be degradation in detection and decode performance. 
wideband_sondes = True 

 perkara-perkara lain tu optional, terpulang kepada anda untuk aktifkan atau tidak. 
 kemudian save dan exit.

kemudian, mari kita run container ini.
docker run \
  -d \
  --name radiosonde_auto_rx \
  --restart="always" \
  --device=/dev/bus/usb \
  --network=host \
  -v ~/radiosonde_auto_rx/station.cfg:/opt/auto_rx/station.cfg:ro \
  -v ~/radiosonde_auto_rx/log/:/opt/auto_rx/log/ \
  -v /var/run/dbus:/var/run/dbus \
  -v /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket \
  ghcr.io/projecthorus/radiosonde_auto_rx:latest
jika keluar 

docker: unknown server OS:


buka terminal baru dan:

sudo chmod 666 /var/run/docker.sock

kemudian ulang semula : 

docker run \
  -d \
  --name radiosonde_auto_rx \
  --restart="always" \
  --device=/dev/bus/usb \
  --network=host \
  -v ~/radiosonde_auto_rx/station.cfg:/opt/auto_rx/station.cfg:ro \
  -v ~/radiosonde_auto_rx/log/:/opt/auto_rx/log/ \
  -v /var/run/dbus:/var/run/dbus \
  -v /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket \
  ghcr.io/projecthorus/radiosonde_auto_rx:latest

Docker ini tidak berfungsi baik di Debian 12 kerana sambungan ke ka9q-server boleh timeout. Ia disahkan berfungsi di Ubuntu 22.04 dan Raspberry Pi OS Bookworm. Jika anda guna Debian 12 dan kerap timeout, sila cuba pemasangan auto_rx secara native

11. Semak Output

docker logs -f radiosonde_auto_rx
http://IP_PI:5000

12. Troubleshooting Ringkas

- dft_detect timeout: kecilkan frequency range atau optimize FFTW
- Tak detect sonde: semak gain dan SDR
- Docker tak connect: pastikan mount DBus & Avahi

13. Ringkasan atau checklist setup

  • Pasang dependency.
  • Clone ka9q-radio.
  • Checkout commit e1224dcd1991637ba8e1caa68cd802e1b22933de.
  • make && sudo make install
  • Tambah user ke group radio.
  • Generate FFTW wisdom ikut jenis SDR.
  • Buat fail config dalam /etc/radio/.
  • Start servis radiod@...
  • Ubah station.cfg kepada sdr_type = KA9Q.
  • Jalankan radiosonde_auto_rx dan pastikan julat frekuensi tidak melebihi bandwidth SDR anda.

  • Setup KA9Q-Radio radiosonde_auto_rx airspy mini

                                 Setup KA9Q-Radio + radiosonde_auto_rx  (Airspy mini + Raspberry Pi + Docker) 1. Objektif Setup Manual ini bertu...