SDR-container

From PRK-wiki
Jump to: navigation, search

Ylämontun radiokoneella (prk-3) päätettiin asentaa softaradiosoftat LXD-konttiin, koska niillä on aika paljon dependenssejä, joista osa tarvitaan ppa-repoista ja osan joutuu joskus kääntämään itse. Tavoitteena on, että koneella on aina toimiva gqrx rtl-sdr:n kanssa. Muiden SDR-softien asentaminen ja säätäminen saattaa joskus rikkoa joitain dependensseistä, joten kokeellisemmille ohjelmille voidaan tehdä tarvittaessa toinen kontti.

Näin gqrx-kontti tehtiin

lxc launch ubuntu:17.10 sdr1

Yhteys kontista X-palvelimelle tehtiin sivun https://blog.simos.info/how-to-run-graphics-accelerated-gui-apps-in-lxd-containers-on-your-ubuntu-desktop/ ohjeiden mukaan:

#lxc config set sdr1 raw.idmap "both $UID 1000"
lxc config device add sdr1 X0 disk path=/tmp/.X11-unix/X0 source=/tmp/.X11-unix/X0
lxc config device add sdr1 Xauthority disk path=/home/ubuntu/.Xauthority source=${XAUTHORITY}
#lxc config device add sdr1 mygpu gpu
#lxc config device set sdr1 mygpu uid 1000 gid 1000

Äänet ja softaradiot:

lxc config device add sdr1 pulse disk path=/pulse source=/run/user/1000/pulse/native
lxc config device add sdr1 limesdr usb vendorid=1d50 productid=6108 mode=0666
lxc config device add sdr1 rtlsdr usb vendorid=0bda mode=0666

Ohjelmat ( http://gqrx.dk/download/install-ubuntu ):

lxc exec sdr1 bash
# seuraavat komennot ajetaan kontissa
add-apt-repository -y ppa:myriadrf/drivers
add-apt-repository -y ppa:myriadrf/gnuradio
add-apt-repository -y ppa:gqrx/gqrx-sdr
apt-get update
apt-get install gqrx-sdr
apt-get install limesuite soapysdr-module-lms7   # LimeSDR-tuki

gqrx käyntiin kokeeksi:

xhost +    # TODO: X:n käyttöoikeudet kuntoon jotenkin siistimmin
lxc exec sdr1 su - ubuntu
PULSE_SERVER=/pulse DISPLAY=:0 gqrx

Skripti helpottamaan ohjelmien ajamista kontissa kätevästi pikakuvakkeesta:

#!/bin/sh
xhost +
lxc info sdr1 | grep -q "Status: Running" || (echo Käynnistetään kontti; lxc start sdr1)
echo Ajetaan kontissa: $@
lxc exec sdr1 -- su - ubuntu -c "PULSE_SERVER=/pulse DISPLAY=:0 $@"

gqrx

Jos kuuntelet LimeSDR:llä, aseta kaistanleveydeksi laitteen asetuksissa (File -> I/O devices) suurempi kuin 5 MHz. Muuten ohjelma kaatuu.