File: srcpd.conf.5

package info (click to toggle)
srcpd 2.1.7-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,900 kB
  • sloc: ansic: 18,080; sh: 4,579; makefile: 95
file content (1160 lines) | stat: -rw-r--r-- 34,148 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
.\"
.\" Manual page for srcpd.conf
.\" Process with:
.\"   groff -man -Tlatin1 srcpd.conf.5 | less
.\" or
.\"   groff -man -Tutf8 srcpd.conf.5 | less
.\"
.\" Get a printable version with:
.\"   groff -mandoc -Tps srcpd.conf.5 > srcpd.conf.ps
.\"
.\" Find typos with:
.\"   ispell -C -n -d ngerman srcpd.conf.5
.\" or
.\"   aspell -C -d de-neu --encoding=iso-8859-1 -c srcpd.conf.5
.\"
.\"
.TH srcpd.conf 5 "19. Februar 2009"
.\"

.SH NAME
srcpd.conf \- Die Konfigurationsdatei für den srcpd Deamon
.\"

.SH BESCHREIBUNG
Die Datei
.IR srcpd.conf
wird vom SRCP-Daemon
.IR srcpd
als systemweite Konfigurationsdatei genutzt.  Sie beschreibt die
für die Laufzeit des Systemdienstes entscheidenden Einstellungen zum
Verhalten des Daemons selbst, sowie die Anzahl, Art und Betriebsweise
der angeschlossenen Schnittstellen zur Modellbahn.  Weitere Details zum
Betrieb beschreibt das Handbuch
.BR srcpd (8)
des Daemons.
.\"

.SH "STANDARD KONFIGURATIONSDATEI"
.\"
.PP
Die dem
.IR srcpd
mitgelieferte Standardkonfigurationsdatei enthält
beispielhafte Einstellungen sowohl für den Server als auch für einen
vorkonfigurierten Bus.  Sie hat den folgenden Aufbau:
.PP
.RS
.nf
<?xml version="1.0"?>
<srcpd version="2.0">
  <bus>
    <server>
      <tcp-port>4303</tcp-port>
      <pid-file>/var/run/srcpd.pid</pid-file>
      <username>nobody</username>
      <groupname>nogroup</groupname>
    </server>
    <verbosity>5</verbosity>
  </bus>
  <bus>
    <loopback>
      <number_fb>3</number_fb>
    </loopback>
    <use_watchdog>no</use_watchdog>
    <verbosity>5</verbosity>
    <auto_power_on>yes</auto_power_on>
  </bus>
</srcpd>
.fi
.RE
.\"

.SH DATEIFORMAT
.\"
.PP
Die Konfigurationsdatei wird im XML-Format abgespeichert.  Da es sich bei
XML-Dateien um ein reines Textformat handelt, kann ein erfahrener
Benutzer solche Dateien mit einem beliebigen Texteditor bearbeiten.
Weniger erfahrenen Benutzern sei empfohlen, Veränderungen in der Datei
mit einem speziellen Programm vorzunehmen, damit der Inhalt der Datei
stets korrektes XML enthält.
.PP
Treten beim Lesen der Konfigurationsdatei Fehler auf, sendet
.IR srcpd
entsprechende Fehlermeldungen an den syslog-Daemon.  Diese können über
die Datei
.IR /var/log/messages
oder
.IR /var/log/syslog
verfolgt werden. Der srcpd benutzt die syslog facility user.info, die
auf einigen System möglicherweise erst konfiguriert werden muss.
.PP
.nf
    user.info      /var/adm/user-info.log
.fi
.\"
.PP
Aktuell gibt es keine Dokumententypspezifikation (DTD), mit der der
Inhalt der Konfigurationsdatei auf seine Gültigkeit hin überprüft werden
kann.
.\"
.PP
Jede Konfigurationsdatei muss die folgende Grundstruktur enthalten:
.PP
.nf
    <?xml version="1.0"?>
    <srcpd>
    ...
    </srcpd>
.fi
.\"
.PP
Innerhalb dieser Struktur (...) werden die verwendeten Busse angelegt,
für die es jeweils wieder eine eigene Grundstruktur gibt:
.PP
.nf
    <bus>
    ...
    </bus>
    <bus>
    ...
    </bus>
.fi
.\"
.SS Allgemeine Hinweise
.PP
Der erste konfigurierte Bus muss der für den Server selbst sein.  Die
Reihenfolge und die Anzahl der weiteren Busse sind beliebig.  Die
Nummerierung der einzelnen Busse erfolgt abhängig von ihrer in dieser
Konfigurationsdatei benutzten Reihenfolge. Der Server selbst bekommt die
Nummer 0, die weiteren werden kontinuerlich mit 1 beginnend hoch
gezählt, bis zum Maximalwert von 20.
.PP
Es sollten
nur Busse konfiguriert werden, die auch tatsächlich beim Betrieb des
Daemons Verwendung finden.  Nicht benötigte Busse können beispielsweise
über Kommentarzeichen ausgeklammert werden:
.PP
.nf
    <!--
    <bus>
    ...
    </bus>
    -->
.fi
.\"
.PP
Hierbei ist zu beachten, dass die Nummern der nachfolgenden Busse
sich entsprechend verschieben.
.\"
.\"
.SS Allgemeingültige Optionen
.PP
Die folgenden Konfigurationsoptionen lassen sich für alle Busse
jeweils individuell festlegen. Es ist zu beachten, dass diese hinter den
busspezifischen Optionen einzutragen sind.
.\"
.TP
verbosity
Abhängig von diesem Zahlenwert (0..5) erzeugt
.IR srcpd
während des
Betriebs mehr oder weniger ausführliche Protokollmeldungen zum aktuellen
Geschehen.  Mit dem Wert 0 erfolgt nur eine minimale Ausgabe, mit höheren
Werten steigt auch die Ausführlichkeit dieser Meldetätigkeit.  Für die
Fehlersuche sollte der Wert möglichst hoch, bei störungsfreiem Betrieb
möglichst niedrig gewählt werden.  Die Meldungen lassen sich über die
Log-Datei des Syslog-Daemons
.IR /var/log/messages
oder
.IR /var/log/syslog
verfolgen; nähere Informationen hierzu befinden sich im Handbuch
.IR srcpd (8) .
Der voreingestellte Wert ist
.IR 4 .
.\"
.TP
use_watchdog
Einige Busse bieten die Möglichkeit, die Aktivität des Busses zu
überwachen und einen blockierten Bus wieder zu aktivieren.  Gültige
Werte sind
.IR yes
oder
.IR no .
Der voreingestellte Wert ist
.IR no .
.\"
.TP
restore_device_settings
Einige Busse bieten die Möglichkeit, die Einstellungen der seriellen
Schnittstelle wieder auf den Ausgangswert zurück zu stellen.  Gültige
Werte sind
.IR yes
oder
.IR no .
Der voreingestellte Wert ist
.IR no .
.\"
.TP
device
Hiermit wird der Name der angesteuerten Schnittstelle (z.B. /dev/ttyS0)
festgelegt.  Die Busse
.IR server
und
.IR loopback
benötigen diesen Eintrag nicht.  Der voreingestellte Wert ist
.IR /dev/null .
.\"
.TP
speed
Bei Bussen, die eine serielle Schnittstelle nutzen, ist es möglich, die
Schnittstellengeschwindigkeit zu wählen, soweit diese nicht fest
eingestellt ist.  Mögliche Zahlenwerte sind folgende: 2400, 4800, 9600,
19200, 38400, 57600 und 115200\ Baud.  Bei Bussen mit variabler
Schnittstellengeschwindigkeit ist 2400\ Baud voreingestellt.
.\"
.TP
auto_power_on
Hiermit wird festgelegt, ob beim Start des Daemons automatisch der
Digitalstrom des Busses eingeschaltet wird.  Gültige Werte sind
.IR yes
oder
.IR no .
Die Busse
.IR server
und
.IR loopback
benötigen diesen Eintrag nicht.  Der voreingestellte Wert ist
.IR no .
.\"
.\"
.SS server
.PP
Dieser Bus darf in keiner Konfigurationsdatei fehlen.  Er verfügt über
die folgenden Einstellmöglichkeiten:
.\"
.TP
tcp-port
Mit diesem Wert wird die Netzwerkportnummer für die TCP/IP-Kommunikation
zwischen
.IR srcpd
und den SRCP-Clients festgelegt.  Die Voreinstellung hierfür ist der
von der IANA festgelegte Wert
.IR 4303 .
.\"
.TP
pid-file
Name der Datei, in der
.IR srcpd
die Prozess-ID abspeichert.  Der gemäß FHS voreingestellte Wert hierfür
ist
.IR /var/run/srcpd.pid .
.\"
.TP
username
Benutzerkennung, unter der
.IR srcpd
auf dem System läuft.  Voreingestellt ist
.IR nobody .
.\"
.TP
groupname
Gruppenkennung unter der
.IR srcpd
auf dem System läuft.  Voreingestellt ist
.IR nogroup .
.\"
.\"
.SS dccar
.PP
Dieser Bus ist für den Betriebsmodus
.IR DC-Car\ Infrarot\ Fernsteuerung .
In diesem Modus kann ein Straßenfahrzeug (z.B. Faller Car-System),
das mit einem DC-Car- oder Infracar-Dekoder ausgestattet ist, aus
der Ferne gesteuert werden. Der dazugehörige Sender muss an eine
serielle Schnittstelle des PCs angeschlossen werden. Es funktionieren
auch einige USB/Seriell-Konverter, z.B. Geräte mit dem Chipsatz PL
2302 von Profilic.

Eine Beschreibung samt Bauplan für den Wandler finden sich unter:
http://www.dc-car.de/pc-sender.html
.\"
.TP
mode
Diese Option gibt an, ob Fahrzeuge mit DC-Car-Dekoder oder Infracar-
Dekoder gesteuert werden sollen. Ein gemischter Betrieb ist derzeit nicht
möglich. Die erlaubten Werte sind dccar und infracar.
.\"
.TP
number_gl
Dieser Wert legt den maximalen Adressbereich für die verwendeten
Lokdecoder (GL) fest.  Gültig sind Werte von 1 bis 1024 (4096 bei
Infracar). Der voreingestellte Wert beträgt 1024 (4096 im Modus infracar).
.\"
.TP
pause_between_commands
Mit diesem Wert wird die Verzögerungszeit in Millisekunden eingestellt,
nach der ein weiterer Befehl gesendet wird. Der voreingestellte Wert
beträgt 10\ ms.
.\"
.TP
Beispiel
.nf
<bus>
	<dccar>
		<mode>dccar</mode>
		<number_gl>1024</number_gl>
		<pause_between_commands>10</pause_between_commands>
	</dccar>
	<auto_power_on>yes</auto_power_on>
	<verbosity>4</verbosity>
	<device>/dev/ttyUSB0</device>
</bus>
.fi
.\"
.\"
.SS ddl
.PP
Dieser Bus ist für den Betriebsmodus
.IR Digital\ Direct\ für\ Linux .
In diesem Modus übernimmt der PC die Erzeugung der Digitalsignale
direkt durch Verwendung der Hardware der seriellen Schnittstelle (RS232).
Es wird keine Digitalzentrale zusätzlich benötigt.  Benutzt werden
die Leitungen TxD und GND der seriellen Schnittstelle, die geeignet
mit den Eingängen eines Digitalboosters verbunden werden müssen.
.PP
Der DDL-Modus setzt besondere Rechte des Benutzers voraus, unter dem
das Programm
.IR srcpd
betrieben wird.  Es wird empfohlen, den Benutzer
.IR srcpd
und die Gruppe
.IR srcpd
wie folgt einzurichten:

   $ addgroup --system srcpd
   $ adduser --system --no-create-home --ingroup srcpd srcpd

Um die Echtzeitpriorität für diesen Benutzer zu erhöhen, ist in der Datei
.IR /etc/security/limits.conf
folgende Zeile einzutragen:

   srcpd  -       rtprio  99

Ggf. ist zu prüfen, ob in der Konfigurationsdatei

   /etc/pam.d/su

die Parameter für pam_limits aktiviert sind, so dass die Konfiguration
in /etc/security/limits.conf tatsächlich genutzt wird.

Die Konfiguration des Server-Busses ist wie folgt anzupassen:

    <server>
      ...
      <username>srcpd</username>
      <groupname>srcpd</groupname>
      ...
    </server>

.TP
number_ga
Anzahl der Schaltdecoderadressen, die benötigt werden.  Beispiel:
Bei vier Weichen und drei Signalen deren Decoder die Digitaladressen 1
bis 7 nutzen, muss dieser Wert mindestens auf 7
gesetzt werden.  Auf herkömmlichen Rechnern mit genügend Arbeitsspeicher
kann dieser Wert von vornherein auf 100 gesetzt werden. Der
voreingestellte Wert ist
.IR 324 .
.\"
.TP
number_gl
Anzahl der Lok-Decoderadressen die benötigt werden.  Bei drei
digitalisierten Lokomotiven muss dieser Wert mindestens auf 3 gesetzt
sein.  Auf herkömmlichen Rechnern mit genügend Arbeitsspeicher kann
dieser Wert von vornherein auf 100 gesetzt werden. Der voreingestellte
Wert ist
.IR 81 .
.\"
.TP
enable_ringindicator_checking
Der Ringindikator (RI) ist eine Leitung der seriellen Schnittstelle.
Wird dieser Wert auf
.IR yes
gesetzt, so schaltet der
.IR srcpd
den Digitalstrom genau dann ab, wenn die Spannung der Leitung RI von
-12V (-5V) auf +12V (+5V) wechselt.  Die Leitung RI muss natürlich
von einer entsprechenden Hardware sinnvoll bedient werden.  Denkbar wäre
etwa ein Notausschalter.  Verwendet man die Leitung RI nicht, muss dieser
Wert auf
.IR no
gesetzt werden.  Der voreingestellte Wert ist
.IR no .
.\"
.TP
enable_checkshort_checking
Die Leitung DSR der seriellen Schnittstelle kann zur
Kurzschlusserkennung verwendet werden.  Falls der verwendete Booster
eine Kurzschlusserkennung unterstützt und die Leitung DSR korrekt
verkabelt ist, sollte dieser Wert auf
.IR yes
gesetzt werden, sonst auf
.IR no .
Der voreingestellte Wert ist
.IR no .

Der Vollständigkeit wegen sei angemerkt, dass die Leitung DTR der
seriellen Schnittstelle nach dem Start vom
.IR srcpd
zunächst inaktiv (-12V) ist und erst dann aktiv (+12V) gesetzt wird,
wenn der Digitalstrom eingeschaltet wird.  Wird der Digitalstrom
ausgeschaltet, wird DTR wieder auf inaktiv (-12V) gesetzt.  Diese
Steuerleitung lässt sich also zum Ein-/Ausschalten eines Boosters
nutzen, der über dieses Feature verfügt.
.\"
.TP
inverse_dsr_handling
Bei manchen Boostern muss die serielle Leitung DSR invers behandelt werden,
damit die Kurzschlusserkennung funktioniert.  Wenn ein solcher Booster
im Einsatz ist, muss dieser Wert auf
.IR yes
gesetzt werden, sonst auf
.IR no .
Der voreingestellte Wert ist
.IR no .
.\"
.TP
enable_maerklin
Dieser Wert ist auf
.IR yes
zu setzen, falls Decoder des alten Märklin Digitalsystems (MM) gesteuert
werden sollen, sonst auf
.IR no .
Der voreingestellte Wert ist
.IR yes .
.\"
.TP
enable_nmradcc
Dieser Wert ist auf
.IR yes
zu setzen, falls Decoder gemäß NMRA-DCC gesteuert werden sollen, sonst
auf
.IR no .
Der voreingestellte Wert ist
.IR yes .
.PP
Es können auch beide Werte auf
.IR yes
gesetzt werden.  Dann läuft
.IR srcpd
im Multiprotokollbetrieb, d.h. im gleichen Digitalstromkreis können sowohl
MM- wie auch NMRA-DCC-Decoder angesteuert werden. Zur Minimierung der
CPU-Last ist das nicht benötigte Protokoll abzuschalten.
.\"
.TP
improve_nmradcc_timing
Dieser Wert sollte im reinen NMRA-DCC-Betrieb auf
.IR yes
gesetzt werden.  In allen anderen Situation - also falls
.IR enable_marklin
auf
.IR yes
gesetzt ist - muss(!) dieser Wert auf
.IR no
gesetzt werden.  Der voreingestellte Wert ist
.IR no .
.\"
.TP
nmra_ga_offset
Es gibt zwei verschiedene Möglichkeiten, wie bei NMRA-DCC die Adressen
von Schaltdecodern interpretiert werden können.  Dieser Parameter trägt
dem Rechnung und erlaubt die Erhöhung des verarbeiteten Adresswertes um
den übergebenen Betrag.  Setzt man diesen Wert auf
.IR 1 ,
verhält sich die Adressierung der Schaltdecoder
wie beim
.IR erddcd ,
dem ursprünglichen SRCP-Server aus dem DDL-Projekt.  Der
voreingestellte Wert ist
.IR 0 .
.\"
.TP
shortcut_failure_delay
Anzahl der Mikrosekunden (usec), die im Falle eines erkannten Kurzschlusses
gewartet werden soll, bis der Digitalstrom abgeschaltet wird.  Der
voreingestellte Wert ist
.IR 0 .
.\"
.TP
nmradcc_translation_routine
Aus historischen Gründen kennt das Programm drei verschiedene Routinen, die
die Pakete für NMRA-DCC berechnen können.  Die Dritte ist die aktuellste
und wird zur standardmäßigen Verwendung empfohlen.  Dem entsprechend ist
der voreingestellte Wert
.IR 3 .
Nur wenn es damit Probleme gibt, sollte man die Werte
.IR 1
oder
.IR 2
ausprobieren.
.\"
.TP
enable_usleep_patch
Im reinen Märklin-Betrieb verursacht das Programm
.IR srcpd
durch die Signalberechnung einiges an CPU-Last.  Mit diesem
Parameter kann man dieser Erscheinung sehr gut entgegen wirken.
Er erlaubt der Signalerzeugung anstelle aktiven Wartens (busy waiting)
für einen kurzen Zeitraum eine inaktive Pause einzulegen.
Da bisher keine Probleme damit bekannt geworden sind, sollte er immer auf
.IR yes
stehen.  Sollte es dennoch Probleme geben, kann man versuchsweise den
Wert auf
.IR no
setzen oder den
.IR usleep_usec
Wert optimieren.  Der voreingestellte Wert ist
.IR yes .
.\"
.TP
usleep_usec
Anzahl der Mikrosekunden (usec), die die im vorausgehenden Parameter
beschriebene Signalgenerierung pausiert.  Der Wert sollte so klein wie
möglich gewählt werden, da ein zu großer Wert dazu führen kann, dass die
Digitalsignale nicht korrekt erzeugt werden. Bei größeren Werten wird
andererseits die CPU stärker entlastet. Als brauchbar haben sich
Werte zwischen 100 und 250 erwiesen.  Der voreingestellte Wert ist
.IR 100 .
.\"
.TP
program_track
Dieser Parameter erlaubt das Unterdrücken von Befehlen, die nur auf
einem Programmiergleis sinnvoll anwendbar sind. Der Parameterwert
.IR yes
ist also nur für den Betrieb des Hauptgleises nutzbar. Gültige Werte sind
.IR yes
oder
.IR no.
Der voreingestellte Wert ist
.IR no ,
was bedeutet, dass Prpgrammierbefehle standardmäßig ans Gleis
weitergeleitet werden.
.\"
.TP
Beispiel Märklin/Motorola
.nf
<bus>
    <ddl>
       <number_ga>200</number_ga>
       <number_gl>81</number_gl>
       <enable_maerklin>yes</enable_maerklin>
       <enable_nmradcc>no</enable_nmradcc>
       <enable_usleep_patch>yes</enable_usleep_patch>
       <usleep_usec>200</usleep_usec>
    </ddl>
    <auto_power_on>no</auto_power_on>
    <verbosity>4</verbosity>
    <device>/dev/ttyS0</device>
</bus>
.fi
.\"
.TP
Beispiel NMRA/DCC
.nf
<bus>
    <ddl>
       <number_ga>160</number_ga>
       <number_gl>60</number_gl>
       <enable_maerklin>no</enable_maerklin>
       <enable_nmradcc>yes</enable_nmradcc>
       <nmradcc_translation_routine>3</nmradcc_translation_routine>
    </ddl>
    <auto_power_on>no</auto_power_on>
    <verbosity>4</verbosity>
    <device>/dev/ttyS0</device>
</bus>
.fi
.\"
.\"
.SS ddl-s88
.PP
Dieser Treiber unterstützt das direkte Auslesen von S88-Rückmeldemodulen
über die parallele Schnittstelle (IEEE 1284).  Der Betrieb eines
Stranges ist ohne größeren Aufwand möglich, für umfangreichere
Installationen können bis zu vier S88-Stränge gleichzeitig angeschlossen
werden.  Das dafür notwendige Anschlussschema entspricht dem des DDL Daemons
(http://www.vogt-it.com/OpenSource/DDL) gemäß der Schaltung von Martin
Wolf.  Die Anschlussstränge werden als jeweils separate Busse geführt.

Die Anzahl der pro Strang angeschlossenen Module (mit jeweils 16 Kontakten)
darf maximal 31 betragen, was einem Maximum von 496 Kontakten pro Strang
entspricht. Bei der Verwendung von Modulen mit 8 Kontakten
zählen 2 Module wie eines mit 16 Kontakten.

Für jeden Strang wird ein separater Bus initialisiert, bei dem die
Rückmeldekontakte der Module in der Reihenfolge ihres Anschlusses am
Strang jeweils separat aufsteigend nummeriert sind.  Sind an einem Strang
keine Module angeschlossen, ist der jeweilige Wert von number_fb_x auf
0 zu setzen. Der zugehörige Bus wird trotzdem initialisiert, d.h. auch
wenn nur ein Bus angeschlossen ist, werden immer 4 Busse belegt.

Dieses Modul erzeugt eine signifikante Systemlast, die weitgehend durch
den Parameter
.IR refresh
eingestellt werden kann.
.\"
.TP
ioport
Eingabe/Ausgabe-Adresse des Druckeranschlusses.  Der voreingestellte Wert
ist
.IR 0x0378 .
Der »ioport« ist im Hexadezimalformat anzugeben (mit führendem 0x).
Gültige Werte sind bei einem typischen Linux-System folgende: 0x0378,
0x0278 und 0x03BC.

Der richtige Wert lässt sich leicht durch Suche in den Meldungen
ermitteln, die der Betriebssystemkern beim Hochfahren erzeugt:
.nf
    dmesg | grep parport
.fi
.TP
clockscale
Parameter zur Einstellung der Taktrate beim Auslesen der Module.  Bei dem
voreingestellten Wert von 35 wird die originale S88-Taktrate von
ca. 8\ kHz erreicht.  Kleinere Wert erhöhen die Taktrate, werden ggf. jedoch
nicht von jedem Modul verarbeitet. Maximal sind ca. 125\ kHz möglich.
.TP
refresh
Wartezeit in Millisekunden nach der die Rückmeldungen des Geräts erneut
eingelesen werden. Bei dem voreingestellten Wert 100 werden die Daten
alle 100\ ms aufgefrischt.

Je höher dieser Wert ist, um so seltener werden die angeschlossenen
Bausteine abgefragt und um so geringer ist die erzeugte Systemlast.  Als
brauchbar haben sich Werte zwischen 100 und 250 erwiesen.
.TP
fb_delay_time_0
Dieser Wert in Millisekunden legt fest, wie lange ein Rückmeldekontakt
auf Null liegen muss, bevor er als gültiger Wert weitergeleitet wird.
Hiermit lassen sich schlechte Rückmeldungen (Wackler) in begrenztem
Umfang entprellen. Der voreingestellte Wert beträgt 0\ ms.
.TP
number_fb_1
Diese Angabe legt die Anzahl der am Strang \fB1\fP angeschlossenen
Rückmeldemodule fest.
.TP
number_fb_2
Diese Angabe legt die Anzahl der am Strang \fB2\fP angeschlossenen
Rückmeldemodule fest.
.TP
number_fb_3
Diese Angabe legt die Anzahl der am Strang \fB3\fP angeschlossenen
Rückmeldemodule fest.
.TP
number_fb_4
Diese Angabe legt die Anzahl der am Strang \fB4\fP angeschlossenen
Rückmeldemodule fest.
.PP
In der Konfiguration sollten die allgemeinen Werte vor den
busspezifischen Werten stehen.
.\"
.TP
Beispiel
.nf
<bus>
    <auto_power_on>yes</auto_power_on>
    <verbosity>4</verbosity>
    <ddl-s88>
        <ioport>0x378</ioport>
        <number_fb_1>9</number_fb_1>
        <number_fb_2>0</number_fb_2>
        <number_fb_3>0</number_fb_3>
        <number_fb_4>0</number_fb_4>
    </ddl-s88>
</bus>
.fi
.\"
.\"
.SS hsi-88
.\"
.PP
Dieses Modul unterstützt den Betrieb eines Littfinski HSI-88, das an
eine serielle Schnittstelle angeschlossen ist.  Auch der Anschluss über
einen USB/Seriell-Konverter sollte problemlos möglich sein.  Die
Geschwindigkeitseinstellung für die serielle Schnittstelle ist fest auf
9600\ Baud vorkonfiguriert und kann nicht verändert werden.

Das HSI-88 verfügt über drei Kanäle zum Anschluss von
S88-Rückmeldemodulen.  Die Summe der pro Kanal angeschlossenen Module
(mit 16 Kontakten) darf maximal 31 betragen, sonst erfolgt die Ausgabe
einer Fehlermeldung.  Bei der Verwendung von Modulen mit 8 Kontakten
zählen 2 Module wie eines mit 16 Kontakten.
.\"
.TP
number_fb_left
Diese Angabe legt die Anzahl der am Kanal mit der Bezeichnung
.IR links
angeschlossenen Rückmeldemodule fest.
.\"
.TP
number_fb_center
Diese Angabe legt die Anzahl der am Kanal mit der Bezeichnung
.IR mitte
angeschlossenen Rückmeldemodule fest.
.\"
.TP
number_fb_right
Diese Angabe legt die Anzahl der am Kanal mit der Bezeichnung
.IR rechts
angeschlossenen Rückmeldemodule fest.
.\"
.TP
fb_delay_time_0
Dieser Wert in Millisekunden legt fest, wie lange ein Rückmeldekontakt
auf Null liegen muss, bevor er als gültiger Wert weitergeleitet wird.
Hiermit lassen sich schlechte Rückmeldungen (Wackler) in begrenztem
Umfang entprellen.  Der voreingestellte Wert beträgt 0\ ms.
.\"
.TP
refresh
Wartezeit in Mikrosekunden nach der die Rückmeldungen des Geräts erneut
eingelesen werden.  Der voreingestellte Wert beträgt 10.000\ µs.
.\"
.TP
Beispiel
.nf
<bus>
    <hsi-88>
        <number_fb_left>8</number_fb_left>
        <number_fb_center>5</number_fb_center>
        <number_fb_right>0</number_fb_right>
        <refresh>10000</refresh>
    </hsi-88>
    <auto_power_on>yes</auto_power_on>
    <verbosity>4</verbosity>
    <device>/dev/ttyS0</device>
</bus>
.fi
.\"
.\"
.SS i2c-dev
.PP
Bustreiber für das i2c-dev-Interface des Linux Kernels.  Er kann
beispielsweise mit der unter http://www.matronix.de/ zu findenden
Hardware genutzt werden.
.TP
multiplex_buses
TODO
.TP
ga_hardware_inverters
TODO
.TP
ga_reset_device
TODO
.\"
.\"
.SS intellibox
.\"
.PP
Dieses Modul unterstützt den Betrieb mit einer Uhlenbrock Intellibox (IB),
die über eine serielle Schnittstelle angeschlossen ist.  Die Ansteuerung
der IB erfolgt über das P50X-Protokoll, zum geringeren Teil mit der
analogen und zum größeren Teil mit der binären Variante.  Beim Betrieb mit
protokollkompatiblen Zentralen anderer Hersteller (z.B. OpenDCC,
DiCoStation, EasyControl) ist das gegebenenfalls zu berücksichtigen.  Das
Programmieren von Decodern ist zur Zeit nur für DCC implementiert.  Als
Schnittstellengeschwindigkeit sind je nach Gerät und Art der Schnittstelle
die folgenden Varianten möglich: 2400\ Baud, 4800\ Baud, 9600\ Baud,
19200\ Baud, 38400\ Baud und 57600\ Baud.
.\"
.TP
fb_delay_time_0
Dieser Wert in Millisekunden legt fest, wie lange ein Rückmeldekontakt
auf Null liegen muss, bevor er als gültiger Wert weitergeleitet wird.
Hiermit lassen sich schlechte Rückmeldungen (Wackler) in begrenztem
Umfang entprellen.  Der voreingestellte Wert beträgt 0\ ms.
.\"
.TP
pause_between_commands
Mit diesem Wert wird die Verzögerungszeit in Millisekunden eingestellt,
nach der ein weiterer Befehl an die angeschlossene Zentrale gesendet
wird.  Der optimale Wert muss händisch ermittelt werden.  Wenn die Zentrale
nicht reagiert, oder Befehle ignoriert, sollte der Wert erhöht werden.
Der voreingestellte Wert beträgt 250\ ms.
.\"
.TP
number_ga
Dieser Wert legt den maximalen Adressbereich für die verwendeten
Magnetartikel (GA) fest.  Gültig sind Werte von 0 bis 1024.  Ein Wert von 0
bedeutet, dass keine Magnetartikel verwendet werden.  Der voreingestellte
Wert beträgt 256.
.\"
.TP
number_gl
Dieser Wert legt den maximalen Adressbereich für die verwendeten
Lokdecoder (GL) fest.  Gültig sind Werte von 0 bis 10239.  Ein Wert von 0
bedeutet, dass keine Lokdecoder verwendet werden.  Der voreingestellte
Wert beträgt 80.
.\"
.TP
number_fb
Dieser Wert legt die Anzahl der an der IB angeschlossenen
S88-Rückmeldemodule fest.  Gültig sind Werte von 0 bis 31 (bei Modulen
mit 16 Kontakten).  Der voreingestellte Wert beträgt 0 (keine Module sind
angeschlossen).  Über Loconet angeschlossene Module werden gegenwärtig
nicht unterstützt.
.TP
auto_speed_detection
Diese Option aktiviert eine automatische Baudratenerkennung der
angeschlossenen Intellibox (BABI = Break and Automatic Baud-rate
Identification).  Sie benötigt bei der Initialisierung einige Sekunden,
macht es aber unnötig, den richtigen Wert für den
.IR speed
Parameter zu konfigurieren.  Wenn die automatische Erkennung abgeschaltet
ist, erfolgt die Verbindungsaufnahme erheblich schneller, aber der
konfigurierte
.IR speed
Wert muss der tatsächlichen Einstellung an der Intellibox entsprechen.
Gültige Werte sind
.IR yes
und
.IR no .
Die Voreinstellung ist
.IR yes .
.\"
.TP
Beispiel
.nf
<bus>
    <intellibox>
        <number_ga>250</number_ga>
        <number_gl>100</number_gl>
        <number_fb>4</number_fb>
        <fb_delay_time_0>0</fb_delay_time_0>
        <pause_between_commands>0</pause_between_commands>
    </intellibox>
    <speed>19200</speed>
    <auto_speed_detection>no</auto_speed_detection>
    <auto_power_on>no</auto_power_on>
    <verbosity>4</verbosity>
    <device>/dev/ttyUSB0</device>
</bus>
.fi
.\"
.\"
.SS li100, li100usb
.\"
.PP
Dieses Modul unterstützt den Betrieb mit den Lenz-Geräten LI100, LI100F,
LI101F und LI-USB, angeschlossen über die serielle Schnittstelle (RS232)
bzw. den Universal Serial Bus (USB).  Ein USB/Seriell-Konverter sollte
nicht verwendet werden.  Die möglichen Geschwindigkeiten der seriellen
Schnittstelle sind vom verwendeten Gerät abhängig.  Für das LI-USB ist
sie fest auf 57600\ Baud eingestellt, ohne Möglichkeit, das zu verändern.
Ein automatisches Erkennen der richtigen Geschwindigkeit ist geplant.
Wenn die Verbindungsaufnahme scheitert, versuchen Sie mit einer
anderen Geschwindigkeitseinstellung zurecht zu kommen.  Erlaubte Werte
sind, abhängig vom verwendeten Gerät, 9600\ Baud, 19200\ Baud, 38400\ Baud,
57600\ Baud und 115200\ Baud.
.\"
.TP
fb_delay_time_0
Dieser Wert in Millisekunden legt fest, wie lange ein Rückmeldekontakt
auf Null liegen muss, bevor er als gültiger Wert weitergeleitet wird.
Hiermit lassen sich schlechte Rückmeldungen (Wackler) in begrenztem
Umfang entprellen.  Der voreingestellte Wert beträgt 0\ ms.
.\"
.TP
number_ga
Dieser Wert legt den maximalen Adressbereich für die verwendeten
Magnetartikel (GA) fest.  Gültig sind Werte von 0 bis 1024.  Ein Wert von 0
bedeutet, dass keine Magnetartikel verwendet werden.  Der voreingestellte
Wert beträgt 99, beim LI-USB 9999.
.\"
.TP
number_gl
Dieser Wert legt den maximalen Adressbereich für die verwendeten
Lokdecoder (GL) fest.  Gültig sind Werte von 0 bis 9999.  Ein Wert von 0
bedeutet, dass keine Lokdecoder verwendet werden.  Der voreingestellte
Wert beträgt 99, beim LI-USB 9999.
.\"
.TP
number_fb
Dieser Wert legt die Anzahl der angeschlossenen RS-Module fest.  Gültig
sind Werte von 0 bis 512 (bei Modulen mit 8 Kontakten); 0 bedeutet, keine
Module sind angeschlossen.  Der voreingestellte Wert beträgt 256, beim
LI-USB 512.
.\"
.PP
Um Lenz USB-Geräte in Betrieb zu nehmen, muss das Kernelmodul
.IR ftdi_sio
verfügbar sein. Bei den gängigen Linux-Distributionen
ist das in der Regel ohne zusätzliche Konfigurationseinstellungen der
Fall. Das Modul für die Lenz-Geräte erzeugt beim Starten
unterschiedliche Rückgabewerte. Diese haben die folgende Bedeutung:
.TP
.BI 0
Das Gerät ist betriebsbereit.
.TP
.BI -1
Digitalzentrale wurde nicht gefunden. Die Softwareversion der Zentrale
konnte nicht ermittelt werden.
.TP
.BI -2
Digitalzentrale wurde nicht gefunden. Die Softwareversion der Zentrale
konnte nicht ermittelt werden.
.TP
.BI -3
USB-Interface nicht gefunden. Die Softwareversion des
Schnittstellengerätes konnte nicht ermittelt werden. Möglicherweise ist
keine Digitalzentrale am USB-Interface angeschlossen.
.TP
.BI -4
Gerät nicht gefunden.
.\"
.\"
.SS loconet
.\"
.PP
Dieser Bus unterstützt Loconet-Geräte, die entweder über die serielle
Schnittstelle (z.B. MS100, LocoBuffer) oder ein TCP/IP-Netzwerk (z.B.
LbServer, siehe http://loconetovertcp.sourceforge.net/) angebunden sind.
.\"
.TP
loconetID
Wert für die Loconet ID. Die Voreinstellung beträgt 0x50.
.\"
.TP
ms100
Unterstützung für das MS100/RS232-Gerät von Digitrax.  Gültige Werte sind
.IR yes
oder
.IR no .
Voreingestellt ist
.IR no .
.\"
.TP
sync-time-from-loconet
Zeitmeldungen von Loconet zur Ansteuerung der SRCP-Modellzeit nutzen.
Gültige Eingaben sind
.IR yes
oder
.IR no .
Voreingestellt ist
.IR no .
.\"
.TP
number_ga
Anzahl der adressierbaren Magnetartikel (GA).  Die Voreinstellung ist
2048.
.\"
.TP
number_gl
Anzahl der adressierbaren Lok-Decoder (GL).  Die Voreinstellung ist
9999.
.\"
.TP
number_fb
Anzahl der angeschlossenen Rückmeldekontakte.  Die Voreinstellung ist
2048.
.\"
.TP
Beispiel
.nf
<bus>
    <loconet>
        <device type="network" port="1234">127.0.0.1</device>
    </loconet>
</bus>
.fi
.\"
.\"
.SS loopback
.PP
Dieser Bus stellt keine Verbindung zu einem tatsächlich existierenden
Steuergerät her.  Er ist primär für Entwicklungzwecke gedacht, kann
aber auch bei betriebsfähigen Installationen nützlich sein.  Jedes
Kommando auf diesem Bus bewirkt lediglich ein entsprechendes Echo bei
den INFO-Sitzungen.  Dieser Bus kann also auch für Kommunikationszwecke
genutzt werden.
.\"
.TP
number_ga
Anzahl der adressierbaren Magnetartikel (GA).  Die Voreinstellung ist 256.
.\"
.TP
number_gl
Anzahl der adressierbaren Lokdecoder (GL).  Die Voreinstellung ist 80.
.\"
.TP
number_fb
Im Unterschied zu den anderen Bussen, legt dieser Zahlenwert die Anzahl
der adressierbaren Rückmeldekontakte, nicht der Rückmeldemodule, fest.
Die Simulation von zwei Rückmeldemodulen mit je 16 Kontakten erfordert
also hier den Wert 32. Die Voreinstellung ist 0 (keine Rückmeldekontakte
vorhanden).
.\"
.TP
Beispiel
.nf
<bus>
    <loopback>
        <number_ga>120</number_fb>
        <number_gl>100</number_fb>
        <number_fb>64</number_fb>
    </loopback>
    <verbosity>2</verbosity>
    <auto_power_on>no</auto_power_on>
</bus>
.fi
.\"
.\"
.SS m605x
.\"
.PP
Dieses Modul unterstützt den Betrieb mit einem Märklin 6051 oder 6050,
das über die serielle Schnittstelle angeschlossen ist.  Auch der Anschluss
über einen USB/Seriell-Konverter sollte problemlos möglich sein.  Die
Einstellungen der Schnittstelle sind festgelegt auf 2400\ Baud, 8N2 und
können nicht verändert werden.
.\"
.TP
m6020mode
Bei Aktivierung dieses Modus werden die 4 Funktionen nicht gesendet.
Dieses Funktionalität wird nur vom 6021 unterstützt.  Gültige Werte sind
.IR yes
oder
.IR no .
Der voreingestellte Wert ist
.IR no .
.\"
.TP
fb_delay_time_0
Dieser Wert in Millisekunden legt fest, wie lange ein Rückmeldekontakt
auf Null liegen muss, bevor er als gültiger Wert weitergeleitet wird.
Hiermit lassen sich schlechte Rückmeldungen (Wackler) in begrenztem
Umfang entprellen.  Der voreingestellte Wert beträgt 0\ ms.
.\"
.TP
ga_min_activetime
Dieser Wert in Millisekunden legt fest, wie lange ein Magnetartikel im
Aktiv-Status sein muss.  Für einen stabilen Betrieb mit einem 6051 sind
75\ ms das absolute Minimum.  Der voreingestellte Wert beträgt 75\ ms.
.\"
.TP
pause_between_commands
Mit diesem Wert wird die Verzögerungszeit in Millisekunden eingestellt,
nach der ein weiterer Befehl an die angeschlossene Zentrale gesendet
wird.  Der optimale Wert muss händisch ermittelt werden.  Wenn die Zentrale
nicht reagiert, oder Befehle ignoriert, sollte der Wert erhöht werden.
Der voreingestellte Wert beträgt 200\ ms.
.\"
.TP
pause_between_bytes
Mit diesem Wert wird die Verzögerungszeit in Millisekunden eingestellt,
die zwischen dem Versenden von zwei Bytes bei Multi-Byte-Befehlen
gewartet wird.  Hardware-Handshake funktioniert nicht mit allen Geräten,
so dass dieser Parameter eingeführt wurde, um diesen zu ermöglichen.  Der
voreingestellte Wert beträgt 2\ ms.
.\"
.TP
number_ga
Dieser Wert legt den maximalen Adressbereich für die verwendeten
Magnetartikel (GA) fest.  Dieser Parameter hat keinen wirklichen Effekt,
da das Interface nur die Adressen von 1 bis 256 unterstützt.  Der
voreingestellte Wert beträgt 256; bitte unverändert lassen.
.\"
.TP
number_gl
Dieser Wert legt den maximalen Adressbereich für die verwendeten
Lokdecoder (GL) fest.  Der voreingestellte Wert entspricht dem maximal
gültigen Wert von 80; bitte unverändert lassen.
.\"
.TP
number_fb
Dieser Wert legt die Anzahl der am 6051/6050 angeschlossenen 6088
Rückmeldemodule fest.  Gültig sind Werte von 0 bis 31.  Der
voreingestellte Wert beträgt
.IR 0
(keine Module sind angeschlossen).
Bitte beachten Sie, dass auf 6088 Module, die an anderen Geräten
angeschlossen sind (Memory) nicht zugegriffen werden kann.
.\"
.TP
Beispiel
.nf
<bus>
    <m605x>
        <number_ga>120</number_fb>
        <number_gl>60</number_fb>
        <number_fb>8</number_fb>
        <ga_min_activetime>75</ga_min_activetime>
        <pause_between_bytes>2</pause_between_bytes>
        <pause_between_commands>50</pause_between_commands>
    </m605x>
    <auto_power_on>no</auto_power_on>
    <verbosity>4</verbosity>
    <device>/dev/ttyS0</device>
</bus>
.fi
.\"
.\"
.SS selectrix
.PP
Selectrix CC-2000 und Rautenhaus SLX852.
.TP
number_ga
TODO
.TP
number_gl
TODO
.TP
number_fb
TODO
.TP
controller
TODO
.\"
.\"
.SS zimo
.PP
Dieser Bus unterstützt das alte ASCII basierte Zimo MX1
Schnittstellenprotokoll.  Die Baudrate ist fest auf 9600 Baud
eingestellt.
.TP
number_ga
Dieser Wert legt den maximal nutzbaren Adressbereich für GA-Elemente
fest.  Für das Märklin/Motorola-Protokoll (M) darf dieser maximal 63
betragen, für das NMRA/DCC-Protokoll (N) liegt der maximal erlaubte Wert
bei 2044 (entsprechend dem Lenz-DCC-Adressschema). Das Zimo-Protokoll
(Z) wird noch nicht unterstützt.  Der voreingestellte Wert beträgt 256.
.TP
number_gl
Dieser Wert legt den maximal nutzbaren Adressbereich für GL-Elemente
fest.  Der voreingestellte Wert beträgt 80.
.TP
number_fb
Rückmeldemodule werden nicht unterstützt.  Der voreingestellte Wert
beträgt 0.
.TP
fb_delay_time_0
Wird nicht unterstützt.
.\"

.SH DATEIEN
.I /etc/srcpd.conf
.\"

.SH "SIEHE AUCH"
.BR srcpd (8)
.\"

.SH AUTOREN
Die deutsche Übersetzung wurde von Guido Scholz
(gscholz@users.sourceforge.net) unter Mitwirkung von
Matthias Trute (mtrute@users.sourceforge.net),
Torsten Vogt (tvogt@users.sourceforge.net) und
Heiko Gau (hgau@users.sourceforge.net) angefertigt.