Logo der Universität Hamburg, nur Graphik Regionales Rechenzentrum Logo des RRZ, nur Graphik

Kurzbeschreibung für PPP Verbindungen zwischen Ascend-Max und Linux mit isdn4linux



Isdn4linux besteht aus einem "Linklevel"-Modul, einem Lowlevel-Modul für ISDN-Karten von ICN und einem Lowlevel-Modul für passive Siemens-Chipsatz basierte (Teles,Creatix, Elsa ... )-Karten, die zur Laufzeit mittels insmod geladen oder 'fest' in den Kernel einkompiliert werden können. Das Linklevel-Modul isdn.o wird zuerst geladen und verwaltet dann danach geladene Hardware-Module (hisax.o, teles.o, icn.o). Daraufhin stehen ein Raw-Control-Device und sechzehn tty-Devices zur Verfügung.

Der aktuellste Treiber für ISDN-Karten unter Linux ist der HiSax-2.0 von Karsten Keil. Er unterstützt passive Karten mit dem Siemens HSCX/ISAC Chipsatz. Das sind z.Z.:

Teles 8.0/16.0/16.3 und Kompatible
Teles S0/PCMCIA
Creatix PnP S0
AVM A1 (Fritz)
ELSA Microlink PCC-16, PCF, PCF-Pro, PCC-8
ELSA Quickstep 1000
ITK ix1-micro Rev.2

Der HiSax-Treiber ist nicht standardmäßig im Linux Kernel enthalten; es werden vier Patches benötigt (Der HiSax-Patch und drei Buxfixes). Diese befinden sich auf ftp.franken.de in /pub/isdn4linux/v2.0/ und heißen isdn4kernel-2.0.29.gz (der HiSax Treiber), isdn4kernel-2.0.29.1.gz, isdn4kernel-2.0.29.2.gz und isdn4kernel-2.0.29.3.gz (die Bugfixes).

Vorbereitungen:

1. Als nächstes ist ein fertiger, ausgepackter Linux-2.0.29 Kernelsourcetree, der natürlich in /usr/src/linux wohnt, zu patchen:

2. Dann muß der Kernel neu konfiguriert, kompiliert und installiert werden.

Unter dem Punkt "ISDN subsystem" muß zunächst einmal "ISDN support" aktiviert werden. Der HiSax und der ISDN-Treiber können sowohl als Module, als auch fest in den Kernel kompiliert werden. Die Modul-Variante ist auf jeden Fall die empfehlenswertere.
Ausserdem müssen "Support synchronous PPP" und "Use VJ-compression with synchronous PPP" aktiviert werden. Danach kommt die Auswahl des eigentlichen Kartentreibers. Wer eine ICN oder PCBIT Karte im Gehäuse sitzen hat wählt die entsprechenden Menupunkte. Besitzer einer Teles(Creatix, 1&1,Niccy)-Karte haben die Wahl zwischen dem älteren "Teles/NICCY1016PC/Creatix support" und dem "HiSax-Driver". Der Rest muß ohnehin den HiSax-Treiber benutzen. Wird der HiSax-Treiber angewählt erscheint eine Auswahl der unterstützten Karten und des verwendeten ISDN-Protokolls. Nach Wahl der Karte und des Protokolls kann die Konfiguration dann abgespeichert und die Module können gebaut werden.

Achtung: Der Kernel muß natürlich bereits Netzwerke unterstützen:
"General setup ---> Networking support"
Außerdem müssen "Network device support" und PPP, SLIP und "CSLIP compressed headers" aktiviert, bzw. als Module vorhanden sein.
Wenn "Networking support" fehlt muß auf jedem Fall auch der Kernel selbst neu kompiliert werden:

Wenn nur die Module neu erzeugt werden müssen genügt ein

sonst, falls der Kernel neu gebaut wurde: Kernel installieren (lilo, loadlin oder wie auch immer) und neu booten.

Sind die Module fertig installiert (und evtl. das System mit einem neuen Kernel gestartet), fehlt nur noch ein depmod -a, und die Vorbereitungen sind abgeschlossen.

Laden des Treibers

1. Als Modul (hisax.o):

Anmerkung zu PnP-Karten:
Für PnP-Karten-Treiber muß der HiSax-Treiber als Modul geladen werden. PnP-Karten sind daran zu erkennen, daß sich keine Schalter oder Jumper (für die IO-Adresse) auf der Karte befinden. Creatix und Teles -PnP Karten verwenden anstelle von io zwei Parameter: io1 und io2 als Basisadressen für die ISAC und HSCX Chips. Die hierfür erlaubten Werte müssen vorher mit Hilfe des isapnp-tools ermittelt werden.Zum Konfigurieren der PnP-Karten ist anchließend ebenfalls das isapnp-Tool nötig. Es befindet sich ebenfalls auf ftp.franken.de/pub/isdn4linux/HiSax/pnp/.

Die Kartentypen:

   Typ  Karte                    Benötigte Parameter 

    1   Teles 16.0               irq, mem, io
    2   Teles  8.0               irq, mem
    3   Teles 16.3 (non PnP)     irq, io
    4   Creatix/Teles PnP        irq, io0 (ISAC), io1 (HSCX) (isapnp setup)
    5   AVM A1 (Fritz)           irq, io
    6   ELSA PCC/PCF cards       io oder autodetect
    7   ELSA Quickstep 1000      irq, io  (isapnp setup)
    8   Teles 16.3 PCMCIA        irq, io
    9   ITK ix1-micro Rev.2      irq, io

Beispiele: (aus dem HiSax-Readme)

1. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 10
modprobe hisax type=3 protocol=2 io=0x280 irq=10

2. Teles 16.0, 1TR6 ISDN, I/O base d80 hex, IRQ 5, Memory d0000 hex
modprobe hisax protocol=1 type=1 io=0xd80 mem=0xd0000 irq=5

3. Fritzcard, Euro ISDN, I/O base 340 hex, IRQ 10 and ELSA PCF, Euro ISDN
modprobe hisax type=5,6 protocol=2,2 io=0x340 irq=10 id=Fritz%Elsa

2. Treiber fest im Kernel:

Beim LILO-Prompt zusätzlich "hisax=typ,dp,pa,pb,pc,idstring" eingeben oder besser in der lilo.conf die Zeile append = "hisax=typ,dp,pa,pb,pc,idstring" zur Image-Sektion des neuen Kernels hinzufügen, wobei

Kartentypen:

   Typ  Karte                    Benötigte Parameter 

    1   Teles 16.0              pa=irq  pb=membase      pc=iobase
    2   Teles  8.0              pa=irq  pb=membase
    3   Teles 16.3              pa=irq  pb=iobase
    4   Creatix/Teles PNP       Nur als Modul !
    5   AVM A1 (Fritz)          pa=irq  pb=iobase
    6   ELSA PCC/PCF cards      pa=iobase or nothing for autodetect 
    7   ELSA Quickstep 1000     Nur als Modul !
    8   Teles S0 PCMCIA         pa=irq  pb=iobase
    9   ITK ix1-micro Rev.2     pa=irq  pb=iobase

Der idstring definiert einen Bezeichner für die Karte. Er wird hier nicht benötigt. Default ist "HiSax".
Wenn alles klappt sollten in /var/adm/messages oder syslog Meldungen folgender Art erscheinen:

kernel: ISDN subsystem Rev: 1.34/1.29/1.37/1.25/none loaded
kernel: HiSax: Driver for Siemens chip set ISDN cards
kernel: HiSax: Version 2.0
kernel: HiSax: Revisions 1.8/1.7/1.6/1.20/1.6
kernel: HiSax: Total 1 card defined
kernel: HiSax: Card 1 Protocol EDSS1 Id=telesS0 (0)
kernel: HiSax: Teles 8.0/16.0 driver Rev. 1.6
kernel: HiSax: Teles 16.0 config irq:9 mem:d0000 cfg:d80
kernel: Teles0: HSCX version A: V2.1 B: V2.1
kernel: Teles0: ISAC 2085 V2.3
kernel: HiSax: DSS1 Rev. 1.12
kernel: HiSax: 2 channels added
kernel: HiSax: module installed

und lsmod sollte die Module hisax, isdn und slhc als geladen melden.

Genauer steht das ganze im README.HiSax. Wie die Treiber für die Nicht-Siemens-Karten (ICN, PCBIT) zu laden sind steht in /usr/src/linux/Documentation/isdn/, im READNE-File der isdn4kultils und natürlich im isdn4linux-FAQ.

Der Modememulator

Wenn das Laden des Moduls geklappt hat, stehen einige tty*, und ein Control-Device zur Verfügung. Die ttyI*-Devices stellen einen Modememulator dar, d.h. nur daß die ISDN-Karte mittles der ttyI*-Devices über hayesartige Befehle angesteuert werden kann. Um das zu testen müssen (falls noch nicht vorhanden) erstmal die ttyI*´s angelegt werden:

mknod -m 666 /dev/ttyI0 c 43 0
mknod -m 666 /dev/ttyI1 c 43 1
mknod -m 666 /dev/ttyI2 c 43 2
mknod -m 666 /dev/ttyI3 c 43 3

Jetzt können die Dvices mittlels minicom, pppd (usw.) angesprochen werden. Hier muß aber auf jeden Fall zuerst die eigene EAZ/MSM mit at&e=< msm > eigetragen werden.
Bei minicom kann nun mit atd <nummer> z.B. eine Mailbox angerufen werden.

Asyncrones PPP zum RRZ

Um eine asyncrone PPP-Verbindung zum Ascend-MAX aufzubauen kann analog wie beim Modem vorgegangen werden: Zunächst sind einige Konfigurationsfiles zu anzulegen:

/etc/ppp/chat.RZ: (eine Zeile)

/etc/ppp/options:

/etc/ppp/pap-pass: (letzte Zeile mit Return abschließen ! )

Mit dem Aufruf des pppd-daemons

müsste nun eine TCP/IP-Verbindung zum RRZ aufgebaut werden.

Syncrones PPP

Wer ISDN benutzt sollte auf jeden Fall syncrones PPP verwenden. Hierzu wird der modifizierte ppp-daemaon ipppd benötigt. Er befindet sich (neben einigen anderen benötigten Tools) im Paket isdn4k-utils.tar.gz, ebenfalls auf ftp.franken.de/pub/isdn4linux/v2.0/. Bei den meisten Linux-Distributionen (Slackware, SuSE) sind der ipppd und das ebenfalls benötigte isdnctrl bereits vorhanden, so daß isdn4k-utils.tar.gz nicht mehr benötigt wird. Falls isdn4k-utils.tar.gz dennoch installiert werden muß ( make, make devices, make install), und dabei Probleme auftreten, kann das tools-Verzeichnis aus dem Makefile entfernt werden. Notwendig sind lediglich isdnctrl und der ipppd.

Konfiguration

Nach dem Laden der Module isdn,hisax und slhc mittels modprobe hisax.o muß zunächst ein ppp-Netzdevice definiert werden:

Mit

wird das ippp0-Device eingerichtet, wobei die eigene Adresse unwichtig ist, da der ipppd sie ohnehin neu setzt. Mit

werden die Pfade ins Netz gestzt. Vorher sollte natürlich in der /etc/hosts ein Eintrag

stehen. Wie der pppd benötigt der ipppd ebenfalls etc/ppp/options und /etc/ppp/pap-pass:

/etc/ppp/options:

/etc/ppp/pap-pass:

Die letzte Zeile mit Return abschliessen ! Die Datei /etc/ppp/pap-pass sollte root gehören und auch nur von root gelesen werden dürfen

Schließlich muß noch der ipppd gestartet werden (als root):

Fertig !

Mit tail -f /var/adm/messages kann jetzt der Verbindungsaufbau verfolgt werden, sobald das erste IP-Paket ins Netz rausgeht. (z.B. durch ping rzmax)

Vorsicht: Die Telekom freut sich über ein unbeobachtetes dial-on-demand !

Die älteren Versionen dieser Seite für ältere Linux-Installationen befinden sich hier. Ein hervorragendes Tutorial zur Anbindung eines Linux-Rechners ans Netz ist Ein Linux-Leafsite. Dort wird sowohl auf die Netzanbindung über Modem und ISDN, als auch auf die Einrichtung von Mail und News eingegangen.


Martin Hoffmann

Last modified: Thu 6.3.97 16:17 CET