DDL Logo
DDL - Digital Direct for Linux
Multiprotokoll-Controler und Steuerungssoftware für digitale Modelleisenbahnen

Mail: vogt@vogt-it.com
Impressum

FAQ (Häufig gestellte Fragen)


Wird zum Betrieb von DDL eine Zentraleinheit wie das Produkt 6021 von Märklin oder eine Intellibox von Uhlenbrock benötigt?

Nein! Ein Teil der DDL-Software kann diese Geräte ersetzen. Die entsprechende Funktionalität der Märklin CU 6021 oder der Intellibox wird beim Einsatz von DDL direkt von Ihrem PC übernommen. DDL kann sowohl Digitalsignale für das von Märklin verwendete Motorola-System, wie auch für das weit verbreitete NMRA-DCC-System direkt erzeugen. Man muß lediglich eine freie serielle Schnittstelle mit einem Booster (Verstärker) verbinden.

zurück zum Seitenanfang ...

Keine Lokomotive fährt, was nun?

Zuerst ist zu überprüfen, ob an Gleisen die Digitalspannung anliegt. Am einfachsten geht dies, in dem man einen Wagen mit Innenbeleuchtung auf das Gleis stellt. Leuchtet diese auf, dann wird die Anlage mit Strom versorgt. Leuchtet diese nicht auf, muß der Server angewiesen werden den Digitalstrom zu erzeugen. Dies geht beim simpleclient mit dem Kommando start. Sollte das Problem nicht behoben sein, ist das Kabel zwischen PC und Booster zu überprüfen. Ist das Problem immer noch nicht behoben, dann könnte die Kurzschlusserkennung des SRCP-Servers der Grund sein. Am Besten man schaut sich die Meldungen des SRCP-Servers in der Datei /var/log/messages an. Gibt es Indizien, die auf eine fehlerhafte Kurzschlusserkennung hinweisen, dann sollte man diese zunächst per Kommandozeilenargument oder über die Konfigurationsdatei deaktivieren. Wenn nun alles geht, kann man sich um das Kurzschlussproblem kümmern ;-)

zurück zum Seitenanfang ...

Wie kann man den SRCP-Server beim booten des Rechners automatisch starten?

Wenn Sie das Programm srcpd aus einem Installationspaket oder gemäss den Ausführungen der Installationsanleitung installiert haben, sollte das Programm automatisch beim Systemstart gestartet werden. Die folgenden Ausführungen beziehen sich auf den ursprünglichen SRCP-Server erddcd des DDL-Projektes und beschreiben den grundsätzlichen Vorgang. Auf aktuellen Linux-Distributionen gibt es i. d. R. Hilfsprogramme, die den Grossteil der unten beschriebenen Massnahmen automatisch durchführen. Unter Ubuntu Linux gibt es dazu beispielsweise das Programm update-rc.d. Bevor Sie die folgende Beschreibung lesen und auf Ihr System übertragen, sollten Sie anhand der Installationsanleitung prüfen, warum srcpd nicht gestartet wurde. Oft hilft auch ein Blick in die Datei /var/log/messages.

Unix-Systeme durchlaufen beim booten eine sogenannte Boot-Sequenz. Wie diese genau aussieht wird durch das Programm init festgelegt. Es würde an dieser Stelle zu weit führen, den genauen Ablauf zu beschreiben. Deshalb beschränke ich mich auf die notwendigen Dinge, die bei einer System V konformen Boot-Sequenz den automatischen Start von erddcd bewirken. Dies wird mit den meisten Linux-Distributionen (z.B. RedHat Linux) funktionieren.

Zunächst ist es notwendig Superuser-Privilegien zu erhalten und in das Verzeichnis /etc/rc.d/init.d zu wechseln. Bei anderen Distributionen könnte es auch das Verzeichnis /etc/init.d sein.

   $ su -
   Password:
   $ cd /etc/rc.d/init.d

Erzeugen Sie nun in diesem Verzeichnis ein Shell-Script erddcd mit folgendem Inhalt: (Dieses Script finden Sie unter dem Namen erddcd.rc im Verzeichnis /opt/DDL/bin der DLL-Distribution)

   #!/bin/sh
   #
   # Author: Torsten Vogt, 1999
   #
   # /etc/rc.d/init.d/erddcd
   #
   # Script to start erddcd at system startup time
   #
   # copy this script to the directoy which contains your systems
   # startup scripts (e.g. /etc/rc.d/init.d).

   # Change the following variables:

   ddlpath=/opt/DDL
   pidfile=/tmp/.erddcd_ttyS1.pid
   device=/dev/ttyS1
   port=12345

   # Then you have to do two symbolic links like the following:
   #
   # % ln -s /etc/rc.d/init.d/erddcd.rc /etc/rc.d/rc3.d/S25erddcd
   # % ln -s /etc/rc.d/init.d/erddcd.rc /etc/rc.d/rc3.d/K25erddcd
   #

   #---------- there is nothing to change beyond this line! ----------#

   case "$1" in
      start)
        if test -f ${ddlpath}/bin/erddcd ; then
          ${ddlpath}/bin/erddcd -f $pidfile;
          echo "erddcd started";
        else
          echo "cannot find ${ddlpath}/bin/erddcd! erddcd not started!"
        fi
        ;;
      stop)
        if test -f $pidfile ; then
           kill -1 `cat $pidfile`
           kill -15 `cat $pidfile`
           rm -f $pidfile
           echo "erddcd stopped";
        else
           echo "pidfile $pidfile not found! Cannot stop erddcd."
        fi;
        ;;
      reload)
        if test -f $pidfile ; then
           kill -1 `cat $pidfile`
           echo "erddcd reloaded"
        else
           echo "pidfile $pidfile not found! Cannot reload erddcd.";
        fi;
        ;;
      *)
        echo "Usage: $0 {start|stop|reload}"
        exit 1
   esac

Nun muß noch dafür gesorgt werden, daß dieses Script während der Bootsequenz des Linux-Systems aufgerufen wird. Speichern Sie dieses Script unter dem Namen erddcd ab und ändern Sie die Auführbarkeitsprivilegien dieser Datei:
    $ chmod u+x erddcd

Als letzter Schritt sind noch symbolische Links zu erzeugen. An welcher Stelle diese erzeugt werden müssen, hängt vom Runlevel Ihres Systems ab. Das Programm erddcd sollte im Runlevel 3 gestartet werden.

    $ cd /etc/rc.d/rc3.d
    $ ln -s /etc/rc.d/init.d/erddcd ./S25erddcd
    $ ln -s /etc/rc.d/init.d/erddcd ./K25erddcd

Das war es. Beim nächsten Hochfahren Ihres Rechners wird erddcd automatisch gestartet.

zurück zum Seitenanfang ...

Wie kann man den graphischen Client J-Man nach dem einloggen automatisch starten?

Der einfachste Weg ist das Ablegen des Programm-Icons von J-Man im Autostart-Ordner von KDE.
Anwendern von anderen Window-Managern empfiehlt sich folgender Weg: In Ihrem Heimatvereichnis (home directory) finden Sie die Datei .xinitrc. Falls Sie diese Datei bisher noch nicht gefunden haben, verwenden Sie den Befehl 'ls -al' zum Auflisten der Dateien.

Ergänzen Sie diese Datei um die Zeile:

     /opt/DDL/bin/j-man &

Eventuell könnte es auf Ihrem System notwendig sein, zusätzlich die Datei .xsession entsprechend zu erweitern.

zurück zum Seitenanfang ...

Die Handregler am Gameport funktionieren nach kurzer Zeit nicht mehr einwandfrei.

Da der Gameport eines PC in der Regel aus Billighardware besteht, kommt es zu temperaturabhängigen Toleranzen. Nach ca. 15 Minuten hat die Hardware ihre Betriebstemperatur erreicht. Grundsätzlich hilft eine Kalibrierung der Joystick-Treiber. Da dies aber recht aufwendig ist und nur bedingt zu befriedigenden Ergebnissen führt, empfehle ich folgenden Trick:

  1. Joystick-Treiber stoppen
  2. Joystick-Treiber neu starten
Beispiel:
 % su -c "rmmod joy-analog; rmmod joystick; insmod joystick; insmod joy-analog"
Die Joystick-Treiber können nur gestoppt werden, wenn sie nicht mehr benutzt werden. Dies führt dazu, daß das Programm J-Man zur Re-Initialisierung der Joystick-Treiber beendet werden muß. Um dies zu verhindern, kann man im Menü 'Datei/Verbindungen' die Verbindung zum Gameport ab- und anmelden.

zurück zum Seitenanfang ...

Die Adressen der Schaltdekoder im System Märklin Digital stimmen nicht mit den Angaben von Märklin überein.

Das ist richtig. Es werden die gleichen Adressen wie bei DirecTrain verwendet. Eine Tabelle, wie die DIP-Schalter der Dekoder eingestellt werden müssen, findet man hier. Einen Überblick über die unterschiedlichen Codierungen der Systeme DDL, EDITS und Märklin/Intellibox gibt es hier.

zurück zum Seitenanfang ...

Mit den Boostern 6015 und 6017 von Märklin gibt es Probleme bei der Programmierung von NMRA-DCC-Dekodern. Woran kann das liegen?

Diese Booster haben eine Art "Eigenintelligenz". D.h. sie überwachen die eingehenden und zu verstärkenden Signale. Leider spricht diese "Intelligenz" bei Signalen an, die zur Programmierung von NMRA-DCC-Dekodern notwendig sind. Der normale Fahrbetrieb mit NMRA-DCC-Dekodern ist zumindest mit dem 6015 problemlos möglich. Abhilfe schafft leider nur der Einsatz eines Boosters, der "nur" boostet. Da dieser Booster nur für das Programmiergleis benötigt wird, ist der "Simple Booster" von Dr. Konrad Froitzheim für diesen Zweck geeignet. Natürlich können auch die Booster von Conrad/Völkner, der EDITS-Booster, der Booster von Dr. König oder das Delta Control (6604) von Märklin verwendet werden.

zurück zum Seitenanfang ...