SVXlink mit Orange Pi Zero

Installation von SVXLINK auf Orange Pi Zero
(H2 Prozessor – Betriebssystem: Armbian)

IW3AMQ – Thomas

Vorbereitung Hardware

Es braucht beim Orange Pi Zero wirklich wenig, es ist praktisch so gut wie alles schon auf dem Board, auch die Soundkarte! Es braucht insgesamt nur 6 bis 7 Bauteile, die auch fliegend im Gehäuse des Orange Pi Zero gelötet werden können.

Die GPIO Numerierung ist aus diesem Bild ersichtlich:

Für den PTT einfach einen NPN Transistor verwenden, Basis mit einem 1 kohm Widerstand zum I/O Pin (Pin 11, PA01, GPIO1) vom I/O Port des Orange Pi Zero verbinden. Den Emitter des Transistors auf Masse legen. Der Kollektor kommt zum PTT des Funkgerätes.

In vielen Fällen kann auch auf den Transistor verzichtet werden, wenn der hohe Pegel der PTT-Leitung die 5 V nicht übersteigt.

Für den Audioeingang (MIC1N oder MIC1P) das Signal vom Diskriminatorausgang des RX über einen Kondensator zu 1 uF verbinden. Falls das NF-Signal zu hoch ist, vor dem Kondensator einen Spannungsteiler einsetzen. Dieser kann durch einen Widerstand mit 33 kohm in Serie, danach einen Widerstand zu 1,5 kohm Parallel zur Masse realisiert werden oder durch einen 10 kohm Drehwiderstand, dann ist der Pegel regelbar. Im Schaltplan ist der Drehwiderstand eingezeichnet. Dann in Serie den Kondensator zu 1 uF zum MIC Eingang des Orange PI Zero.

Den rechten Audioausgang über einen Kondensator zu 1 uF mit dem Modulatoreingang des TX verbinden. Sollte der NF-Pegel zu hoch sein, einen 1 kOhm Trimmer zum Regeln einsetzen, danach folgt wieder 1 uF in Serie. Natürlich kann auch hier statt dem Drehwiderstand ein Spannungsteiler eingesetzt werden.

In vielen Fällen kann auf die Schaltung mit den variablen Widerständen verzichtet werden. Wichtig ist aber auch jeden Fall einen Elektrolytkondensator zu 1 uF im RX und einen im TX Zweig in Serie zu schalten, um die Soundkarte des OrangePiZero gleichstrommäßig vom RTX zu trennen

Die Spannungsversorgung von 12 V kann mit einem kleinen Switchingboard zu ein paar Euro auf 5 V für den Orange Pi Zero geregelt werden (min. 1 A). Dieses Board bringt 2 A und kann innen auf die Oberseite des Gehäuses geklebt werden. Ich habe dazu das “Mini 360 DC” bei www.aliexpress.com gekauft. Fünk Stück kosten inklusive Versand 1,50 € !

 

Als Verbindungsstecker zum Funkgerät bzw. Funkgeräte habe ich eine MiniDIN Buchse mit 6 Pin verwendet.

Beispiel der Pinbelegung MiniDIN Buchse zum RTX:

1 = TX NF
2 = PTT
3 = GND
4 = /
5 = RX NF
6 = + 12 Volt

 

Pinbelegung Motorola GM900:

DB15 TX:                               DB15 RX:

10 = GND                              10 = GND
14 = + 12 Volt                        21 = PTT
25 = RX NF                           24 = TX NF
9 = zu Pin 4                           9 = zu Pin 4
4 = zu Pin 9                           4 = zu Pin 9

Fertige Platine auf Lochrasterplatine aufgebaut:

In den beiden Bildern erkennt man die Lochrasterplatine, die auf den Orange Pi Zero direkt aufgesteckt ist und den Spannungswandler “Mini 360 DC” und die Bauteile der NF mit dem PTT Transistor trägt. Die nötigen Verbindungen für +5V, GND, TX Nf, RX Nf und PTT gehen direkt über die Steckerleisten zum Orange Pi Zero. Vom linken Klemmpfosten führen nur 3 Kabel (GND, TX Nf und PTT) zum TX, vom rechten Klemmpfosten führt nur einer (RX Nf) zum RX und die anderen zwei sind + 12 V und GND für die Stromversorgung.

  

Hier wurden 2 Mobilfunkgeräte von Motorola, GM900 verwendet. Alles hat zusammen mit einem Schaltnetzteil zu 12 V / 10 A (ganz links) in einem Rackgehäuse mit 1 HE (Höheneinheit = 44,45 mm) Platz! Ein Ventilator aus einem Servernetzteil sorgt zuverlässig für die nötige Kühlung, wenn der Thermoschalter (auf dem linken GM900 in weiss, rechteckig mit weißem Kabel) am Kühlblech des TX die 50°C überschreitet.

 

Betriebssystem installieren

Am Besten eine microSD Karte der Klasse 10 (Class10) mit mindestens 4 GB einsetzen.

Auf der SD-Karte letzte Version von Debian – Armbian auf Orange Pi Zero installieren, siehe https://dl.armbian.com/orangepizero/archive/

  • SD Karte mit Windows PC mit dem Programm „SDCardFormatter“ neu formatieren
  • Image „5.35_Orangepizero_Debian_jessie_default_3.4.113.img“ auf die SD-Karte mit dem Programm „Win32DiskImager“ brennen
  • Die SD-Karte in den Orange Pi Zero stecken
  • Den Orange Pi Zero mit dem Netzwerk verbinden und Strom geben
  • Auf dem Windows PC einen Netzwerkscanner starten (ca. 3 Minuten warten, bis der Orange Pi gebootet hat) und feststellen, welche IP Adresse der Orange Pi Zero vom DHCP Server bekommen hat
  • Auf dem Windows PC das Programm „Putty“ starten, die festgestellte IP Adresse und Port 22 angeben
  • Originale Zugangsdaten sind => User: root   Password: 1234
  • Sollte kein ssh Zugang mit “root” auf port 22 möglich sein, muss der Zugang aktiviert werden (beim ITX Intel mit Debian). Dazu folgenden Befehl ausführen: nano /etc/ssh/sshd_config und den Parameter “PermitRootLogin” auf “yes” setzen.
  • Warten …
  • Neues Password für root vergeben, zum Beispiel: 1234abcd
  • … und ein zweites Mal eintippen
  • Neuen Usernamen vergeben: svxlink (obligatorisch)
  • Neues Unix Password vergeben, zum Beispiel: 1234abcd
  • Userinformationen eingeben, zum Beispiel: IR3UHF
  • Den Namen des PC ändern: mit WinSCP (kann aber auch mit dem Programm nano mit Putty gemacht werden, wer weiss wie) im Ordner /etc in der Datei hostname den Namen ändern und speichern
  • Neu starten mit reboot
  • Mit df -h die Größe der SD Karte kontrollieren, sie sollte nun den nominalen Wert aufweisen
  • Falls man das Password ändern möchte, folgenden Befehl tippen:sudo passwd root

Armbian updaten

  • Armbian udaten: apt-get update
  • Updates von Armbian installieren: sudo apt upgrade
  • Firmware updaten: sudo apt dist-upgrade

SVXLINK installieren

  • Svxlink Packete herunterladen:
    apt install g++ cmake make libsigc++-2.0-dev libgsm1-dev libpopt-dev tcl8.5-dev libgcrypt11-dev libspeex-dev libasound2-dev libopus-dev librtlsdr-dev doxygen groff alsa-utils vorbis-tools curl
  • Dann folgende Befehle ausführen:
    git clone https://github.com/sm0svx/svxlink
    (sollte dieser Befehl fehlschlagen, fehlt “git”, das mit folgendem Befehl installiert wird: apt install git )
  • cd svxlink/src/
  • mkdir build
  • cd build
  • cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DUSE_QT=OFF ..
  • make
  • Sich einen Kaffee genehmigen, die Kompilierung dauert fast 30 Minuten mit einer Class 10 SD Karte …
  • make doc
  • make install
  • cd
  • cp svxlink/distributions/debian/etc/init.d/svxlink /etc/init.d/
  • chmod +x /etc/init.d/svxlink
  • systemctl daemon-reload
  • cd
  • Mit WinSCP in der Datei svxlink im Ordner /etc/init.d die Zeile RUNASUSER=svxlink in RUNASUSER=root ändern (ca. 8. Zeile nach dem Kommentar), Datei speichern

Nachfolgend 2 Möglichkeiten, GPIO’s zu setzen, Version B ist die elegantere.

VERSION A:

  • crontab -e (GPIO Ports im Autostart aktivieren)
    Die 1 wählen
    Folgende beide Zeilen, die in fett geschrieben sind, hinzufügen:

@reboot echo 1 > /sys/class/gpio/export && sleep 1 && echo out > /sys/class/gpio/gpio1/direction && sleep 10 && svxlink –daemon

#Mit diesen vier Befehlen wird 1) GPIO exportiert, 2) für eine Sekunde gewartet, 3) GPIO1 als Ausgang für den PTT definiert, 10 Sekunden warten und 4) Svxlink gestartet

Achtung: unbedingt Leerzeile oberhalb des Kommentars (der mit #) lassen! Dann mit STRG X beenden, mit Y bzw. J bestätigen und ENTER zum speichern.

Möchte man z.B. für eine Fernsteuerung über SvxLink andere Ports settieren, kann man die Befehle auch in Reihe eingeben. Im nachfolgenden Beispiel wird GPIO0 für die Leistungsschaltung 1W/10W und GPIO1 für den PTT verwendet:

@reboot echo 0 > /sys/class/gpio/export && echo 1 > /sys/class/gpio/export && sleep 1 && echo out > /sys/class/gpio/gpio0/direction && echo out > /sys/class/gpio/gpio1/direction && sleep 10 && svxlink –daemon

Mit dem Befehl echo “1” > /sys/class/gpio/gpio0/value kann GPIO 0 auf eins gesetzt werden, mit echo “0” > /sys/class/gpio/gpio0/value kann er auf null gesetzt werden.

  • Mit systemctl disable svxlink den Servicestart von Svxlink stoppen, da Svxlink über crontab gestartet wird

VERSION B:

Alternativ zu crontab -e und systemctl disable svxlink kann folgende elegantere Version gewählt werden:

  • Sollte Svxlink nicht über crontab gestartet werden, kann mit systemctl enable svxlink der Dienst wieder gestartet werden.
  • Die GPIO Pins können auch beim Servicestart von Svxlink mitkonfiguriert werden (besser). Dazu crontab -e nicht ausführen, sondern in der Datei /etc/init.d/svxlink in Zeile 94 ca. folgende Zeilen, in fett geschrieben, einfügen:
    case “$1” in
    start)
    ## Starte GPIO1 – Pin 11 für PTT
    echo 1 > /sys/class/gpio/export
    echo out > /sys/class/gpio/gpio1/direction
    log_daemon_msg “Starting SVXLINK server” “svxlink”Datei speichern.

Installation der Audiodateien:

  • Kontrollieren, ob nur eine Instanz von Svxlink läuft mit pidof svxlink
  • Audiodateien kontrollieren, ob die Ordner (Core, Default; DtmfRepeater usw.) in folgendem Ordner sind: /usr/share/svxlink/sounds/en_US
  • Falls keine vorhanden sind mit dem Windows PC diese Datei herunterladen: https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/14.08/svxlink-sounds-en_US-heather-16k-13.12.tar.bz2
  • Diese Datei mit dem Windows PC mit dem Programm „7-zip“ entpacken und den gesamten Ordner mit Unterordnern mit dem Programm „WinSCP“ in den Ordner /usr/share/svxlink/sounds/en_US/ kopieren
  • Svxlink und PC neu starten: reboot

 

SVXLINK konfigurieren

  • (Mit WinSCP die Datei gpio.conf im Ordner /etc/svxlink bearbeiten. Für den PTT auf Pin 11 (PA01 bzw. GPIO1) vom I/O Port des Orange Pi Zero den Wert 1 in folgender Zeile setzen:
    GPIO_OUT_HIGH=“1“ , dann Datei speichern)
  • Mit WinSCP die Datei svxlink.conf konfigurieren. Dazu siehe auch deutsche Anleitung im Netz (Test Zuordnung Soundkarte: aplay -l und arecord -l im Putty eingeben)
  • Mit WinSCP wenn nötig auch die Datei ModuleEcholLink.conf im Ordner /etc/svxlink/svxlink.d/ anpassen
  • Svxlink starten für Test: svxlink , mit Q beenden
  • Svxlink als Service starten: service svxlink start
  • Svxlink als Service stoppen: service svxlink stop
  • Svxlink Status abfragen: service svxlink status

 

Befehle für Handling der SVXLink Software

 

Svxlink als Dienst anhalten: killall svxlink
Svxlink als Dienst starten: svxlink –daemon oder svxlink -daemon

Svxlink zum Testen starten: svxlink , zum Beenden Taste q

Weiter unten befinden sich Beispieldateien von Svxlink.conf als einfacher Umsetzer, Umsetzer mit Echolink und Netzverbund und der Datei ModuleEcholink.conf

Svxlink Audiopegel, Squelch und CTCSS justieren

SVXLINK für Abgleich vorbereiten

  • Putty öffnen (eventuell mit cd auf oberste Ebene gehen)
  • In den SVXLINK-Ordner wechseln:
    cd /svxlink/src/build/bin/
    oder
    cd /root/svxlink/src/build/bin/
    oder beim Raspberry
    cd /home/pi/svxlink/src/build/bin
  • SVXLINK abschalten: service svxlink stop oder killall svxlink

Abgleich NF TX

Achtung: beim Odroid (nicht beim OrangePi) vorerst in der Datei „svxlink.conf“ unter [TX1] den Wert von „AUDIO_DEV=“ von alsa:hw:1 in alsa:plughw:1 ändern, nach der Justierung wieder rückändern!)

  • Zweites Putty öffnen
  • Alsamixer starten: alsamixer -c1 (auch alsamixer -c0 bei eingebauter Soundkarte, ev. Mit F6 Soundkarte auswählen)
  • Input Regler folgendermaßen einstellen (mit TAB weiterschalten, dass Ein- und Ausgänge angezeigt werden oder F5 drücken, mit Pfeil oben, unten, rechts, links bzw. mit Taste M für Ein/Aus).

Grundeinstellungen z.B. für GM900 Motorola, alle Regler auf 0 bzw AUS stellen, außer folgende:

Lineout“: 81
ADC inpu“: 81
“Audio lineout” mit Taste M auf EIN stellen
MIC1 boo“: 0
audio ca” auf mic1_2 setzen

  • Zum ersten Puttyfenster wechseln
  • Abgleichbefehl starten:
    ./devcal -t -f 1000 -d 3000 -m 5000 /etc/svxlink/svxlink.conf Tx1
    Achtung: Befehl selbst neu eintippen, NICHT kopieren und einfügen!!! Das Kopieren/Einfügen hat einige Male Fehler gegeben.
    oder
    ./devcal -t -f 1000 -d 3000 -m 5000 -a alsa:plughw:1 /etc/svxlink/svxlink.conf Tx1
    Achtung: ev. Auch … -a alsa:plughw:0 (je nach Soundkarte)
  • Mit Taste T Ptt einschalten
  • Mit den Tasten + und – den Pegel so einstellen, dass 3 kHz Modulation erreicht sind
  • Falls nötig, im zweiten Puttyfenster den Regler “Lineout” verstellen (nicht über 90% gehen, Verzerrungsgefahr bzw. Verzerrung der NF im Testset prüfen)
  • Den Wert merken und in die Datei svxlink.conf unter „MASTER_GAIN=“ schreiben
  • Mit Q beenden

Abgleich NF RX

  • Mit dem Signalgenerator auf der RX Frequenz dem Empfänger ein rauschfreies Signal mit einem 1 kHz Ton und 3 kHz Frequenzhub geben
  • Abgleichbefehl starten:
    ./devcal -r -f 1000 -d 3000 -m 5000 /etc/svxlink/svxlink.conf Rx1
    oder
    ./devcal -r -f 1000 -d 3000 -m 5000 -a alsa:plughw:1 /etc/svxlink/svxlink.conf Rx1
    Achtung: ev. auch … -a alsa:plughw:0 (je nach Soundkarte)
  • Mit + und den Pegel so einstellen, dass 3 kHz Modulation erreicht sind
  • Falls nötig, im zweiten Puttyfenster den Regler “ADC inpu” verstellen (nicht über 90% gehen, Verzerrungsgefahr). Falls das nicht reichen sollte, dann erst “MIC1 boo” erhöhen
  • Den angezeigten Wert von Preamp merken und in die Datei svxlink.conf unter „PREAMP=“ schreiben
  • Mit Q beenden
  • Im zweiten Puttyfenster mit ESC das Programm Alsamixer beenden
  • Parameter von Alsamixer mit dem Befehl alsactl store speichern
  • Svxlink starten mit svxlink –daemon und mit killall svxlink wieder beenden

Signalpegel einstellen

  • Signalgenerator für S9 + 30 db auf -63 dbm einstellen, ohne Ton, nur Träger
  • Abgleichbefehl starten:
    ./siglevdetcal /etc/svxlink/svxlink.conf Rx1
  • Die angegebenen Werte für SIGLEV_SLOPE , SIGLEV_OFFSET und CTCSS_SNR_OFFSET in svxlink.conf schreiben

Abgleich CTCSS TX

  • Im File svxlink.conf den Parameter „CTCSS_LEVEL=“ in der Rubrik [TX1] so lange verändern, dass der Hub des Subaudiotones 500 Hz beträgt. Dazu mit einem RTX den Umsetzer auf Sendung bringen.
  • Dazu bei jeder Änderung File speichern und Svxlink neu starten mit den Befehlen: killall svxlink und danach svxlink –daemon

ALLE PARAMETER NOCHMALS MIT DEM TESTSET KONTROLLIEREN!!!

Statische IP Adresse setzen

Möglichkeit A:

Wenn Sie wollen, daß der NetworkManager auch Verbindungen behandelt, die in /etc/network/interfaces aktiviert sind:

Setzen Sie managed=true in /etc/NetworkManager/NetworkManager.conf mit dem Befehl
sudo nano /etc/ NetworkManager/NetworkManager.conf

Bearbeiten Sie die Datei /etc/network/interfaces  mit dem Befehl sudo nano /etc/network/interfaces und fügen diese Zeilen ein:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Static IP address
auto eth0
iface eth0 inet static
    address 192.168.25.3
    netmask 255.255.255.0
    gateway 192.168.25.1

# end ###

Nachfolgend die DNS Adressen ändern. Da in diesem Falle der Networkmanager IP und DNS verwaltet, kann die normalerweise benutzte Datei resolv.conf NICHT verändert werden, da sie vom Networkmanager überschrieben wird.

Im Terminalfenster tippen:

  • nano /etc/resolvconf/resolv.conf.d/head
  • Unter der Beschreibung folgende Zeilen hinzufügen (IP Adresse nach gewünschten DNS Server):
    nameserver 8.8.8.8
    nameserver 44.134.190.76

    nameserver 44.134.190.126

    Die Eintragung “nameserver 8.8.8.8” nach der Änderung der IP Adresse für das Hamnet löschen!Der DNS 44.134.190.76 ist am Rittnerhorn, 44.134.190.126 am Kronplatz. Den netzwerkmässig näheren als erstes angeben.
  • Mit ctrl-x abspeichern und beenden
  • Dann updaten mit dem Befehl: sudo resolvconf –enable-updates
  • Dann: sudo resolvconf -u

Statt den ersten Befehl (sudo nano /etc….) zu verwenden, kann auch WinSCP für die Bearbeitung der Datei head verwendet werden. Rest identisch.

Starte den NetworkManager neu: /etc/init.d/network-manager restart

Möglichkeit B:

Die IP-Adresse kann auch mit dem Befehl armbian-config auf statisch gesetzt werden.

  • Menüpunkt “Network – Wired, wireless, Bluetooht, access point” auswählen und mit OK bestätigen
  • Menüpunkt “IP – Select dynamic or edit static IP address” auswählen und mit OK bestätigen
  • Static auswählen und mit enter/Eingabe bestätigen
  • Parameter nach Wunsch ändern, mit OK bestätigen (TAB Taste verwenden, um auf OK zu gelangen)
  • Unter Menüpunkt “Advanced – Edit /etc/network/interfaces” die Parameter nochmal anzeigen lassen zur Kontrolle
  • Mit der Tab Taste auf “Cancel” für weitere 2 Mal um den Assistenten zu beenden

Infotext bei Anmeldung ausgeben

Um einen Infotext nach dem Login auszugeben, im Ordner /etc/profile.d die Datei info.sh neu einrichten (sie ist meist noch nicht vorhanden, die Datei mit nano oder WinSCP neu einrichten und bearbeiten). In dieser kann einfacher Test wie folgt eingegeben werden:

echo ”                R2 Kronplatz – Motorola MC Compact”
echo “”
echo “Niedere Leistung (1 W):   echo 1 > /sys/class/gpio/gpio7/value”
echo “Hohe Leistung (10 W):     echo 0 > /sys/class/gpio/gpio7/value”
echo “”
echo “Kanal 1 (145,650 MHz):   echo 0 > /sys/class/gpio/gpio0/value”
echo “Kanal 2 (145,700 MHz):   echo 1 > /sys/class/gpio/gpio0/value”
echo “”

Installation von setQRG auf dem MB45 mit OrangePiZero

  • Alle Dateien von setQRG in den Ordner /opt kopieren
  • Mit cd /opt In den Ordner /opt wechseln
  • Den Compiler Python-pip mit folgendem Befehl installieren: apt-get install python-pip
  • Das GPIO Handling für den Orange Pi Zero herunterladen: pip install Opi.GPIO
  • Im Ordner /usr/bin die Datei setQRG anlegen z.B. mit nano /usr/bin/setQRG und folgenden Text einfügen:
    #!/bin/bash
    python /opt/setQRG.py $@
  • Die Datei speichern
  • Damit setQRG ohne Python Aufruf ausgeführt werden kann, folgenden Befehl ausführen: chmod +x /usr/bin/setQRG
  • Mit cd .. in das Hauptverzeichnis wechseln
  • Damit der Befehl setQRG beim reboot ausgeführt wird, muss in der Datei /etc/init.d/svxlink der Befehl ab Zeile 94 hinzugefügt werden:

    case “$1” in

    start)

 

## Starte setQRG

log_daemon_msg “Setting QRG” “svxlink”

setQRG

 

Log_daemon_msg „Starting SVXLINK server“ „svxlink“

 

  • Mit folgendem Befehl kann man schon testen, ob der Befehl korrekt ausgeführt wird: setQRG
  • Mit folgendem Befehl ruft man die Hilfe auf: setQRG –h

 

Installation von Read Only Modus SD Karte Orange Pi Zero

In der Datei /etc/fstab mit WinSCP folgende 5 Zeilen am Ende einfügen und eine Leerzeile dazwischen lassen:

tmpfs /tmp tmpfs   nodev,noatime,nosuid,mode=1777,size=64m         0       0

tmpfs /var/tmp tmpfs   nodev,noatime,nosuid,mode=1777,size=64m         0       0

tmpfs /var/log  tmpfs   nodev,noatime,nosuid,mode=1777,size=64m    0       0

tmpfs /var/lib/logrotate  tmpfs   nodev,noatime,nosuid,mode=1777,size=12k   0      0

tmpfs /var/lib/dhcp  tmpfs   nodev,noatime,nosuid,mode=1777,size=16k   0      0

 

Danach, ohne die anderen bestehenden Angaben in der ersten Zeile zu verändern, den Parameter / ext4,  in / ext4 ro, ändern.

Den Befehl mount –a ausführen

Mit reboot den Orange Pi Zero neu starten

Mit touch test prüfen, ob nun das System „read only“ ist

Mit dem Befehl mount –o remount,rw / kann der Status in „read / write“ umgestellt werden.

Mit dem Befehl mount –o remount,ro / kann der Status in „read only“ umgestellt werden.

Parallel Port bei einem ITX Pc (17 cm x 17 cm) ansteuern

Das Programm zur Steuerung der Ausgangspin der parallelen Schnittstelle kann hier heruntergeladen werden: https://bigasterisk.com/projects/parallel/

Alternativ kann die Datei auch von der DRC Homepage heruntergeladen werden: parcon.c

Die Datei parcon.c in den Ordner /root/parcon/ kopieren.

Zum Kompilieren der Datei “parcon.c” folgenden parameter im Ordner von “parcon.c” schreiben:

gcc -O parcon.c -o parcon

Der manuelle Befehl für die Ausführung lautet:

./parcon/parcon 1h 2l 3l 4h 6l 8l

h = high, l (kleines L) = low

Damit stellt man Ausgang 1 auf high, Ausgang 2 auf low, Ausgang 3 auf low, Ausgang 4 auf high usw. Achtung: D0/Pin2 in der Zeichnung entspricht Ausgang 1, D1/Pin3 = Ausgang 2, D2/Pin4 = Ausgang 3 usw.

 

Um den gewünschten Befehl beim Start des Pc’s automatisch zu starten, folgende Zeile im Programm “crontab” einfügen:

crontab -e                # start des Programmes zum Einfügen der parcon Befehlszeile

 

Editor auswählen, z.B. 1 für nano
Folgene Zeile ganz unten hinzufügen (Portnummer und high-low Level wie gewünscht verändern):

@reboot /root/parcon/parcon 1h 2l 3l 4h

Unbedingt eine Leerzeile nach dem Befehl einfügen! Beenden mit Cntl-x und mit j für ja Speicherung bestätigen
PC mit reboot neu starten.

Ausgang 1 habe ich mit der Kanalumschaltung und Ausgang 2 mit der Sendeleistungsumschaltung verbunden (bei Motorola MC Compact)

Beispiel für einen einfachen Umsetzer (Datei “svxlink.conf”)

###########################################################

#                                                                             #

#                Configuration file for the SvxLink server                    #

#                                                                             #

###########################################################

 

[GLOBAL]

MODULE_PATH=/usr/lib/arm-linux-gnueabihf/svxlink

LOGICS=RepeaterLogic

CFG_DIR=svxlink.d

TIMESTAMP_FORMAT=”%d.%m.%Y %H:%M:%S”

#TIMESTAMP_FORMAT=”%c”

CARD_SAMPLE_RATE=48000

#CARD_CHANNELS=1

#LOCATION_INFO=LocationInfo

#LINKS=LinkToR4

 

[SimplexLogic]

TYPE=Simplex

RX=Rx1

TX=Tx1

MODULES=ModuleHelp,ModuleParrot,ModuleEchoLink,ModuleTclVoiceMail

CALLSIGN=MYCALL

SHORT_IDENT_INTERVAL=60

LONG_IDENT_INTERVAL=60

#IDENT_ONLY_AFTER_TX=4

#EXEC_CMD_ON_SQL_CLOSE=500

EVENT_HANDLER=/usr/share/svxlink/events.tcl

DEFAULT_LANG=en_US

RGR_SOUND_DELAY=0

#RGR_SOUND_ALWAYS=0

REPORT_CTCSS=136.5

#TX_CTCSS=ALWAYS

MACROS=Macros

FX_GAIN_NORMAL=0

FX_GAIN_LOW=-12

#ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink

#QSO_RECORDER=8:QsoRecorder

#ONLINE_CMD=998877

#MUTE_RX_ON_TX=1

#MUTE_TX_ON_RX=1

#STATE_PTY=/var/run/svxlink/state

#DTMF_CTRL_PTY=/dev/shm/simplex_dtmf_ctrl

 

[RepeaterLogic]

TYPE=Repeater

RX=Rx1

TX=Tx1

MODULES=ModuleParrot

CALLSIGN=IR3DU

SHORT_IDENT_INTERVAL=10

#LONG_IDENT_INTERVAL=60

#IDENT_ONLY_AFTER_TX=4

EXEC_CMD_ON_SQL_CLOSE=500

EVENT_HANDLER=/usr/share/svxlink/events.tcl

DEFAULT_LANG=en_US

#RGR_SOUND_DELAY=0

#REPORT_CTCSS=136.5

TX_CTCSS=SQL_OPEN,LOGIC,MODULE

MACROS=Macros

#SEL5_MACRO_RANGE=03400,03499

FX_GAIN_NORMAL=0

FX_GAIN_LOW=-12

#QSO_RECORDER=8:QsoRecorder

#NO_REPEAT=1

IDLE_TIMEOUT=1

#OPEN_ON_1750=1

#OPEN_ON_CTCSS=94.8:500

#OPEN_ON_DTMF=*

OPEN_ON_SQL=200

#OPEN_ON_SEL5=01234

OPEN_SQL_FLANK=OPEN

#OPEN_ON_SQL_AFTER_RPT_CLOSE=10

IDLE_SOUND_INTERVAL=0

SQL_FLAP_SUP_MIN_TIME=500

#SQL_FLAP_SUP_MAX_COUNT=10

#ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink

#IDENT_NAG_TIMEOUT=15

#IDENT_NAG_MIN_TIME=2000

#ONLINE_CMD=998877

#STATE_PTY=/var/run/svxlink/state

#DTMF_CTRL_PTY=/dev/shm/repeater_dtmf_ctrl

 

[ReflectorLogic]

TYPE=Reflector

HOST=reflector.example.com

#PORT=5300

CALLSIGN=”MYCALL”

AUTH_KEY=”Change this key now!”

#JITTER_BUFFER_DELAY=0

 

[LinkToR4]

CONNECT_LOGICS=RepeaterLogic:94:SK3AB,SimplexLogic:92:SK3CD

#DEFAULT_ACTIVE=1

TIMEOUT=300

#AUTOACTIVATE_ON_SQL=RepeaterLogic

 

[Macros]

1=EchoLink:9999#

9=Parrot:0123456789#

03400=EchoLink:9999#

 

[QsoRecorder]

REC_DIR=/var/spool/svxlink/qso_recorder

#MIN_TIME=1000

MAX_TIME=3600

SOFT_TIME=300

MAX_DIRSIZE=1024

#DEFAULT_ACTIVE=1

#TIMEOUT=300

#QSO_TIMEOUT=300

#ENCODER_CMD=/usr/bin/oggenc -Q \”%f\” && rm \”%f\”

 

[Voter]

TYPE=Voter

RECEIVERS=Rx1,Rx2,Rx3

VOTING_DELAY=200

BUFFER_LENGTH=0

#REVOTE_INTERVAL=1000

#HYSTERESIS=50

#SQL_CLOSE_REVOTE_DELAY=500

#RX_SWITCH_DELAY=500

#COMMAND_PTY=/dev/shm/voter_ctrl

 

[MultiTx]

TYPE=Multi

TRANSMITTERS=Tx1,Tx2,Tx3

 

[NetRx]

TYPE=Net

HOST=remote.rx.host

TCP_PORT=5210

#LOG_DISCONNECTS_ONCE=0

AUTH_KEY=”Change this key now!”

CODEC=S16

#SPEEX_ENC_FRAMES_PER_PACKET=4

#SPEEX_ENC_QUALITY=4

#SPEEX_ENC_BITRATE=15000

#SPEEX_ENC_COMPLEXITY=2

#SPEEX_ENC_VBR=0

#SPEEX_ENC_VBR_QUALITY=4

#SPEEX_ENC_ABR=15000

#SPEEX_DEC_ENHANCER=1

#OPUS_ENC_FRAME_SIZE=20

#OPUS_ENC_COMPLEXITY=10

#OPUS_ENC_BITRATE=20000

#OPUS_ENC_VBR=1

 

[NetTx]

TYPE=Net

HOST=remote.tx.host

TCP_PORT=5210

#LOG_DISCONNECTS_ONCE=0

AUTH_KEY=”Change this key now!”

CODEC=S16

#SPEEX_ENC_FRAMES_PER_PACKET=4

#SPEEX_ENC_QUALITY=4

#SPEEX_ENC_BITRATE=15000

#SPEEX_ENC_COMPLEXITY=2

#SPEEX_ENC_VBR=0

#SPEEX_ENC_VBR_QUALITY=4

#SPEEX_ENC_ABR=15000

#SPEEX_DEC_ENHANCER=1

#OPUS_ENC_FRAME_SIZE=20

#OPUS_ENC_COMPLEXITY=10

#OPUS_ENC_BITRATE=20000

#OPUS_ENC_VBR=1

 

[Rx1]

TYPE=Local

AUDIO_DEV=alsa:plughw:0

AUDIO_CHANNEL=0

 

SQL_DET=CTCSS

SQL_START_DELAY=0

SQL_DELAY=30

#SQL_HANGTIME=2000

#SQL_EXTENDED_HANGTIME=1000

#SQL_EXTENDED_HANGTIME_THRESH=15

#SQL_TIMEOUT=600

 

#VOX_FILTER_DEPTH=20

#VOX_THRESH=1000

 

#CTCSS_MODE=2

CTCSS_FQ=94.8

CTCSS_SNR_OFFSET=-1.37

#justiert am 25.12.2017

CTCSS_OPEN_THRESH=19

CTCSS_CLOSE_THRESH=10

CTCSS_BPF_LOW=60

CTCSS_BPF_HIGH=250

 

#SERIAL_PORT=/dev/ttyS0

#SERIAL_PIN=CTS

#SERIAL_SET_PINS=DTR!RTS

 

#EVDEV_DEVNAME=/dev/input/by-id/usb-SYNIC_SYNIC_Wireless_Audio-event-if03

#EVDEV_OPEN=1,163,1

#EVDEV_CLOSE=1,163,0

 

#GPIO_PATH=/sys/class/gpio

#GPIO_SQL_PIN=gpio30

 

#PTY_PATH=/tmp/rx1_sql

#HID_DEVICE=/dev/hidraw3

#HID_SQL_PIN=VOL_UP

 

#SIGLEV_DET=TONE

SIGLEV_SLOPE=22.38

#justiert 25.12.2017

SIGLEV_OFFSET=6.56

#justiert 25.12.2017

#SIGLEV_BOGUS_THRESH=120

#TONE_SIGLEV_MAP=100,84,60,50,37,32,28,23,19,8

#SIGLEV_OPEN_THRESH=30

#SIGLEV_CLOSE_THRESH=10

DEEMPHASIS=1

 

SQL_TAIL_ELIM=400

PREAMP=1.00

#Alsamixer “ADC inpu”: 14 , “MIC1 boo”: 14 , “audio ca” auf mic1_2 setzen (restliche Eingänge auf 0 bzw. AUS stellen)

PEAK_METER=0

 

DTMF_DEC_TYPE=INTERNAL

DTMF_MUTING=1

DTMF_HANGTIME=40

#DTMF_SERIAL=/dev/ttyS0

#DTMF_PTY=/tmp/rx1_dtmf

#DTMF_MAX_FWD_TWIST=8

#DTMF_MAX_REV_TWIST=4

 

1750_MUTING=1

#SEL5_DEC_TYPE=INTERNAL

#SEL5_TYPE=ZVEI1

#FQ=433475000

#MODULATION=FM

#WBRX=WbRx1

 

[WbRx1]

#TYPE=RtlUsb

#DEV_MATCH=0

#HOST=localhost

#PORT=1234

#CENTER_FQ=435075000

#FQ_CORR=0

#GAIN=0

#PEAK_METER=1

#SAMPLE_RATE=960000

 

[Tx1]

TYPE=Local

AUDIO_DEV=alsa:plughw:0

AUDIO_CHANNEL=1

 

PTT_TYPE=GPIO

#PTT_TYPE=NONE

#PTT_PORT=/dev/ttyS0

PTT_PIN=!gpio1

#PTT_PIN=DTRRTS

#HID_DEVICE=/dev/hidraw3

#HID_PTT_PIN=GPIO3

#SERIAL_SET_PINS=DTR!RTS

##GPIO_PATH=/sys/class/gpio

PTT_HANGTIME=500

#TIMEOUT=600

#TX_DELAY=500

 

CTCSS_FQ=94.8

CTCSS_LEVEL=13

#justiert am 25.12.2017

 

PREEMPHASIS=1

 

DTMF_TONE_LENGTH=100

DTMF_TONE_SPACING=50

DTMF_DIGIT_PWR=-15

MASTER_GAIN=11.0

#Alsamixer “Lineout”: 81 , “Audio lineout” auf EIN stellen (restliche Ausgänge auf 0 bzw. AUS stellen)

 

[LocationInfo]

#APRS_SERVER_LIST=euro.aprs2.net:14580

#STATUS_SERVER_LIST=aprs.echolink.org:5199

#LON_POSITION=12.10.00E

#LAT_POSITION=51.10.00N

#CALLSIGN=EL-DL0ABC

#FREQUENCY=438.875

#TX_POWER=8

#ANTENNA_GAIN=6

#ANTENNA_HEIGHT=20m

#ANTENNA_DIR=-1

#PATH=WIDE1-1

#BEACON_INTERVAL=10

#TONE=136

#COMMENT=SvxLink by SM0SVX (www.svxlink.org)

 

 

Beispiel für einen Umsetzer mit Echolink und Netzverbund (Datei “Svxlink.conf”)

###########################################################

#

#                Configuration file for the SvxLink server                    #

#

###########################################################

 

[GLOBAL]

#MODULE_PATH=/usr/lib/i386-linux-gnu/svxlink/

LOGICS=RepeaterLogic,NetLogic

CFG_DIR=svxlink.d

TIMESTAMP_FORMAT=”%d.%m.%Y %H:%M:%S”

CARD_SAMPLE_RATE=48000

#CARD_CHANNELS=1

#LOCATION_INFO=LocationInfo

LINKS=NetLink

 

##

#

#          On-Demand zusammenschaltung mit Link Suedtirol

#

#

##

[NetLink]

NAME=NetLink

 

# Im Normalfall ist dieser Link NICHT AKTIV

DEFAULT_ACTIVE=0

CONNECT_LOGICS=RepeaterLogic:67,NetLogic:89

#Zahlen ändern!

 

[NetLogic]

TYPE=Repeater

RX=NetRx

TX=NetTx

CALLSIGN=NONE

EVENT_HANDLER=/usr/share/svxlink/events.tcl

#DEFAULT_LANG=de_DE

OPEN_ON_SQL=100

OPEN_SQL_FLANK=OPEN

NO_REPEAT=1

IDLE_TIMEOUT=1

 

[NetRx]

TYPE=Net

HOST=44.134.190.21

TCP_PORT=5210

AUTH_KEY=”123456″

#Password ändern!

CODEC=OPUS

 

[NetTx]

TYPE=Net

HOST=44.134.190.21

TCP_PORT=5210

AUTH_KEY=”123456″

#Password ändern

CODEC=OPUS

 

#####

#

#          Repeater-Logik fuer R4 Rittnerhorn

#

#####

[RepeaterLogic]

TYPE=Repeater

RX=Rx1

TX=Tx1

 

# nur Modul Echolink soll geladen werden, andere Module sind alle deaktiviert

MODULES=ModuleEchoLink,ModuleParrot

CALLSIGN=IR3EB

SHORT_IDENT_INTERVAL=10

#LONG_IDENT_INTERVAL=60

#IDENT_ONLY_AFTER_TX=4

 

# Fuehre DTMF Befehle ohne abschliessender Raute aus

EXEC_CMD_ON_SQL_CLOSE=500

EVENT_HANDLER=/usr/share/svxlink/events.tcl

DEFAULT_LANG=en_US

#RGR_SOUND_DELAY=2

REPORT_CTCSS=123.0

 

# Sendeseitig Subaudio nur bei HF oder Echolink-Signal

# Bei Morse-AUsgabe und Echolink-Ansagen wird KEIN Subaudio ausgesendet

TX_CTCSS=SQL_OPEN,LOGIC,MODULE

MACROS=Macros

 

FX_GAIN_NORMAL=0

FX_GAIN_LOW=-12

#NO_REPEAT=1

IDLE_TIMEOUT=1

 

# Oeffne wenn Squelchpegel ueberschritten fuer 100ms

#OPEN_ON_CTCSS=123:500

OPEN_ON_SQL=100

OPEN_SQL_FLANK=OPEN

# kein idle sound

IDLE_SOUND_INTERVAL=0

# Eine Sendung muss min. 500ms dauern, nur dann wird der Squelch geoeffnet.

# Soll verhindern, dass das Relais von alleine oeffnet

#SQL_FLAP_SUP_MIN_TIME=500

#SQL_FLAP_SUP_MAX_COUNT=10

 

# Aktiviere Modul Echolink immer dann wenn eine DTMF folge laenger als 1 Zeichen empfangen wurde

ACTIVATE_MODULE_ON_LONG_CMD=1:EchoLink

 

#ONLINE_CMD=998877

STATE_PTY=/dev/shm/state_pty

 

[Macros]

1=EchoLink:9999#

9=Parrot:0123456789#

03400=EchoLink:9999#

 

 

[Rx1]

TYPE=Local

AUDIO_DEV=alsa:plughw:1

AUDIO_CHANNEL=0

SQL_DET=CTCSS

SQL_START_DELAY=0

SQL_DELAY=30

 

# Squelch-Abfallzeit

#SQL_HANGTIME=1000

#SQL_EXTENDED_HANGTIME=1500

#SQL_EXTENDED_HANGTIME_THRESH=5

 

# Quasselsperre kann hier aktiviert werden, angabe in Sekunden

#SQL_TIMEOUT=600

 

#CTCSS_MODE=2

 

# Subaudio Ton

CTCSS_FQ=123.0

#CTCSS_SNR_OFFSET=0

CTCSS_OPEN_THRESH=18

CTCSS_CLOSE_THRESH=8

#CTCSS_BPF_LOW=60

#CTCSS_BPF_HIGH=270

 

DEEMPHASIS=1

SQL_TAIL_ELIM=400

#PREAMP=19

PEAK_METER=0

DTMF_DEC_TYPE=INTERNAL

 

# Unterdruecke DTMF Zeichen

DTMF_MUTING=1

DTMF_HANGTIME=40

 

# Unterdruecke 1750 Toene

1750_MUTING=1

 

[Tx1]

TYPE=Local

AUDIO_DEV=alsa:plughw:1

AUDIO_CHANNEL=1

 

# PTT via externe USB Soundkarte CM108 – GPIO Pin 3

PTT_TYPE=GPIO

PTT_PIN=!gpio103

 

#HID_AUX_PIN=GPIO4

#HID_AUX_PIN_VALUE=1

# Halbe Sekunde Abfallzeit beim TX

PTT_HANGTIME=500

# Nach 10 minuten dauersendung macht der TX mal pause

#TIMEOUT=600

#TX_DELAY=50

#CTCSS_FQ=123.0

CTCSS_LEVEL=4

PREEMPHASIS=1

DTMF_TONE_LENGTH=100

DTMF_TONE_SPACING=50

DTMF_DIGIT_PWR=-15

MASTER_GAIN=9.50

 

[LocationInfo]

APRS_SERVER_LIST=rotate.aprs.net:14580

STATUS_SERVER_LIST=aprs.echolink.org:5199

LON_POSITION=11.27.37E

LAT_POSITION=46.36.56N

CALLSIGN=ER-IR3UHF

FREQUENCY=145.700

TX_POWER=10

#ANTENNA_GAIN=6

#ANTENNA_HEIGHT=30m

#ANTENNA_DIR=-1

#PATH=WIDE1-1

BEACON_INTERVAL=10

TONE=123

COMMENT=R4 Rittnerhorn, Echolink 12500

 

Beispiel für die Echolink Datei “ModulEcholink.conf”

[ModuleEchoLink]

NAME=EchoLink

ID=2

TIMEOUT=60

#ALLOW_IP=192.168.1.0/24

#DROP_INCOMING=^()$

#REJECT_INCOMING=^()$

#ACCEPT_INCOMING=^(.*)$

#REJECT_OUTGOING=^()$

#ACCEPT_OUTGOING=^(.*)$

#REJECT_CONF=0

#CHECK_NR_CONNECTS=2,300,120

SERVERS=europe.echolink.org servers.echolink.org

CALLSIGN=IR3EB-R

PASSWORD=1234567890

#Password ändern!

SYSOPNAME=Sysop: Simon IN3FQQ

LOCATION=[Svx] R6 Chavalatsch

#PROXY_SERVER=the.proxy.server

#PROXY_PORT=8100

#PROXY_PASSWORD=PUBLIC

#BIND_ADDR=10.20.30.40

MAX_QSOS=10

MAX_CONNECTIONS=11

LINK_IDLE_TIMEOUT=300

#AUTOCON_ECHOLINK_ID=9999

#AUTOCON_TIME=1200

#USE_GSM_ONLY=1

#DEFAULT_LANG=en_US

DESCRIPTION=”You have connected to a SvxLink node,\n”

“a voice services system for Linux with EchoLink\n”

“support.\n”

“Check out http://svxlink.sf.net/ for more info\n”

“\n”

“QTH:     Piz Chavalatsch\n”

“QRG:     145.750 Shift -0.6MHz\n”

“CTCSS:   123.0 Hz\n”

“Trx:     ICOM RP-1520, Mod by IN3FQQ\n”

“Antenna: Dualband Vertical\n”