\documentclass[a4paper,german]{article}
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{DATUS-PAD Konfigurations HOWTO
   }
\author{      \onlynameurl{Heimo Sch\"on} \onlynameurl{{$<$}heimo.schoen@gmx.at{$>$}}
   }
\date{Version 0.2 , 09. December 2001
   }
\abstract{     Wie konfiguriere ich ein DATUS-PAD f\"ur zweikanalige
     \onlynameurl{\"OBB}-X.25 Verbindungen,      (\onlynameurl{Linux} Version)
   }


\begin{document}
\maketitle

\section{Allgemeines
   \label{Allgemeines}
   }


\subsection{Zu diesem HOWTO
    }

Dieses Dokument soll einen kleinen Leitfaden bieten,
wenn Sie von Ihrem 
\onlynameurl{Linux} Rechner
aus, ein DATUS-PAD konfigurieren wollen

Wenn Sie Ideen oder Anregungen zu diesem HOWTO haben, dann
f\"uhlen Sie sich frei sich bei mir zu melden. 
\begin{itemize}
\item Heimo Sch\"on \onlynameurl{{$<$}heimo.schoen@gmx.at{$>$}}
\item \onlynameurl{http://fly.to/heimo.schoen}
\end{itemize}


Ich bin dankbar f\"ur alle Korrekturen und Anregungen.




\subsection{Einige Links zu verwandten Themen
   \label{links}     }

\begin{itemize}
\item \onlynameurl{Datus}
\item \onlynameurl{DaimlerChrysler Rail Systems (Austria) GmbH}
\item \onlynameurl{Alcatel Austria AG}
\end{itemize}









\subsection{Download
    }

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.

\onlynameurl{datus-howto.tgz}

Speichern Sie das Archiv File mit "Save Link As" lokal ab und packen Sie das
Archiv mit
\begin{tscreen}
\begin{verbatim}
tar xzvf datus-howto.tgz
  
\end{verbatim}
\end{tscreen}

aus.








\subsection{Version History
    }

\begin{itemize}
\item  0.1  01 July 2000 first trial
\item  0.2  09 December 2001 including Makefile ...

\end{itemize}











\section{Einleitung
  \label{Einleitung}
    }

In diesem Kapitel soll erkl\"art werden wozu dieses HOWTO dient,
was damit konfiguriert wird, und warum f\"ur die DATUS-Konfiguration
eine Software notwendig ist.




\subsection{Das Datus-PAD
    }

Dieses Dokument besch\"aftigt sich ausschliesslich mit dem
\onlynameurl{DATUS}-PAD 5810/20E.
Beschrieben wird die Parametrierung des 5810/20E f\"ur die \"Ubertragung
von ESTW-Daten entsprechend dem \"OBB X25 Pflichtenheft.

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.

Weiters k\"onnen Einsch\"ube in das PAD eingebaut werden. In diesem Dokument
werden nur jene PADs betrachtet die mit maximal 4 Schnittstellen best\"uckt
sind. Es werden nur die ersten drei Schnittstellen f\"ur die Daten\"ubertragung
entsprechend \"OBB-X25-Pflichtenheft ben\"otigt. Egal ob Sie 3, 4, 5 oder mehr
Schnittstellen best\"uckt haben, werden immer nur die ersten 4 Schnittstellen
durch die Konfigurationsfiles dieses Dokuments konfiguriert und davon 
ben\"otigen Sie nur die ersten drei Schnittstellen (die vierte Schnittstelle
wird aus historischen Gr\"unden mitkonfiguriert). Auch wenn die 4. Schnittstelle
nicht best\"uckt ist, oder auch mehr als 4 Schnittstellen best\"uckt sind, kann
dieses HOWTO angewendet werden.








\subsection{PAD Schnittstellen
    }

Um nun Daten \"ubertragen zu k\"onnen entsprechend \"OBB X25, wird eine X.25
Schnittstelle mit 2 PVCs ben\"otigt. (Zum Nachlesen der CCITT X.25 finden
Sie hier einige Informationen
\onlynameurl{CCITT X.25}).
Weiters ben\"otigt man f\"ur die \"Ubertragung der Dateninhalte der beiden 
PVCs noch zwei asynchrone Schnittstellen.

Dieses Dokument setzt voraus, da\ss{} die ersten drei Schnittstellen wie
folgt best\"uckt sind. Entweder:
\begin{tscreen}
\begin{verbatim}
    Link 1:    X25  X.21 
    Link 2:    Pad  V.24 
    Link 3:    Pad  V.24 
  
\end{verbatim}
\end{tscreen}

oder
\begin{tscreen}
\begin{verbatim}
    Link 1:    Pad  V.24 
    Link 2:    Pad  V.24 
    Link 3:    X25  X.21
  
\end{verbatim}
\end{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).

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 \"ubertragen.










\subsection{Parametrierung von DATUS-PADs
    }

Die Parametrierung erfolgt, indem zuerst mit \ref{minicom} {(minicom)} 
(oder einer anderen
Terminalemulation) das DATUS-PAD in den Konfigurationsmodus gebracht wird.
Dann wird mit dem Script \ref{makepad} {(makepad)} die Konfiguration 
geladen. Der Ladevorgang
wird durch das \ref{software} {(Programm)} datus.c durchgef\"uhrt. 
Die \ref{config} {(Konfigurationen)} selbst liegen in .cmd Dateien.

In den nachfolgenden Kapiteln werden alle diese Programme, Scripts und
.cmd Files beschrieben.






























\section{minicom
  \label{minicom}
   }

Das Terminal Emulationsprogramm minicom ist in allen gro\ss{}en Linux Distributionen
enthalten




\subsection{minicom setup
   }

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.

Dann starten Sie minicom und gehen mit ALT-O in das configuration
Menu. Dort w\"ahlen Sie den Men\"upunkt "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\"onnen die folgenden Zeilen in /etc/minicrc.datus.fdl kopieren:

\begin{tscreen}
\begin{verbatim}
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               
  
\end{verbatim}
\end{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).

Damit kann minicom von jedem User mit dem Kommando

\begin{tscreen}
\begin{verbatim}
minicom datus.fdl
  
\end{verbatim}
\end{tscreen}

gestartet werden.

Zuvor sollte in /var/log das Schreibrecht f\"ur User geoeffnet werden, damit
auch User das benutzte Device sperren k\"onnen. Bisher gelang es mir nicht
minicom das anlegen eines lock-files abzugewoehnen:
\begin{tscreen}
\begin{verbatim}
cd /var/lock
chmod a+w .
  
\end{verbatim}
\end{tscreen}



















\subsection{Anmelden im DATUS-PAD
   }

Wenn nun minicom eine Verbindung zum DATUS-PAD hat, erh\"alt man \"ublicherweise
sehr viel "junk" und kann das DATUS-PAD \"uber die Konsole kaum bedienen.
Daher empfiehlt es sich das DATUS-PAD aus- und wieder einzuschalten. 
Waehrend des Hochlaufs erh\"alt man dann folgende Meldung:

\begin{tscreen}
\begin{verbatim}
+++  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!    
  
\end{verbatim}
\end{tscreen}


An dieser Stelle erh\"alt man die M\"oglichkeit dem DATUS-PAD den Konfigurations-Mode
zu schalten, indem man eine beliebige Taste dr\"uckt und dann f\"ur einige Zeit 
folgende Zeile sieht (nicht verwirren lassen - sondern ca. 1 Minute warten ;-)

\begin{tscreen}
\begin{verbatim}
IPL SIOM:  1
  
\end{verbatim}
\end{tscreen}


Danach geht es weiter mit:

\begin{tscreen}
\begin{verbatim}
 NPRCDPV 8.A.5

COLDSTART WARMSTART ? (C/W) :w
  
\end{verbatim}
\end{tscreen}


Hier antwortet man mit W f\"ur Warmstart und kommt zur n\"achsten, alles 
entscheidenden Frage:

\begin{tscreen}
\begin{verbatim}
 * * WARM - START  * *


START LINES ?  (Y/N) :n
  
\end{verbatim}
\end{tscreen}




Genau hier antwortet man mit n(o) und hat somit das PAD im Ruhezustand (keine Leitungen 
laufen) und erh\"alt nun einen Prompt ohne Diagnose Informationen:

\begin{tscreen}
\begin{verbatim}
COMMAND:
  
\end{verbatim}
\end{tscreen}


Genau an diesen Punkt sollten Sie kommen. Nun k\"onnen Sie die weitere
Parametereingabe mein Programm machen lassen.














\section{Software
  \label{software}
   }

Dieses Kapitel beschreibt die Programme mit denen die Parameterdateien
geladen werden.




\subsection{datus.c
   }

Das Programm datus.c sieht wie folgt aus:
\begin{tscreen}
\begin{verbatim}
/*
**   $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();
  }  

}
  
\end{verbatim}
\end{tscreen}





\subsection{Makefile
   }

Das dazugeh\"orige Makefile finden Sie hier:

\begin{tscreen}
\begin{verbatim}
#
# 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 *

  
\end{verbatim}
\end{tscreen}























\section{Konfigurations Datenfiles
  \label{config}
   }

Dieses Kapitel zeigt die Konfigurationen die in das Datus PAD geladen werden m\"ussen.




\subsection{system\_ppxx.cmd
   }

Dieses Konfigurationsfile beschreibt die Systemparameter f\"ur PADs mit Belegung der 
Links 1 bis 4 mit:

\begin{tscreen}
\begin{verbatim}
    Link 1:    Pad  V.24 
    Link 2:    Pad  V.24 
    Link 3:    X25  X.21 
    Link 4:    X25  X.21
  
\end{verbatim}
\end{tscreen}


File system\_xppx.cmd:

\begin{tscreen}
\begin{verbatim}
# 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 
#
  
\end{verbatim}
\end{tscreen}





















\subsection{system\_xppx.cmd
   }

Dieses Konfigurationsfile beschreibt die Systemparameter f\"ur PADs mit Belegung der 
Links 1 bis 4 mit:

\begin{tscreen}
\begin{verbatim}
    Link 1:    X25  X.21 
    Link 2:    Pad  V.24 
    Link 3:    Pad  V.24 
    Link 4:    X25  X.21
  
\end{verbatim}
\end{tscreen}


File system\_xppx.cmd:

\begin{tscreen}
\begin{verbatim}
# 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 
#
  
\end{verbatim}
\end{tscreen}















\subsection{profile.cmd
   }

Das PAD-Profile Konfigurationsfile wird hier beschrieben.

File profile.cmd:

\begin{tscreen}
\begin{verbatim}
# 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
#
#
   
\end{verbatim}
\end{tscreen}















\subsection{pad\_12.cmd
   }

Dieses Konfigurationsfile beschreibt die PAD-Parameter f\"ur PADs mit Belegung der 
Links 1 bis 4 mit:

\begin{tscreen}
\begin{verbatim}
    Link 1:    Pad  V.24 
    Link 2:    Pad  V.24 
    Link 3:    X25  X.21 
    Link 4:    X25  X.21
  
\end{verbatim}
\end{tscreen}


File pad\_12.cmd:

\begin{tscreen}
\begin{verbatim}
#
#
# 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
#
#
  
\end{verbatim}
\end{tscreen}















\subsection{pad\_23.cmd
   }

Dieses Konfigurationsfile beschreibt die PAD-Parameter f\"ur PADs mit Belegung der 
Links 1 bis 4 mit:

\begin{tscreen}
\begin{verbatim}
    Link 1:    X25  X.21 
    Link 2:    Pad  V.24 
    Link 3:    Pad  V.24 
    Link 4:    X25  X.21
  
\end{verbatim}
\end{tscreen}


File pad\_12.cmd:

\begin{tscreen}
\begin{verbatim}
#
#
# 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
#
#
  
\end{verbatim}
\end{tscreen}















\subsection{x25\_34.cmd
   }

Dieses Konfigurationsfile beschreibt die X.25 Parameter f\"ur PADs mit Belegung der 
Links 1 bis 4 mit:

\begin{tscreen}
\begin{verbatim}
    Link 1:    Pad  V.24 
    Link 2:    Pad  V.24 
    Link 3:    X25  X.21 
    Link 4:    X25  X.21
  
\end{verbatim}
\end{tscreen}


File x25\_34.cmd:

\begin{tscreen}
\begin{verbatim}
#
#
# 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
#
  
\end{verbatim}
\end{tscreen}















\subsection{x25\_14.cmd
   }

Dieses Konfigurationsfile beschreibt die X.25 Parameter f\"ur PADs mit Belegung der 
Links 1 bis 4 mit:

\begin{tscreen}
\begin{verbatim}
    Link 1:    X25  X.21 
    Link 2:    Pad  V.24 
    Link 3:    Pad  V.24 
    Link 4:    X25  X.21
  
\end{verbatim}
\end{tscreen}


File x25\_14.cmd:

\begin{tscreen}
\begin{verbatim}
#
#
# 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
#  
  
\end{verbatim}
\end{tscreen}



















\section{Konfigurations script makepad
  \label{makepad}
   }

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:

\begin{tscreen}
\begin{verbatim}
#! /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;
  
\end{verbatim}
\end{tscreen}


Das Script makepad verlangt zwei Parameter. Der erste Parameter gibt das Device
an, an dem das Datus-PAD angeschlossen ist. Dabei mu\ss{} 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.

Der zweite Parameter des Scripts kann ppxx oder xppx sein. Je nachdem wie die
Schnittstellen (Links) des PADs belegt sind:

Geben Sie xppx als Parameter an, wenn Ihre Datus-Schnittstellen wie folgt belegt sind:
\begin{tscreen}
\begin{verbatim}
    Link 1:    X25  X.21 
    Link 2:    Pad  V.24 
    Link 3:    Pad  V.24 
    Link 4:    X25  X.21
  
\end{verbatim}
\end{tscreen}


Geben Sie ppxx als Parameter an, wenn Ihre Datus-Schnittstellen wie folgt belegt sind:
\begin{tscreen}
\begin{verbatim}
    Link 1:    Pad  V.24 
    Link 2:    Pad  V.24 
    Link 3:    X25  X.21 
    Link 4:    X25  X.21
  
\end{verbatim}
\end{tscreen}


Ein makepad Start k\"onnte wie folgt aussehen:

\begin{tscreen}
\begin{verbatim}
makepad ttyW7 xppx 
  
\end{verbatim}
\end{tscreen}







































\section{Ergebnis
  }

Nach erfolgreicher Konfiguration mit makepad sollten Sie dann 
folgende Tabellen erhalten, die Sie mit den angegebenen Kommandos 
(z.B. tsy f\"ur die Systemtabelle) ausgeben k\"onnen. 

Beachten Sie,da\ss{} bei manchen Kommandos ein \_ (underline) Zeichen 
am Ende angegeben ist. Dieses \_ bedeutet, da\ss{} Sie an dieser Stelle 
ein Leerzeichen anf\"ugen m\"ussen. Wird das Leerzeichen vergessen, 
wird das Kommando vom PAD nicht asugef\"uhrt.




\subsection{Systemtabelle
  }



\begin{tscreen}
\begin{verbatim}
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  * * *
  
\end{verbatim}
\end{tscreen}













\subsection{Routingtabelle
  }

Die Routingtabelle wird f\"ur SVC Verbindungen bn\"otigt und daher in
unserem Fall nicht ben\"otigt. Die Inhalte dieser Tabelle k\"onnen anders
aussehen und m\"ussen von Ihnen nicht ge\"andert werden, da sie ohne
Funktion sind.

\begin{tscreen}
\begin{verbatim}
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  
  
\end{verbatim}
\end{tscreen}

















\subsection{Nummern Tabelle
  }

Sollte ebenfalls egal sein.

\begin{tscreen}
\begin{verbatim}
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    
  
\end{verbatim}
\end{tscreen}



















\subsection{PVC-Tabelle
  }

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:

Ein PAD, das zwei V.24 Leitungen auf eine X.25 Leitung mit 2 PVCs
mappen kann sollte daher folgendermaszen aussehen:

\begin{tscreen}
\begin{verbatim}
  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.
  
\end{verbatim}
\end{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.

Das war alles - eventuell noch die Line-numbers an die entsprechenden
Lines der verwendeten Hardware (DATUS) anpassen. Dazu das Datus-PAD
von der R\"uckseite anschauen. Dort stehen jeweils Nummern \"uber den 
Steckern.
















\subsection{X.25 Leitung
  }

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. 

\begin{tscreen}
\begin{verbatim}
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
   
\end{verbatim}
\end{tscreen}













\subsection{PAD-Leitung
  }

Hier wird angenommen, dasz Leitung 1 eine der asynchronen Leitungen ist.

\begin{tscreen}
\begin{verbatim}
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
  
\end{verbatim}
\end{tscreen}









\subsection{PAD-Profile
  }

Hierzu gibt es nichts zu sagen. Hr. Schwarzmann von \"OBB 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.

\begin{tscreen}
\begin{verbatim}
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
  
\end{verbatim}
\end{tscreen}













\subsection{TODO
   }

Die obigen Tabellen dieses Kapitels sind keine Letztstand Bildschirmabz\"uge.
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








































\section{Disclaimer
\label{Disclaimer}}


\subsection{Comments}

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.






\subsection{Copyright }

Dieses Dokument ist urheberrechtlich gesch\"utzt. Das Copyright 
liegt bei Heimo Sch\"on. 

Das Dokument darf gem\"a\ss{} der GNU General Public License verbreitet 
werden. Insbesondere bedeutet dieses, da\ss{} der Text sowohl \"uber 
elektronische wie auch physikalische Medien ohne die Zahlung von 
Lizenzgeb\"uhren verbreitet werden darf, solange dieser Copyright 
Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist 
erlaubt und ausdr\"ucklich erw\"unscht. Bei einer Publikation in 
Papierform ist der Autor zu informieren. 

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. 

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. 

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. 



















\end{document}
