Dit is de originele OpenWebRX install die minder mogelijkheden bevat.
Jketterl heeft het mooi uitgeschreven op de volgende site: Getting started using Docker - openwebrx
Open een terminal
sudo docker volume create openwebrx-settings
sudo docker run --name openwebrx --device /dev/bus/usb --tmpfs=/tmp/openwebrx -p 8088:8073 -v openwebrx-settings:/var/lib/openwebrx jketterl/openwebrx:stable
Hierdoor wordt de image toegankelijk via de poort 8088 op de host, er wordt een extra volume gebruikt voor het bewaren van de settings en de openwebrx:stabel wordt gehaald of gebruikt voor het maken van de container en opgestart.
De --tmpfs is een parameter die er voor zorgt dat de temp files niet op je flash geschreven worden, maar in RAM bewaard worden.
Let wel op het path moet overeenkomen met je docker container, doordat dit een standaard werking is voor docker.
Dit commando dien je slechts één maal uit te voerden, zodat de container gemaakt kan worden en nadien met start - stop kan gebruikt worden.
Wordt de image lokaal gevonden, dan wordt deze gebruikt, zoniet wordt deze van de hub.docker.com gehaald, geïnstalleerd en opgestart.
Als de docker bij het aanmaken een error geeft(waarschijnlijk: usb_claim_interface error -6) is het nodig om de driver van de SDR te blacklisten in de host, zodat docker hem kan gebruiken.
Voor volgende drivers is dit beked (zie manual OpenwebRX -Docker)
RTL-SDR dvb_usb_rtl28xxu
SDRplay sdr_msi3101 msi001 msi2500
HackRF hackrf
Als voorbeeld blacklisten we hier de RTL-SDR driver, waarna een herstart van de host noodzakelijk is.
sudo echo "blacklist dvb_usb_rtl28xxu" >> /etc/modprobe.d/blacklist.conf
Het is mogelijk dat hierna de driver voor sommige software niet meer herkent wordt.
Bij mij bleken de RTL's nadien nog steeds bruikbaar door GQRX op de host.
........
Found 2 device(s):
0: Realtek, RTL2838UHIDIR, SN: 38009000
1: Realtek, RTL2838UHIDIR, SN: 00000101
Using device 0: Generic RTL2832U OEM
2021-08-31 19:24:20,444 - owrx.source.connector - DEBUG - opening control socket...
client connection established
Kernel driver is active, or device is claimed by second instance of librtlsdr.
In the first case, please either detach or blacklist the kernel module
(dvb_usb_rtl28xxu), or enable automatic detaching at compile time.
usb_claim_interface error -6
device could not be opened
Connector::open() failed
......
Jketterl heeft heel wat docker files die alleen de drivers bevatten en geconfigureerd zijn voor een specifieke hardware, handig als je een nagenoeg voorgeconfigureerd systeem wil hebben.
Je kan deze vinden op https://hub.docker.com/u/jketterl
In dit voorbeeld halen we de stabiele image van de airspy.
Deze stap kan je gebruiker als alternatief voor stap 3 in voorgaande voorbeeld en heeft een kleinere image file.
sudo docker run --name airspy --device /dev/bus/usb --tmpfs=/tmp/openwebrx -p 8088:8073 -v openwebrx-settings:/var/lib/openwebrx jketterl/openwebrx-airspy:stable
Vermits we hier de naam airspy geven aan de container, kunnen we deze ook met deze naam benaderen voor de andere commando's ipv de ID.
Eens de installatie één maal heeft gedraaid, kan je deze stoppen dmv de Ctlc-c in de terminal maar beter is het om de commando's stop en start te gebruiken, vanuit een nieuw terminal venster.
Hierdoor heb je geen openstaande terminal venster meer nodig na het geven van de commando's.
sudo docker stop airspy
sudo docker start airspy
Vermits in de laatste versies van openwebRX het aanpassen van de config vanuit de webinterface kan, is het niet meer noodzakelijk om de files te editeren.
Echter, om toegang te hebben, moet openwebRX een user kennen met bijbehorend paswoord.
Het aanmaken van zulk een user en de controle ervan vind je op de volgende pagina: OpenwebRX User management
In Linux dien je het op de volgende manier te doen:
Zoek de ID van de container via een nieuw terminal venster, als de container running is:
sudo docker ps
Start de commandline in de container:
sudo docker exec -it airspy /bin/bash
Geef het volgende commando om een gebruiker aan te maken:
python3 ./openwebrx.py admin adduser walter
Verlaat de CLI dmv:
Exit
Je kan nu OpenwenRX benaderen via een webbrowser op de host via:
localhost:<port>
Settings kan je aanpassen via het settings menu of door rechtstreeks te gaan naar:
localhost:<port>/settings
Geef je login en paswoord (aangemaakte user)
In de settings kan je zien welke SDR er gekoppeld en gevonden is en kan je zelf wat settings aanpassen.
beckground decoding en schedulers maken veel mogelijk. Background decoding
Op windows werkt geen enkele interface, maar in Linux werd de Airspy HF+ Discovery direct toegankelijk en gedetecteerd.
Voor het gebruik van non admin rechten via cli zie: Special information for docker users
Wanneer je banden bij maakt in de config, mag je niet zomaar een sample rate nemen, daar er anders gekke dingen gebeuren, zoals het niet juist op frequentie zitten.
Alvorens je start met het "offset" gebeuren, doe je er goed aan een aantal verschillende sample rates te testen, om dit probleem uit te sluiten.
Ieder SDR device heeft zo zijn eigen rates:
Airspy mini : 3M s/s, 6M s/s
Airspy HF+ Discovery: (48, 96), 192, 256, 384, 768 s/s schijnen het wel te doen. (max. 660 kHz alias-free)
RTL-SDR V3(R820T ): 2.4M s/s als maximum op een USB2.
Wanneer je meerdere identieke Airspy modules aan één openwebrx koppelt, dien je het serial number ervan te gebruiken in de SDR definitie veld Device identifier.
De tekst die je daarin moet invullen is deze waarbij het laatste nummer de serial nummer is:
serial=0xA74068C8365CA093
De RTL-SDR V3 laten direct conversion toe, een optie die je kan bijvoegen en aanzetten in de settings van een SDR device.
Voor de Direct conversion (gebruik op freq <24Mhz) maak je gebruik van de Q branch en zet je best de Auto AGC af, als je een RTL-SDR V3 gebruikt zonder de ingansfrequentie te beperken door voorzetfilters.
Het dynamisch bereik wordt hierdoor merkelijk beter.
Als je een auto restart wil laten gebeuren van een docker container na een reboot van de pc (bij update etc), kan je het volgende commando gebruiken om de bestaande docker file aan te passen.
Zo maak je een "connect en forget" device dat kan gebruikt worden door enkel de antenne om te schakelen en de voeding op te zetten.
sudo docker update --restart unless-stopped airspy
Restart van docker image is nodig om deze setting persistent te maken.
Het gebruik OpenwebRX vind je terug op Gebruik OpenWebRX
Een typische manier om een docker container te update is:
stop de bestaande container
verwijder de container zonder de settings te verwijderen
Pull de nieuwe docker container uit de docker hub
recreate de nieuwe container en herstart deze met de juiste settings.
Maak onderstaand script (UpdateOpenWebRx)aan in je document folder en maak het executable, zodat je verschillende stappen met een eenvoudige oproep kan uitvoeren.
Opstarten van dit script doe je als volgt:
Ga naar de folder waarin je het script het aangemaakt (./Documents)
geeft nu
sudo ./UpdateOpenWebRx
Geef je paswoord als root in en het script doet de rest.
#!/usr/bin/env bash
set -euo pipefail
TAG=stable
docker pull jketterl/openwebrx:${TAG}
docker stop openwebrx || true
docker rm openwebrx || true
docker run --name openwebrx -d --restart=unless-stopped --device /dev/bus/usb --tmpfs=/tmp/openwebrx -p 8088:8073 -v openwebrx-config:/etc/openwebrx -v openwebrx-settings:/var/lib/openwebrx jketterl/openwebrx:${TAG}
Opm: De -d parameter laat docker lopen in de achtergrond en de terminal in detached mode.
Dit is geen noodzaak voor een stand-alone PC, maar kan handig zijn op een systeem waar je meer dingen doet, omdat je dan de terminal voor andere zaken kan gebruiken.
Het weglaten van -d heeft geen invloed op de werking van openWebRX.
Voor de update van een specifieke hardware container pas je het docker run commando aan(rode tekst), alsook de pull van de container.
docker run --name openwebrx --restart=unless-stopped --device /dev/bus/usb --tmpfs=/tmp/openwebrx -p 8088:8073 -v openwebrx-config:/etc/openwebrx -v openwebrx-settings:/var/lib/openwebrx jketterl/openwebrx-airspy:${TAG}
Deze zijn terug te vinden onder /var/lib/docker/volumes.
De inhoud kan gecopieerd worden naar andere folders om zo de settings over te nemen van een werkende openwebrx naar openwebrxplus etc.