ISDN-Zugang mit Isdn4Linux unter Linux 2.0
ISDN-Zugang mit ISDN4Linux unter Linux 2.0
Seit Linux 2.0 gibt es nun endlich auch einen Kernel, der kein Hacker-Kernel ist, der ISDN
unter Linux unterstützt. Die Auswahl an ISDN-Karten, die von ISDN4Linux unterstützt werden
ist zur Zeit jedoch noch recht mager.
Unterstützt werden:
- Teles S0-16 (auch die Teles S0-16.3)
- ICN-ISDN-Karten
- PCBit-Karten
Andere geläufige Karten werden zur Zeit noch nicht unterstützt.
ISDN4Linux ist in den Linux-Kernel integriert und kann sowohl in den Kernel eingebunden, als
auch als ladbares Modul hinzugeladen werden. Diese Beschreibung
bezieht sich auf die Kernel-Version 2.0.0 in Verbindung mit einer Teles S0-16.3.
Beantragen eines ISDN-Zuganges
Um einen Zugang zum FB3-Netz über ISDN zu bekommen, muß eine E-Mail an
Carsten Bormann geschrieben werden.
Er benötigt folgende Angaben:
- Name, Vorname, Straße, PLZ, Ort
- ISDN-Karte
- CAPI-Version
- Zugangsart (am besten Raw-IP in HDLC)
- ISDN-Typ (Euro-ISDN oder 1TR6)
- ISDN-Telefonnummer
- Voice-Telefonnummer
Wenn alle Angaben korrekt sein sollten, erhält man von ihm eine IP-Adresse und einen
Default-Router zugewiesen. Diese Daten sollte man sich für später merken.
Anpassen des Kernels
Bevor man beginnen kann, die ISDN-Karte unter Linux 2.0 einzurichten, muß als erstes der
Kernel angepaßt und neu kompiliert werden. Dazu wechselt man in das Verzeichnis
/usr/src/linux und startet das Konfigurationsprogramm mit make menuconfig
(es gibt natürlich auch
andere Möglichkeiten die Konfiguration durchzuführen, doch ich beschränke mich
in dieser Beschreibung auf diese Möglichkeit, da es hier nur auf das Prinzip ankommt).
In der Kernelkonfiguration sollte isdn4linux nun ausgewählt werden. Um den Kernel klein
zu halten empfiehlt es sich isdn4linux als Modul zu kompilieren, das bei Bedarf nachgeladen wird.
Weiterhin sollte die Unterstützung für die entsprechende ISDN-Karte (in diesem Fall also
die Teles-Karte) angewählt werden.
Nun kann der Kernel wie üblich kompiliert werden:
make clean
make dep
make zImage
make modules
make modules_install
Nun sind die Voraussetzungen geschaffen um isdn4linux zu konfigurieren.
Der Start von isdn4linux
Um später die ISDN-Karte als Netzwerkkarte verwenden zu können, muß isdn4linux
gestartet werden.
- Die Adresse der ISDN-Karte (port). Defaultwert ist 0xd80.
- Den Interrupt der ISDN-Karte (irq). Defaultwert ist 15.
- Die shared memory-Adresse (mem). Defaultwert ist 0xd0000.
- Das D-Kanal-Protokoll (dprot). Defaultwert ist 2 (für DSS1 / EuroISDN).
Für die verschiedenen Teles-Karten gelten folgende Werte:
- Teles S0-8: port = 0, mem != 0
- Teles S0-16.0: port != 0, mem != 0
- Teles S0-16.3: port != 0, mem = 0
Wurde die ISDN-Unterstützung und der Teles-Treiber zum Kernel hinzukompiliert, muß
LILO oder LOADLIN folgendes übergeben werden:
teles=port,irq,mem,dprot [,idstring]
Wobei für port, irq, mem und dprot die entsprechenden Werte eingetragen werden müssen.
idstring ist eine Bezeichnung der Karte, um später mit anderen Tools auf die Karte zugreifen
zu können.
Wurde der Teles-Treiber als Modul kompiliert, müssen beim Hinzufügen der Treibers zum Kernel
mittels insmod folgende Parameter übergeben werden:
io=mem,irq,port,dprot teled_id=idstring
(Man achte bitte auf die andere Reihenfolge der Parameter!)
Die Konfiguration der ISDN-Karte ist hiermit bereits abgeschlossen. Im nächsten Abschnitt
wird dann beschrieben, wie der Zugang zur Universität hergestellt werden kann.
Einrichten der TCP/IP-Verbindung
Um eine TCP/IP-Verbindung zur Universität aufzubauen, müssen zuerst dem ISDN-Treiber
einige Daten bekanntgemacht werden.
- Zuerst muß ein Interface eingerichtet werden:
- isdnctrl addif isdn0
- Setzen der MSN:
- isdnctrl eaz isdn0 telefonnummer
- Festlegen der Nummer für ausgehende Gespräche:
- isdnctrl addphone isdn0 out 04212022987
- Festlegen der Nummer für eingehende Gespräche:
- isdnctrl addphone isdn0 in 04212022987
- Auswahl der Level-2-Protokolls:
- isdnctrl isdn0 hdlc
- Sicherheitsoptionen:
- isdnctrl isdn0 on
- Setzen der Zeit bis zum Timeout:
- isdnctrl huptimeout isdn0 Zeit_in_Sekunden
Um die Fehlersuche zu erleichtern sollten auch noch folgende Optionen gesetzt werden:
- Debuginformationen festlegen:
- telesctrl idstring 1 31
- IsdnLog starten:
- isdnlog -m16 /dev/isdnctrl0 2>> /var/log/isdncalls &
Um das ganze beim Booten ausführen zu lassen empfiehlt es sich die Datei i4l
in das Verzeichnis /sbin/init.d zu kopieren. Für die verschiedenen Runlevel sollten
entsprechend Symbolic-Links gesetzt werden. In der Datei /etc/rc.config
sollten die Variablen gesetzt sein, die von i4l benötigt werden. Dieses ermöglicht leicht
eine spätere Änderung der Hardwarekonfiguration.
Netzwerkkarte konfigurieren
Nun ist die meiste Arbeit schon getan. Jetzt muß nur noch mittels
ifconfig
das Interface isdn0 konfiguriert werden. An dieser Stelle benötigt man
nun die Daten, die man von Carsten Bormann erhalten hat.
isdn4linux beenden
- Interface löschen:
- isdnctrl delif isdn0
- Das Modul teles.o entfernen:
- rmmod teles.o
- Die ISDN-Unterstützung aus dem Kernel entfernen:
- rmmod isdn.o
Markus Dahlweid / 8. September 1996
dahlweid@informatik.uni-bremen.de