Läuft Svxlink auch alleine?

  • Hallo!

    ok, bevor sich gleich die ersten kringeln vor Lachen, ich hab mal wieder eine höchst simple Frage:

    Bisher habe ich den RasPi komplett über Putty gesteuert. Alles kein Thema. Svxlink habe ich auch da drüber gestartet. Allerdings wird Svxlink auch direkt auf dem Raspi beendet, wenn ich das Putty Fenster auf dem PC schließe.

    Wie bekomme ich das am elegantesten hin, dass Svxlink auch alleine läuft?

    Autostart? Dann bräuchte ich mal eine kurze Anleitung. Vor allem auch, wie das dann wieder zu beenden ist, ohne den Stecker zu ziehen.
    Mit eine angeschlossenen Maus, Keyboard und einem Monitor ist auch klar, aber so wars eigentlich nie gedacht.

    Gibt es noch andere Möglichkeiten?

  • Hi,

    Quote

    Wie bekomme ich das am elegantesten hin, dass Svxlink auch alleine läuft?


    Du hast im /etc/init.d-Verzeichnis Startskripte und im Normalfall startest Du einen Dienst z.B. mit

    Code
    /etc/init.d/svxlink start


    Ich weiß aber, dass es da schon einige Probleme gibt weil sich das zwischen den Distries unterscheidet.
    Welche Distribution nutzt Du genau?

    vy 73's de Adi, DL1HRC

  • Hallo Adi,

    musste natürlich erst mal wieder googeln um rauszufinden, wie man an diese Info kommt :)

    Hoffe das folgende ist das, was Du wissen möchtest:

    Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l GNU/Linux

    Eine andere Abfrage ergab dieses:

    Linux version 3.6.11+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013

    Falls das nicht das ist was Du wissen möchtest, dann brauch ich den Befehl dazu von Dir.

  • Hi auch von mir,

    Ich starte svxlink unter Debian immer mit

    Code
    ~#: svxlink --daemon --logfile=/var/log/svxlink.log


    Aber im Moment macht mir auch noch der Sound Probleme deswegen starte ich es nicht.

    73 de MArtin, DF1AMB

  • Hi Martin,

    Code
    ~#: svxlink --daemon --logfile=/var/log/svxlink.log

    ja klar das geht schon so aber dann läuft svx als root (muß nicht sein).
    Ich schaue mal ob ich ein passendes Startskript finde und das hier testen kann, das was dabei ist ist für Fedora o.ä.

    vy 73's de Adi, DL1HRC

  • Es gibt ein Startskript in dem SVN-Verzeichnis für ubuntu (debian). Das funktioniert hervorragend bei Raspi entsprechend der bekannten Verwendung auf (zB) dem Futro

    Unter

    Code
    https://svxlink.svn.sourceforge.net/svnroot/svxlink/trunk/distributions/ubuntu/etc/


    oder unter

    Code
    https://svn.code.sf.net/p/svxlink/svn/trunk/distributions/ubuntu/etc/

    findet ihr die besagte Verzeichnis-Struktur des Verzeichnisses "etc". diese ggf für den Raspi-debian (Raspian) übertragen.

    Augenmerk möchte ich hier auf das Init-Skript in
    init.d -- also init.d/svxlink legen:

    Also als Root in das Verzeichnis /etc/init.d auf dem Raspi kopieren
    und dann mit

    Code
    /etc/init.d/svxlink start


    den einwandfreien Start probieren. ( na, hat das wohl geklappt?)

    Es kann sein, dass das noch nicht geht, weil eine Vielzahl von Rechten und weiteren Vereinbarungen noch nicht passen.

    Also alle Dateien dieser Struktur aus den Verzeichnissen default, udev, logrotate kopieren an die entsprechenden Unterverzeichnisse des Raspi im Verzeichnis /etc

    Dann als root
    ggf. mit

    Code
    sudo bash


    root werden und dann mit

    Code
    adduser svxlink


    den user svxlink anlegen. Eine Gruppe svxlink wird ebenfalls angelegt.

    Ich schlage vor: kein Login zulassen, kein eigenes Home-Verzeichnis!
    Also besser:

    Code
    adduser --no-create-home --disabled-login svxlink


    und die Fragen "sinnvoll" beantworten.
    Dann mit

    Code
    adduser svxlink dialout; adduser svxlink audio;


    die Bedingungen für das Skript herstellen
    ggf. das /etc/default/svxlink durchsehen und anpassen

    ein Neustart macht die Sache nun einfach (Alternative /etc/init.d/udev restart)

    Dann mal als root eingeloggt wieder mit

    Code
    /etc/init.d/svxlink start


    einen neuen Versuch unternehmen und feststellen, ob der svxlink-Server ordnungsgemäß anläuft.
    Wenn das geklappt hat, dann ggf. das wieder mit

    Code
    /etc/init.d/svxlink stop


    abschalten.

    Ist der Anlauf nicht fehlerfrei, dann stimmen meist die Berechtigungen von allen möglichen Dateien nicht; also ggf. einfach als root

    Code
    chown -r svxlink.svxlink /etc/svxlink; chown -r svxlink.svxlink /usr/share/svxlinkchown /var/log/svxlink*

    und dann mal prüfen, ob der Zugriff für svxlink auf
    /dev/dsp* möglich ist:

    Code
    ls -l /dev/dsp*


    Antwort könnte lauten:

    Code
    crw-rw-rw- 1 root audio 14, 3 28. Mai 10:03 /dev/dsp


    und das sagt aus, dass hier Alle drauf RW - also - lesen und schreiben dürfen;
    gleichfalls für das ttyUSB0 (oder was auch immer) für die PTT prüfen.

    Dann sollte es eigentlich laufen:

    Code
    /etc/init.d/svxlink start


    wenn das geklappt hat, dann
    anschliessend als root die (auskommentierte) Zeile aus dem Skript /etc/init.d/svxlink
    am Anfang herausholen und mit
    update-rc svxlink ........
    ausführen: also

    Code
    update-rc.d svxlink start 30 2 3 4 5 . stop 70 0 1 6 .

    Dann wird damit eine Service-Eintragung durchgeführt, die dafür sorgt, dass nach jedem Boot automatisch der Dienst svxlink mit den Rechten des Users svxlink gestartet wird. (Das wäre dann nach den vorgesehenen Regeln der Kunst)

    Hoffe, das hilft erst mal.

    vy 73
    Michael, DK5HH