DATUS-PAD Konfigurations HOWTO <author> <name> <htmlurl url="http://fly.to/heimo.schoen" name="Heimo Schön"> <htmlurl url="mailto:heimo.schoen@gmx.at" name="<heimo.schoen@gmx.at>"> </author> <date>Version 0.2 , 09. December 2001 <abstract> Wie konfiguriere ich ein DATUS-PAD für zweikanalige <htmlurl url="http://www.oebb.co.at" name="ÖBB">-X.25 Verbindungen, (<htmlurl url="http://www.linux.org" name="Linux"> Version) </abstract> </titlepag> <sect>Allgemeines <label id="Allgemeines"> <sect1>Zu diesem HOWTO <p> Dieses Dokument soll einen kleinen Leitfaden bieten, wenn Sie von Ihrem <htmlurl url="http://www.linux.org" name="Linux"> Rechner aus, ein DATUS-PAD konfigurieren wollen <p> Wenn Sie Ideen oder Anregungen zu diesem HOWTO haben, dann fühlen Sie sich frei sich bei mir zu melden. <itemize> <item>Heimo Schön <htmlurl url="mailto:heimo.schoen@gmx.at" name="<heimo.schoen@gmx.at>"> <item><htmlurl url="http://fly.to/heimo.schoen" name="http://fly.to/heimo.schoen"> </itemize> <p> Ich bin dankbar für alle Korrekturen und Anregungen. <sect1>Einige Links zu verwandten Themen <label id="links"> <p> <itemize> <item><htmlurl url="http://www.datus.com" name="Datus"> <item><htmlurl url="http://www.adtranz.at" name="DaimlerChrysler Rail Systems (Austria) GmbH"> <item><htmlurl url="http://www.alcatel.at" name="Alcatel Austria AG"> </itemize> <sect1>Download <p> Hier finden Sie das gezippte tar File in dem alle Sourcen, .cmd-Files, Makefiles, scripts, etc. enthalten sind. Auch die sgml Source dieses Dokuments ist dort vorhanden. <p> <htmlurl url="datus-howto.tgz" name="datus-howto.tgz"> <p> Speichern Sie das Archiv File mit "Save Link As" lokal ab und packen Sie das Archiv mit <tscreen><verb> tar xzvf datus-howto.tgz </verb></tscreen> aus. <sect1>Version History <p> <itemize> <item> 0.1 01 July 2000 first trial <item> 0.2 09 December 2001 including Makefile ... </itemize> <p> <sect>Einleitung <label id="Einleitung"> <p> In diesem Kapitel soll erklärt werden wozu dieses HOWTO dient, was damit konfiguriert wird, und warum für die DATUS-Konfiguration eine Software notwendig ist. <sect1>Das Datus-PAD <p> Dieses Dokument beschäftigt sich ausschliesslich mit dem <htmlurl url="http://www.datus.com" name="DATUS">-PAD 5810/20E. Beschrieben wird die Parametrierung des 5810/20E für die Übertragung von ESTW-Daten entsprechend dem ÖBB X25 Pflichtenheft. <p> Das PAD der Firma Datus besitzt als Grundausstattung zwei asynchrone Schnittstellen. Die Schnittstelle "Asynchron-1" wird zum parametrieren verwendet. An der zweiten Schnittstelle kann ein Drucker angeschlossen werden. <p> Weiters können Einschübe in das PAD eingebaut werden. In diesem Dokument werden nur jene PADs betrachtet die mit maximal 4 Schnittstellen bestückt sind. Es werden nur die ersten drei Schnittstellen für die Datenübertragung entsprechend ÖBB-X25-Pflichtenheft benötigt. Egal ob Sie 3, 4, 5 oder mehr Schnittstellen bestückt haben, werden immer nur die ersten 4 Schnittstellen durch die Konfigurationsfiles dieses Dokuments konfiguriert und davon benötigen Sie nur die ersten drei Schnittstellen (die vierte Schnittstelle wird aus historischen Gründen mitkonfiguriert). Auch wenn die 4. Schnittstelle nicht bestückt ist, oder auch mehr als 4 Schnittstellen bestückt sind, kann dieses HOWTO angewendet werden. <sect1>PAD Schnittstellen <p> Um nun Daten übertragen zu können entsprechend ÖBB X25, wird eine X.25 Schnittstelle mit 2 PVCs benötigt. (Zum Nachlesen der CCITT X.25 finden Sie hier einige Informationen <htmlurl url="http://src.doc.ic.ac.uk/public/computing/ccitt/ccitt-standards/" name="CCITT X.25">). Weiters benötigt man für die Übertragung der Dateninhalte der beiden PVCs noch zwei asynchrone Schnittstellen. <p> Dieses Dokument setzt voraus, daß die ersten drei Schnittstellen wie folgt bestückt sind. Entweder: <tscreen><verb> Link 1: X25 X.21 Link 2: Pad V.24 Link 3: Pad V.24 </verb></tscreen> oder <tscreen><verb> Link 1: Pad V.24 Link 2: Pad V.24 Link 3: X25 X.21 </verb></tscreen> Im ersten Fall ist im ersten Slot (Link 1) die X.25 Verbindung mit den 2 PVCs konfiguriert. und in Link 2 liegt der 1. PVC (Kanal A) und in Link 3 liegt der 2. PVC (Kanal B). <p> Im zweiten Fall ist in Link 1 der 1. PVC (Kanal A) und in Link 2 der 2. PVC (Kanal B) konfiguriert. Die beiden PVCs werden auf Link 3 via X.25 übertragen. <sect1>Parametrierung von DATUS-PADs <p> Die Parametrierung erfolgt, indem zuerst mit <ref id="minicom" name="minicom"> (oder einer anderen Terminalemulation) das DATUS-PAD in den Konfigurationsmodus gebracht wird. Dann wird mit dem Script <ref id="makepad" name="makepad"> die Konfiguration geladen. Der Ladevorgang wird durch das <ref id="software" name="Programm"> datus.c durchgeführt. Die <ref id="config" name="Konfigurationen"> selbst liegen in .cmd Dateien. <p> In den nachfolgenden Kapiteln werden alle diese Programme, Scripts und .cmd Files beschrieben. <sect>minicom <label id="minicom"> <p> Das Terminal Emulationsprogramm minicom ist in allen großen Linux Distributionen enthalten <sect1>minicom setup <p> Kabel zwischen einem Device (z. B. /dev/ttyW7) und dem DATUS "Asynchron-1" Stecker (SUB-D 25 polig female) mit Pin-Belegung 2(TX),3(RX) und 7(GND) anfertigen. <p> Dann starten Sie minicom und gehen mit ALT-O in das configuration Menu. Dort wählen Sie den Menüpunkt "Serial port setup". Speichern Sie die Einstellung mit "save setup as dfl" und geben dort datus ein. minicom legt dann in /etc/ eine Datei /etc/minirc.datus.dfl an. Die Datei /etc/minirc.datus.fdl sollte wie folgt aussehen, oder sie können die folgenden Zeilen in /etc/minicrc.datus.fdl kopieren: <tscreen><verb> heimo@VGS80:/home/heimo > cat /etc/minirc.datus.dfl # Machine-generated file - use "minicom -s" to change parameters. pr port /dev/ttyW7 pu baudrate 9600 pu bits 8 pu parity N pu minit pu mreset pu mdialpre pu mdialsuf pu rtscts No </verb></tscreen> Damit werden die dial-prefix und dial-suffix Einstellungen abgedreht (das PAD ist ja kein Modem ;-) und Hardware Handshake (rts/cts) wird abgeschalten (kann DATUS an der Konsole schon - aber das oben beschriebene Kabel nicht). <p> Damit kann minicom von jedem User mit dem Kommando <tscreen><verb> minicom datus.fdl </verb></tscreen> gestartet werden. <p> Zuvor sollte in /var/log das Schreibrecht für User geoeffnet werden, damit auch User das benutzte Device sperren können. Bisher gelang es mir nicht minicom das anlegen eines lock-files abzugewoehnen: <tscreen><verb> cd /var/lock chmod a+w . </verb></tscreen> <sect1>Anmelden im DATUS-PAD <p> Wenn nun minicom eine Verbindung zum DATUS-PAD hat, erhält man üblicherweise sehr viel "junk" und kann das DATUS-PAD über die Konsole kaum bedienen. Daher empfiehlt es sich das DATUS-PAD aus- und wieder einzuschalten. Waehrend des Hochlaufs erhält man dann folgende Meldung: <tscreen><verb> +++ S Y S T E M 5810/20 BOOT-INFORMATION +++ BOOT-Software: DPV_5810 Oct_96 IPLCD2M 8.4.1 Set Modul 1 into RUN Reset-Info received from Modul 1: "W" Execute HW-TEST ... o.k. Install NPRO in RAM Start system ... : jede Menge Leerzeilen : D A T U S C D P V 5810/20 Manual start? Please press any key! </verb></tscreen> An dieser Stelle erhält man die Möglichkeit dem DATUS-PAD den Konfigurations-Mode zu schalten, indem man eine beliebige Taste drückt und dann für einige Zeit folgende Zeile sieht (nicht verwirren lassen - sondern ca. 1 Minute warten ;-) <tscreen><verb> IPL SIOM: 1 </verb></tscreen> Danach geht es weiter mit: <tscreen><verb> NPRCDPV 8.A.5 COLDSTART WARMSTART ? (C/W) :w </verb></tscreen> Hier antwortet man mit W für Warmstart und kommt zur nächsten, alles entscheidenden Frage: <tscreen><verb> * * WARM - START * * START LINES ? (Y/N) :n </verb></tscreen> Genau hier antwortet man mit n(o) und hat somit das PAD im Ruhezustand (keine Leitungen laufen) und erhält nun einen Prompt ohne Diagnose Informationen: <tscreen><verb> COMMAND: </verb></tscreen> Genau an diesen Punkt sollten Sie kommen. Nun können Sie die weitere Parametereingabe mein Programm machen lassen. <sect>Software <label id="software"> <p> Dieses Kapitel beschreibt die Programme mit denen die Parameterdateien geladen werden. <sect1>datus.c <p> Das Programm datus.c sieht wie folgt aus: <tscreen><verb> /* ** $Id: tr.c,v 1.0 ** ** File: datus.c ** Author: H. Schön ** ** Abstract: Konfiguration von PADs der Firma Datus ** ** # # Copyright (C) 2000 Heimo Schön <heimo.schoen@gmx.at> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # */ #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <assert.h> #include <signal.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <sys/ioctl.h> // ----------------------------------------------------------------------- int inputpid=0; static int source_fh = 0; // Filehandle static int input_fh = 0; // Filehandle static int out_fh = 0; // Filehandle static int log_fh = 0; // Filehandle unsigned char stty_buffer[10000]; unsigned char out_buffer[10000]; unsigned char source_buffer[10000]; // ----------------------------------------------------------------------- void p_usage() { fprintf(stderr, "\ndatus v0.1 - (C) 2000 by Heimo Schön <heimo.schoen@gmx.at>\n"); fprintf(stderr, "This program is distributed under the terms of GPL.\n\n"); fprintf(stderr, " datus <command-file> <device>\n"); fprintf(stderr, " \n"); fprintf(stderr, " <command-file> filename of a file with\n"); fprintf(stderr, " datus-commads; one command\n"); fprintf(stderr, " in each line\n"); fprintf(stderr, " \n"); fprintf(stderr, " <device> the serial device where datus can\n"); fprintf(stderr, " find the DATUS\n"); fprintf(stderr, " \n"); fprintf(stderr, " example: datus test /dev/ttyW7\n"); fprintf(stderr, " \n"); } // ----------------------------------------------------------------------- void startinput() { unsigned char in_buffer[10000]; int rece = 0; in_buffer[0] = 0; if ( ( inputpid = fork() ) == 0 ) { while (1) { if ((rece = read(input_fh, in_buffer, 1024)) > 0) { in_buffer[rece] = 0; if (log_fh > 0) write(log_fh, in_buffer, strlen(in_buffer)); fprintf(stdout, "%s", in_buffer); in_buffer[0] = 0; } } } fprintf(stdout, "reader forked with pid %d\n", inputpid); } // ----------------------------------------------------------------------- void p_io() { int rece = 0; char command[10000]; int com_p = 0; while ( (rece = read(source_fh, source_buffer, 1)) == 1) { if (source_buffer[0] == '\n') { command[com_p] = 0; if (command[0] != '#') { sprintf(out_buffer, "%s\r",command); write(out_fh, out_buffer, strlen(out_buffer)); com_p = 0; sleep(2); } else { command[com_p] = '\n'; command[com_p+1] = 0; if (log_fh > 0) write(log_fh, command, strlen(command)); fprintf(stdout, "%s", command); com_p = 0; } } else { command[com_p] = source_buffer[0]; com_p++; } } } // ----------------------------------------------------------------------- int main (int argc, char *argv[]) { if (argc >= 3) { if (argc == 4) log_fh = open (argv[3], O_WRONLY); source_fh = open (argv[1], O_RDONLY); out_fh = open (argv[2], O_WRONLY); input_fh = open (argv[2], O_RDONLY); sprintf(stty_buffer, "stty 9600 -echo raw < %s ", argv[2]); fprintf(stdout,"%s\n",stty_buffer); system(stty_buffer); } else out_fh = 0; if (out_fh > 0) { startinput(); // fork the reader process p_io(); // the command process kill(inputpid, SIGKILL); } else { p_usage(); } } </verb></tscreen> <sect1>Makefile <p> Das dazugehörige Makefile finden Sie hier: <tscreen><verb> # # Makefile for the datus configuration pakage # # Copyright (C) 2000 Heimo Schön <heimo.schoen@gmx.at> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ################# Options and programs for C-Program CCOPTIONS = -pedantic -Wall -g RM = rm -f CP = cp STRIP = strip CC = gcc DEPEND = makedepend ################## Sourcen and Objects für C-Program OBJS = datus.o SRCS = datus.c ################## Optionen für sgml-tools OPT = --charset=latin --language=de --papersize=a4 ################## all: datus datus.stripped datus-howto.html datus-howto.ps datus-howto.txt datus-howto.tgz sudo chown root.root datus sudo chmod a+srw datus sudo chown root.root datus.stripped sudo chmod a+srw datus.stripped cp datus-howto.* ~/public_html datus: $(OBJS) $(RM) $@ $(CC) -o $@ $(OBJS) $(CCOPTIONS) datus.stripped: datus $(CP) $< $@ $(STRIP) $@ strip:: datus.stripped ################## clean:: $(RM) datus *.o *.html datus-howto.ps datus-howto.tgz datus-howto.txt depend:: @if [ -n "$(SRCS)" ] ; then set -x;\ $(DEPEND) $(SRCS) ;\ fi tags: etags *.c ################## datus-howto.html: datus-howto.sgml sgml2html --language=deutsch -s 1 ${OPT} --imagebuttons datus-howto.sgml datus-howto.ps: datus-howto.sgml sgml2latex --language=deutsch --output=ps ${OPT} datus-howto.sgml sgml2latex --language=deutsch --output=dvi ${OPT} datus-howto.sgml sgml2latex --language=deutsch --output=tex ${OPT} datus-howto.sgml rm -f texput.log datus-howto.txt: datus-howto.sgml sgml2txt --language=deutsch datus-howto.sgml datus-howto.tgz: datus-howto.sgml tar cvzf datus-howto.tgz * </verb></tscreen> <sect>Konfigurations Datenfiles <label id="config"> <p> Dieses Kapitel zeigt die Konfigurationen die in das Datus PAD geladen werden müssen. <sect1>system_ppxx.cmd <p> Dieses Konfigurationsfile beschreibt die Systemparameter für PADs mit Belegung der Links 1 bis 4 mit: <tscreen><verb> Link 1: Pad V.24 Link 2: Pad V.24 Link 3: X25 X.21 Link 4: X25 X.21 </verb></tscreen> File system_xppx.cmd: <tscreen><verb> # Input Script zur Parametrierung eines DATUS-PAD # =============================================== # # # # kill the routing table rstro y # tro # # # ================================================ # set the system parameter csy 0:4 csy 1:20 csy 2:5 csy 3:2 csy 4:14 csy 5:14 csy 6:0 csy 7:0 csy 8:4 csy 9:0 csy 10:0 csy 11:0 csy 12:65 csy 13:2 csy 14:1 csy 15:2 csy 16:0 csy 17:0 csy 18:0 csy 19:0 csy 20:0 csy 21:0 csy 22:0 csy 23:30 csy 24:0 csy 25:0 # stsy tsy # # # ================================================ # set the trunk parameter rstru y tru # # # ================================================ # PVC Verdrahtung rstvc y tvc cvc 1:1,1,3,1 cvc 2:2,1,3,2 # #cvc 1:1,1,4,1 #cvc 2:2,1,4,2 tvc # </verb></tscreen> <sect1>system_xppx.cmd <p> Dieses Konfigurationsfile beschreibt die Systemparameter für PADs mit Belegung der Links 1 bis 4 mit: <tscreen><verb> Link 1: X25 X.21 Link 2: Pad V.24 Link 3: Pad V.24 Link 4: X25 X.21 </verb></tscreen> File system_xppx.cmd: <tscreen><verb> # Input Script zur Parametrierung eines DATUS-PAD # =============================================== # # # # kill the routing table rstro y # tro # # # ================================================ # set the system parameter csy 0:4 csy 1:20 csy 2:5 csy 3:2 csy 4:14 csy 5:14 csy 6:0 csy 7:0 csy 8:4 csy 9:0 csy 10:0 csy 11:0 csy 12:65 csy 13:2 csy 14:1 csy 15:2 csy 16:0 csy 17:0 csy 18:0 csy 19:0 csy 20:0 csy 21:0 csy 22:0 csy 23:30 csy 24:0 csy 25:0 # stsy tsy # # # ================================================ # set the trunk parameter rstru y tru # # # ================================================ # PVC Verdrahtung rstvc y tvc cvc 1:2,1,1,1 cvc 2:3,1,1,2 tvc # </verb></tscreen> <sect1>profile.cmd <p> Das PAD-Profile Konfigurationsfile wird hier beschrieben. File profile.cmd: <tscreen><verb> # PAD Profile 1 setzen tpr 1 # cpr 1:0 cpr 2:0 cpr 3:0 cpr 4:2 cpr 5:0 # Service-Signal 0=keine Belästigung der DTE 9=Default (Schlecht) cpr 6:0 cpr 7:0 cpr 8:0 cpr 9:0 cpr 10:0 cpr 11:15 cpr 12:0 cpr 13:0 cpr 14:0 cpr 15:0 cpr 16:13 cpr 17:13 cpr 18:13 cpr 19:0 cpr 20:32 cpr 21:0 cpr 22:0 cpr 121:0 cpr 122:0 cpr 100:0 cpr 101:0 cpr 102:0 cpr 103:0 cpr 104:0 cpr 105:0 cpr 106:1 cpr 107:0 cpr 108:0 cpr 109:128 cpr 110:0 cpr 111:0 cpr 112:0 cpr 113:71 cpr 114:0 cpr 115:1 cpr 116:0 cpr 117:0 cpr 118:0 cpr 119:0 cpr 125:0 # stpr 1 # # </verb></tscreen> <sect1>pad_12.cmd <p> Dieses Konfigurationsfile beschreibt die PAD-Parameter für PADs mit Belegung der Links 1 bis 4 mit: <tscreen><verb> Link 1: Pad V.24 Link 2: Pad V.24 Link 3: X25 X.21 Link 4: X25 X.21 </verb></tscreen> File pad_12.cmd: <tscreen><verb> # # # line 1 = PAD-1 # tli 1 # #cli 0:1 #cli 1:1 #cli 2:1 #cli 3:4 cli 4:0 cli 5:0 cli 6:7 cli 7:1 cli 8:0 cli 9:7 cli 10:1 cli 11:0 cli 12:1 cli 13:0 cli 14:8 cli 15:32 cli 16:2 cli 17:0 cli 18:0 cli 19:7 cli 20:2 cli 21:7 cli 22:15 cli 23:0 cli 24:0 cli 25:0 cli 26:0 cli 27:0 cli 28:0 cli 29:0 cli 30:1 cli 31:0 cli 32:0 cli 33:0 cli 34:0 cli 35:0 cli 36:0 cli 37:0 cli 38:0 cli 39:1 #cli 40:1 cli 41:0 cli 42:1 cli 43:0 #cli 44:8 #cli 45:216 # stli 1 # # # # # line 2 = PAD-2 # tli 2 # #cli 0:1 #cli 1:1 #cli 2:1 #cli 3:4 cli 4:0 cli 5:0 cli 6:7 cli 7:1 cli 8:0 cli 9:7 cli 10:1 cli 11:0 cli 12:1 cli 13:0 cli 14:8 cli 15:32 cli 16:2 cli 17:0 cli 18:0 cli 19:7 cli 20:2 cli 21:7 cli 22:15 cli 23:0 cli 24:0 cli 25:0 cli 26:0 cli 27:0 cli 28:0 cli 29:0 cli 30:1 cli 31:0 cli 32:0 cli 33:0 cli 34:0 cli 35:0 cli 36:0 cli 37:0 cli 38:0 cli 39:1 #cli 40:1 cli 41:0 cli 42:1 cli 43:0 #cli 44:8 #cli 45:216 # stli 2 # # </verb></tscreen> <sect1>pad_23.cmd <p> Dieses Konfigurationsfile beschreibt die PAD-Parameter für PADs mit Belegung der Links 1 bis 4 mit: <tscreen><verb> Link 1: X25 X.21 Link 2: Pad V.24 Link 3: Pad V.24 Link 4: X25 X.21 </verb></tscreen> File pad_12.cmd: <tscreen><verb> # # # line 2 = PAD-2 # tli 2 # #cli 0:1 #cli 1:1 #cli 2:1 #cli 3:4 cli 4:0 cli 5:0 cli 6:7 cli 7:1 cli 8:0 cli 9:7 cli 10:1 cli 11:0 cli 12:1 cli 13:0 cli 14:8 cli 15:32 cli 16:2 cli 17:0 cli 18:0 cli 19:7 cli 20:2 cli 21:7 cli 22:15 cli 23:0 cli 24:0 cli 25:0 cli 26:0 cli 27:0 cli 28:0 cli 29:0 cli 30:1 cli 31:0 cli 32:0 cli 33:0 cli 34:0 cli 35:0 cli 36:0 cli 37:0 cli 38:0 cli 39:1 #cli 40:1 cli 41:0 cli 42:1 cli 43:0 #cli 44:8 #cli 45:216 # stli 2 # # # # # line 3 = PAD-3 # tli 3 # #cli 0:1 #cli 1:1 #cli 2:1 #cli 3:4 cli 4:0 cli 5:0 cli 6:7 cli 7:1 cli 8:0 cli 9:7 cli 10:1 cli 11:0 cli 12:1 cli 13:0 cli 14:8 cli 15:32 cli 16:2 cli 17:0 cli 18:0 cli 19:7 cli 20:2 cli 21:7 cli 22:15 cli 23:0 cli 24:0 cli 25:0 cli 26:0 cli 27:0 cli 28:0 cli 29:0 cli 30:1 cli 31:0 cli 32:0 cli 33:0 cli 34:0 cli 35:0 cli 36:0 cli 37:0 cli 38:0 cli 39:1 #cli 40:1 cli 41:0 cli 42:1 cli 43:0 #cli 44:8 #cli 45:216 # stli 3 # # </verb></tscreen> <sect1>x25_34.cmd <p> Dieses Konfigurationsfile beschreibt die X.25 Parameter für PADs mit Belegung der Links 1 bis 4 mit: <tscreen><verb> Link 1: Pad V.24 Link 2: Pad V.24 Link 3: X25 X.21 Link 4: X25 X.21 </verb></tscreen> File x25_34.cmd: <tscreen><verb> # # # line 3 = X25-3 # tli 3 # #cli 0:3 #cli 1:1 #cli 2:3 #cli 3:4 cli 4:0 cli 5:0 cli 6:0 cli 7:1 cli 8:0 cli 9:7 cli 10:3 cli 11:1 cli 12:0 cli 13:0 cli 14:5 cli 15:2 # 16 auf einer Seite auf 2 ändern cli 16:0 cli 17:16 cli 18:0 cli 19:7 cli 20:2 cli 21:7 cli 22:18 cli 23:0 cli 24:0 cli 25:0 cli 26:0 cli 27:0 cli 28:0 cli 29:0 cli 30:0 cli 31:0 cli 32:0 cli 33:0 cli 34:0 cli 35:0 cli 36:0 cli 37:0 cli 38:0 cli 39:2 #cli 40:3 cli 41:0 cli 42:2 cli 43:0 #cli 44:8 #cli 45:216 # stli 3 # # # # # line 4 = X25-4 # tli 4 # #cli 0:3 #cli 1:1 #cli 2:3 #cli 3:4 cli 4:0 cli 5:0 cli 6:0 cli 7:1 cli 8:0 cli 9:7 cli 10:3 cli 11:1 cli 12:0 cli 13:0 cli 14:5 cli 15:2 # 16 auf einer Seite auf 2 ändern cli 16:0 cli 17:16 cli 18:0 cli 19:7 cli 20:2 cli 21:7 cli 22:18 cli 23:0 cli 24:0 cli 25:0 cli 26:0 cli 27:0 cli 28:0 cli 29:0 cli 30:0 cli 31:0 cli 32:0 cli 33:0 cli 34:0 cli 35:0 cli 36:0 cli 37:0 cli 38:0 cli 39:2 #cli 40:3 cli 41:0 cli 42:2 cli 43:0 #cli 44:8 #cli 45:216 # stli 4 # # # # # # # # 16 auf einer Seite auf 2 ändern # </verb></tscreen> <sect1>x25_14.cmd <p> Dieses Konfigurationsfile beschreibt die X.25 Parameter für PADs mit Belegung der Links 1 bis 4 mit: <tscreen><verb> Link 1: X25 X.21 Link 2: Pad V.24 Link 3: Pad V.24 Link 4: X25 X.21 </verb></tscreen> File x25_14.cmd: <tscreen><verb> # # # line 1 = X25-1 # tli 1 # #cli 0:3 #cli 1:1 #cli 2:3 #cli 3:4 cli 4:0 cli 5:0 cli 6:0 cli 7:1 cli 8:0 cli 9:7 cli 10:3 cli 11:1 cli 12:0 cli 13:0 cli 14:5 cli 15:2 # 16 auf einer Seite auf 2 ändern cli 16:0 cli 17:16 cli 18:0 cli 19:7 cli 20:2 cli 21:7 cli 22:18 cli 23:0 cli 24:0 cli 25:0 cli 26:0 cli 27:0 cli 28:0 cli 29:0 cli 30:0 cli 31:0 cli 32:0 cli 33:0 cli 34:0 cli 35:0 cli 36:0 cli 37:0 cli 38:0 cli 39:2 #cli 40:3 cli 41:0 cli 42:2 cli 43:0 #cli 44:8 #cli 45:216 # stli 1 # # # # # line 4 = X25-4 # tli 4 # #cli 0:3 #cli 1:1 #cli 2:3 #cli 3:4 cli 4:0 cli 5:0 cli 6:0 cli 7:1 cli 8:0 cli 9:7 cli 10:3 cli 11:1 cli 12:0 cli 13:0 cli 14:5 cli 15:2 # 16 auf einer Seite auf 2 ändern cli 16:0 cli 17:16 cli 18:0 cli 19:7 cli 20:2 cli 21:7 cli 22:18 cli 23:0 cli 24:0 cli 25:0 cli 26:0 cli 27:0 cli 28:0 cli 29:0 cli 30:0 cli 31:0 cli 32:0 cli 33:0 cli 34:0 cli 35:0 cli 36:0 cli 37:0 cli 38:0 cli 39:2 #cli 40:3 cli 41:0 cli 42:2 cli 43:0 #cli 44:8 #cli 45:216 # stli 4 # # # # # # # # 16 auf einer Seite auf 2 ändern # </verb></tscreen> <sect>Konfigurations script makepad <label id="makepad"> <p> Der Batch (shell-script) makepad startet das Programm datus.c mehrmals hintereinander. Bei jedem Start wird ein .cmd File an das PAD geschickt. Das Script makepad finden Sie hier: <tscreen><verb> #! /bin/bash # # Copyright (C) 2000 Heimo Schön <heimo.schoen@gmx.at> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # export makepaderror=0 if [ $1 ] ; then if [ -e /dev/$1 ] ; then echo Send DATUS config to device /dev/$1 export DATDEV=/dev/$1 if [ $2 ] ; then if [ $2 = "ppxx" ] ; then datus profile.cmd $DATDEV $1_profile.log datus system_ppxx.cmd $DATDEV $1_system_ppxx.log datus pad_12.cmd $DATDEV $1_pad_12.log datus x25_34.cmd $DATDEV $1_x25_34.log else if [ $2 = "xppx" ] ; then datus profile.cmd $DATDEV $1_profile.log datus system_xppx.cmd $DATDEV $1_system_xppx.log datus pad_23.cmd $DATDEV $1_pad_23.log datus x25_14.cmd $DATDEV $1_x25_14.log else echo wrong parameter 2 echo Please give in parameter 2 the Datus lines echo " ppxx ... for pad pad x25 x25 devices" echo " xppx ... for x25 pad pad x25 devices" echo " example : $0 tty0 ppxx" export makepaderror=1 fi; fi; else echo missing parameter 2 echo Please give in parameter 2 the Datus lines echo " ppxx ... for pad pad x25 x25 devices" echo " xppx ... for x25 pad pad x25 devices" echo " example : $0 tty0 ppxx" export makepaderror=1 fi; else echo Could not find device /dev/$1 export makepaderror=1 fi; else echo Please give in parameter 1 the device echo " example: $0 tty0 ppxx" export makepaderror=1 fi; if [ $makepaderror = "0" ] ; then echo config done. echo echo ">>> Read File NACHARBEITEN for commands you have" echo ">>> todo with minicom-shell !!!!!!!!!!!!!!!!!!!!" echo fi; </verb></tscreen> Das Script makepad verlangt zwei Parameter. Der erste Parameter gibt das Device an, an dem das Datus-PAD angeschlossen ist. Dabei muß nur noch der Devicename hinter /dev/ angegeben werden. Wenn Sie das PAD an der Schnittstelle /dev/ttyW7 angeschlossen haben, dann geben Sie als Parameter ttyW7 an. <p> Der zweite Parameter des Scripts kann ppxx oder xppx sein. Je nachdem wie die Schnittstellen (Links) des PADs belegt sind: <p> Geben Sie xppx als Parameter an, wenn Ihre Datus-Schnittstellen wie folgt belegt sind: <tscreen><verb> Link 1: X25 X.21 Link 2: Pad V.24 Link 3: Pad V.24 Link 4: X25 X.21 </verb></tscreen> Geben Sie ppxx als Parameter an, wenn Ihre Datus-Schnittstellen wie folgt belegt sind: <tscreen><verb> Link 1: Pad V.24 Link 2: Pad V.24 Link 3: X25 X.21 Link 4: X25 X.21 </verb></tscreen> Ein makepad Start könnte wie folgt aussehen: <tscreen><verb> makepad ttyW7 xppx </verb></tscreen> <sect>Ergebnis <p> Nach erfolgreicher Konfiguration mit makepad sollten Sie dann folgende Tabellen erhalten, die Sie mit den angegebenen Kommandos (z.B. tsy für die Systemtabelle) ausgeben können. <p> Beachten Sie,daß bei manchen Kommandos ein _ (underline) Zeichen am Ende angegeben ist. Dieses _ bedeutet, daß Sie an dieser Stelle ein Leerzeichen anfügen müssen. Wird das Leerzeichen vergessen, wird das Kommando vom PAD nicht asugeführt. <sect1>Systemtabelle <p> <tscreen><verb> COMMAND: tsy * * * MAIN SYSTEM TABLE * * * 0. NUMBER OF LINES 8 1. NR. ROUTING 8 2. LOGGING PARAMETER I 5 3. LOGGING PARAMETER II 15 4. MAIN BAUDRATE 14 5. PRINTER BAUDRATE 14 6. ---------------------- 0 7. ROUT. <>0= LEFT 0 8. NUMBERS 4 9. REMOTE PRINT 0 10. TIMER STATISTICS L2 0 11. PC ? (ON = 1) 0 12. NODE ID 65 13. MAX. ID # * 120 (0=1) 2 14. MESS. ID 0 NO MESSAG. 1 15. TERMINAL 0 16. SYSTEM FEATURES 1 0 17. LOADROUTING 0 18. TIMER STATISTICS L3 0 19. SYSTEM FEATURES 2 0 20. COUNTER REPEAT CALL 0 21. LOAD PRIORITY 0 22. SVC PRIORITY 0 23. RMO TIMER (0...5=25 SEC) 0 24. NODE ID ( LOW BYTE ) 0 25. NODE ID ( HIGH BYTE ) 0 * * * NO VIDEO ATTRIBUTES * * * </verb></tscreen> <sect1>Routingtabelle <p> Die Routingtabelle wird für SVC Verbindungen bnötigt und daher in unserem Fall nicht benötigt. Die Inhalte dieser Tabelle können anders aussehen und müssen von Ihnen nicht geändert werden, da sie ohne Funktion sind. <tscreen><verb> COMMAND: tro_ * * * ROUTING TABLE * * * ROUTING ENTRIES CHECKED : 8 NR. NUMBER LINE LCN MODE ACC.MODE ACC.CLASS NUMB. TRA. 1. XXXXXXXXXXXXXXX 0 0 0 1 4 1 0 2. 0 0 0 0 0 0 0 3. XXXXXX650000000 0 0 0 1 4 1 0 4. XXXXXX800310001 2 1 1 0 4 1 0 5. XXXXXX800310001 4 1 1 0 4 1 0 6. 0 0 0 0 0 0 0 7. 0 0 0 0 0 0 0 8. 0 0 0 0 0 0 0 9. 0 0 0 0 0 0 0 10. XXXXXXXXXXXXXXX 0 0 0 1 4 1 0 11. 0 0 0 0 0 0 0 12. 0 0 0 0 0 0 0 13. 0 0 0 0 0 0 0 14. 0 0 0 0 0 0 0 15. 0 0 0 0 0 0 0 16. 0 0 0 0 0 0 0 </verb></tscreen> <sect1>Nummern Tabelle <p> Sollte ebenfalls egal sein. <tscreen><verb> COMMAND: tru_ * * * NUMBER TABLE 1 * * * NR. NUMBER MODE MOD.CONS PRIO LC BCD_UDF (mode=li/cla1-7)CI 1. 0 0 0 0 0 0 0 2. 0 0 0 0 0 0 0 3. 0 0 0 0 0 0 0 4. 0 0 0 0 0 0 0 5. 0 0 0 0 0 0 0 6. 0 0 0 0 0 0 0 7. 0 0 0 0 0 0 0 8. 0 0 0 0 0 0 0 9. 0 0 0 0 0 0 0 10. 0 0 0 0 0 0 0 11. 0 0 0 0 0 0 0 12. 0 0 0 0 0 0 0 13. 0 0 0 0 0 0 0 14. 0 0 0 0 0 0 0 15. 0 0 0 0 0 0 0 16. 0 0 0 0 0 0 0 </verb></tscreen> <sect1>PVC-Tabelle <p> So und nun wird es fuer uns spannend. In dieser Tabelle wird festgelegt wer mit wem verbunden ist. Das sieht bei mir zur Zeit wie folgt aus: <p> Ein PAD, das zwei V.24 Leitungen auf eine X.25 Leitung mit 2 PVCs mappen kann sollte daher folgendermaszen aussehen: <tscreen><verb> 1. LINE 1 CHANNEL 1 <---> LINE 3 CHANNEL 1 2. LINE 2 CHANNEL 1 <---> LINE 3 CHANNEL 2 3. LINE 0 CHANNEL 0 <---> LINE 0 CHANNEL 0 usw. </verb></tscreen> Unter der Annahme das Line 1 und 2 die beiden V24 PAD Leitungen sind, gibt es dort jeweils nur einen Channel 1 (PAD hat nur einen PVC). Jede dieser Lines wird auf Line 3 in einen anderen Channel gemappt. Damit sollte Line 1 den nicht-invertierten A-Kanal erhalten und Line 2 den invertierten B-Kanal. <p> Das war alles - eventuell noch die Line-numbers an die entsprechenden Lines der verwendeten Hardware (DATUS) anpassen. Dazu das Datus-PAD von der Rückseite anschauen. Dort stehen jeweils Nummern über den Steckern. <sect1>X.25 Leitung <p> Hier ist es wichtig bei jeder Leitung darauf zu achten was in der zweiten Zeile steht. In diesem Fall ist die 3. Leitung ein X.25 Einschub. <tscreen><verb> COMMAND: tli 3 * * * LINE STATUS * * * * * * * USER MODULE - X25 * * * * 0. LINE - NR: 3 1. MODULE - NR: 3 2. PORT INDIC. 1 3. CHAN. INDIC. 4 4. CHANGE SOURCE 0 5. CHANGE DESTI. 0 6. INSERT SOURCE 0 7. STATUS L3 1 8. LOGGING 0 9. STATUS LINE 7 10. NR. OF LCN s 2 11. CHARGING TIME 0 12. STATUS DEVICE 0 13. MODE L1 0 14. TYP LINE 5 15. MODE LINE 2 16. MODE L2 0 17. MODE L3 L4 16 18. PORTMODE 0 19. WINDOW L2 7 20. WINDOW L3 2 21. WINDOW L4 7 22. BAUDRATE 18 23. SAMM/SWIM ADD 0 24. TDM 0 25. ------------- 0 26. ------------- 0 27. ------------- 0 28. PAKSZ DEF/MAX 0 29. MLP - GROUP 0 30. WINDOW MLP 0 31. SECOND BACKUP 0 32. MAINLINE 0 33. ------------- 0 34. ------------- 0 35. ------------- 0 36. ------------- 0 37. ------------- 0 38. OVERLOAD 0 39. PVC 2 40. BASIS 1 41. TIMER ACTIVE 0 42. CONNECTIONS 2 43. CUG 0 44. ADDRESS LOW 24 45. ADDRESS HIGH 216 </verb></tscreen> <sect1>PAD-Leitung <p> Hier wird angenommen, dasz Leitung 1 eine der asynchronen Leitungen ist. <tscreen><verb> COMMAND: tli 1 * * * LINE STATUS * * * * * * * USER MODULE ASYNCHRON X3 PAD * * * * 0. LINE - NR: 1 1. MODULE - NR: 1 2. PORT INDIC. 1 3. CHAN. INDIC. 4 4. CHANGE SOURCE 0 5. CHANGE DESTI. 0 6. INSERT SOURCE 7 7. STATUS L3 1 8. LOGGING 0 9. STATUS LINE 7 10. NR. OF LCN s 1 11. CHARGING TIME 0 12. STATUS DEVICE 0 13. MODE L1 0 14. TYP LINE 8 15. MODE LINE 32 16. ------------- 2 17. MODE L3 L4 16 18. PORTMODE 0 19. ------------- 7 20. ------------- 2 21. WINDOW L4 7 22. BAUDRATE 15 23. BAUDRATE 0 24. BAUDRATE 0 25. BAUDRATE 0 26. BAUDRATE 0 27. BAUDRATE 0 28. BAUDRATE 0 29. BAUDRATE 0 30. PROFIL NR. 1 31. PROFIL NR. 0 32. PROFIL NR. 0 33. PROFIL NR. 0 34. PROFIL NR. 0 35. PROFIL NR. 0 36. PROFIL NR. 0 37. PROFIL NR. 0 38. OVERLOAD 0 39. PVC 1 40. BASIS 1 41. TIMER ACTIVE 0 42. CONNECTIONS 0 43. FOREIGN CALLS 0 44. ADDRESS LOW 8 45. ADDRESS HIGH 216 </verb></tscreen> <sect1>PAD-Profile <p> Hierzu gibt es nichts zu sagen. Hr. Schwarzmann von ÖBB wird schon wissen was er tut. Bei meiner PAD-Leitung war das PAD-Profil 1 eingestellt und mit tpr 1 hat das PAD-Profile so ausgesehen wie das nachstehende Beispiel mit tpr 17 aus dem Mail von Hrn. Berger. <tscreen><verb> COMMAND: tpr 17 P A D - P R O F I L NR: 17 1. PAD RECALL 0 2. ECHO 0 3. DATA FWD CHAR. 0 4. DATA FWD TIMER 2 5. PAD TO DEV FLOW 0 6. SERVICE SIGNAL 1 7. BREAK 0 8. DISCARD OUTPUT 0 9. <CR> PADDING 0 10. LINE FOLDING 0 11. BINARY SPEED 15 12. DEV TO PAD FLOW 0 13. <LF> INSERTION 0 14. <LF> PADDING 0 15. EDITING 0 16. CHAR. DELETE 13 17. LINE DELETE 13 18. LINE DISPLAY 13 19. ED. SERV.SIGNAL 0 20. ECHO MASK 32 21. PARITY 0 22. PAGE WAIT 0 121. ADD. FWD CHAR. 0 122. ADD. FWD CHAR. 0 100. STATISTICS 0 101. DIVERSE (1) 0 102. DIVERSE (2) 0 103. STATUS SIGNALS 0 104. DIRECT CALL 0 105. SIGNAL DROP 0 106. RDY PORT/PARITY 1 107. CONNECT TIMER 0 108. SHORTCUT CLASS 0 109. CALL MODE 128 110. MESSAGES (1) 0 111. ASYNC. MODE (1) 0 112. CUG MODE 0 113. LANGUAGE 71 114. MESSAGES (2) 0 115. ADDRESS KBAM 1 116. PARAMETER KBAM 0 117. TERMINAL 0 118. ASYNC. MODE (2) 0 119. CALL REPEAT 0 125. OUTPUT DELAY 0 </verb></tscreen> <sect1>TODO <p> Die obigen Tabellen dieses Kapitels sind keine Letztstand Bildschirmabzüge. Daher werden noch einige Parameter falsch abgebildet sein, aber die .cmd Files die alles generieren sind o.k. Daher sollte bei Gelegenheit diese "Bildersammlung" aktualisiert werden <sect>Disclaimer <label id="Disclaimer"> <sect1>Comments <p> I would appreciate (but do NOT REQUIRE) that any changes (bugs, new features or spelling errors) be sent to me for inspection, discussion and possible inclusion into the next version. <sect1>Copyright <p> Dieses Dokument ist urheberrechtlich geschützt. Das Copyright liegt bei Heimo Schön. <p> Das Dokument darf gemäß der GNU General Public License verbreitet werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer Publikation in Papierform ist der Autor zu informieren. <p> This howto is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. <p> This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. <p> You should have received a copy of the GNU General Public License along with this document; if not, write to the: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. <p> </article> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-exposed-tags:nil sgml-local-catalogs:("/usr/lib/sgml-tools/dtd/catalog") sgml-local-ecat-files:nil End: -->