ISDN

Vielleicht verfügt der eine oder andere Leser dieses Buches inszwischen über einen ISDN-Anschluß. Diese digitalen Telefonanschlüsse bieten im Normalfall 3 Telefonnummern und 2 gleichzeitig nutzbare (B-) Kanäle, so daß Sie sich im Internet rumtreiben können und gleichzeitig telefonieren können. Die Übertragungsrate beträgt 64 kBit je B-Kanal, einige Provider unterstützen die Bündelung beider Kanäle, so daß Sie mit 128 kBit im Netz surfen können, hierbei fallen natürlich auch die doppelten Telefonkosten an.

Für die Konfiguration einer ISDN-Karte müssen Sie zunächst einige Module laden. Es ist nicht notwendig einen neuen Kernel zu übersetzen, alle benötigten Module wurden zusammen mit dem von Debian GNU/Linux installierten Kernel installiert. Zunächst sollten Sie versuchen die Module von Hand zu laden, wenn Sie die passenden Parameter herausgefunden haben, tragen Sie die entsprechenden Werte beispielsweise in die Datei /etc/modules ein.

Beachten Sie, daß Module nur mit den Zugriffsrechten des Superusers (root) geladen werden können. Laden Sie zunächst das Modul „isdn“, am einfachsten mit dem Kommando modprobe isdn. Überprüfen Sie mit dem Kommando lsmod, ob das Modul geladen wurde, hierbei wird Ihnen vielleicht auffallen, daß zusätzlich das Modul „slhc“ automatisch geladen wurde, vergessen Sie nicht, dieses später auch in Ihre Konfiguration aufzunehmen (in der Datei /etc/modules).

Sie können das Laden der Module auch in einem anderen Fenster, oder auf einer anderen Konsole, mit dem Kommando tail -f /var/log/syslog verfolgen, dies ist auch bei den weiteren Modulen und zur Fehlersuche sehr hilfreich. Für die Module „slhc“ und „isdn“ sollten Sie folgendes in diesem Logfile finden:

Mar  7 09:57:16 debian kernel: CSLIP: code copyright 1989 Regents of the University of California
Mar  7 09:57:16 debian kernel: ISDN subsystem Rev: 1.93/1.80/1.95/1.60/1.17/1.3 loaded
Dies war der einfachste Teil... etwas komplizierter ist das Laden des eigentlichen Treibers für Ihre ISDN-Karte. Für die (teuren) aktiven ISDN-Karten wie zum Beispiel die AVM B1 stehen eigene Treiber zur Verfügung, lesen Sie bitte in der Dokumentation nach, wie diese zu laden sind.

Für die weit verbreiteten passiven ISDN-Karten steht Ihnen das Modul hisax zur Verfügung. Diesem Modul müssen Sie über entsprechende Parameter unter anderem mitteilen, welche Karte Sie verwenden.

Beispielsweise können Sie eine ältere „Creatix“ oder „Teles“ ISDN-Karte für den ISA-Steckplatz Ihres Rechners mit folgenden Parametern einbinden: modprobe hisax type=1 protocol=2 io=0xf80 mem=0xd0000 irq=9. Für eine AVM Fritz PCI-Karte kommt folgende Zeile in Frage: modprobe hisax type=5 io=0x340 irq=10 protocol=2. Natürlich müssen Sie einen freien IRQ (Interrupt) wählen, die bereits benutzten IRQs finden Sie in der Datei /proc/interrupts. Weitere Parameter für die verschiedenen Karten entnehmen Sie der Dokumentation.

Wenn auch dieses Modul erfolgreich geladen wurde, sollten Sie in etwa folgende Einträge in der Datei /var/log/syslog finden:

Mar  7 10:49:12 debian kernel: HiSax: Linux Driver for passive ISDN cards
Mar  7 10:49:12 debian kernel: HiSax: Version 3.3c (module)
Mar  7 10:49:12 debian kernel: HiSax: Layer1 Revision 2.36
Mar  7 10:49:12 debian kernel: HiSax: Layer2 Revision 2.20
Mar  7 10:49:12 debian kernel: HiSax: TeiMgr Revision 2.13
Mar  7 10:49:12 debian kernel: HiSax: Layer3 Revision 2.10
Mar  7 10:49:12 debian kernel: HiSax: LinkLayer Revision 2.40
Mar  7 10:49:12 debian kernel: HiSax: Approval certification valid
Mar  7 10:49:12 debian kernel: HiSax: Approved with ELSA Quickstep series cards
Mar  7 10:49:12 debian kernel: HiSax: Approval registration numbers:
Mar  7 10:49:12 debian kernel: HiSax: German D133361J CETECOM ICT Services GmbH
Mar  7 10:49:12 debian kernel: HiSax: EU (D133362J) CETECOM ICT Services GmbH
Mar  7 10:49:12 debian kernel: HiSax: Approved with Eicon Technology Diva 2.01 PCI cards
Mar  7 10:49:12 debian kernel: HiSax: Total 1 card defined
Mar  7 10:49:12 debian kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
Mar  7 10:49:12 debian kernel: HiSax: Teles 8.0/16.0 driver Rev. 2.11
Mar  7 10:49:12 debian kernel: HiSax: Teles 16.0 config irq:9 mem:0xD0000 cfg:0xF80
Mar  7 10:49:12 debian kernel: Teles0: ISAC version (60): 2085 V2.3
Mar  7 10:49:12 debian kernel: Teles0: HSCX version A: V2.1  B: V2.1
Mar  7 10:49:12 debian kernel: Teles 16.0: IRQ 9 count 0
Mar  7 10:49:12 debian kernel: Teles 16.0: IRQ 9 count 5
Mar  7 10:49:12 debian kernel: HiSax: DSS1 Rev. 2.21
Mar  7 10:49:12 debian kernel: HiSax: 2 channels added
Mar  7 10:49:12 debian kernel: HiSax: MAX_WAITING_CALLS added
Nun müssen Sie nur noch einige Programme, die sich im Paket isdnutils befinden, installieren und einige Anpassungen an den Konfigurationsdateien vornehmen. Am einfachsten benutzen Sie hierzu wieder apt-get.

debian:/home/fr# apt-get install isdnutils
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
  isdnutils
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/1184kB of archives. After unpacking 2556kB will be used.
Selecting previously deselected package isdnutils.
(Reading database ... 5587 files and directories currently installed.)
Unpacking isdnutils (from .../net/isdnutils_3.0-17.deb) ...
Setting up isdnutils (3.0-17) ...
Starting isdn services :.
Nach der Installation werden die notwendigen Programme automatisch gestartet, wenn Sie das ISDN-System bereits einmal konfiguriert hatten, ist sofort alles funktionsfähig. Ansonsten müssen Sie jetzt einige Anpassungen vornehmen.

Bestandteil des Paketes isdnutils ist das Konfigurationsprogramm isdnconfig. Mit diesem können Sie die benötigten Konfigurationsdateien erzeugen (sie werden eigentlich nur an die passende Stelle kopiert...).

Isdnutils configuration
=======================

1	network devices
2	synchronous ppp daemon
3	modem emulation
4	isdnlog configuration
5	voice box configuration

Q	Quit

Your choice :1
Starten Sie nun isdnconfig, es werden im einfachsten Fall lediglich die ersten beiden Auswahlmöglichkeiten benötigt. Wenn Sie Funktionen wie Kanalbündelung, Modememulation oder einen Anrufbeantworter benötigen, lesen Sie bitte in der Dokumentation weiter.

Wählen Sie zunächst den Punkt „1“.

Isdnutils configuration network interfaces
======================= ------------------

Searching for existing configuration files...
Found : NONE


Devices should be named :
 - rawip interface		isdn0 isdn1 ...
 - synchronous ppp interface	ippp0 ippp1 ...

Name for new interface  : ippp0
Installed new config file /etc/isdn/device.ippp0 .
This file is only an example.
You have to edit this file for it to work.
Press [Enter]
Hinter dem ersten Menüpunkt können Sie die gewünschten Netzwerk-Interfaces aktivieren. Für den Anfang ist es völlig ausreichend lediglich das Device ippp0 zu benutzen. Beachten Sie den Hinweis, daß lediglich eine Beispieldatei installiert wurde, die Sie noch Ihren Bedürfnissen anpassen müssen. Doch dazu gleich mehr.

Isdnutils configuration synchronous ppp daemon
======================= ----------------------

Searching for existing configuration files...
Found :  ippp0


Normal setup :	one ipppd for all devices: /dev/ippp0 /dev/ippp1 ...
		All ippp* network interfaces are handled by a single ipppd
		process using a single config file.

Special setup :	one ipppd for each device: /dev/ippp0 /dev/ippp1 ...
		Each ippp* network interface is handled by its own ipppd
		process, using a specific config file for each.
		You need to use pppbind on each network interface to select
		which /dev/ippp* device will be used.

Usually only a single ippp interface is used (for connecting to an ISP), so
the above isn't really relevant to most users.

Name for new configuration (ippp0 ippp1 ...) : ippp0
Hinter dem zweiten Menüpunkt verbergen sich weitere Scripte für die verschiedenen Gerätedateien, auch hier ist es ausreichend, einen Eintrag für ippp0 vorzunehmen.

Verlassen Sie nun das Konfigurationsprogramm, alle notwendigen Dateien wurden unter /etc/isdn/ installiert und müssen nun noch angepaßt werden. Beginnen wir zunächst mit der Datei ipppd.ippp0, hier ist lediglich die vierte Zeile, welche mit echo ... “ beginnt, zu löschen, damit die Datei von den ISDN-Scripten akzeptiert wird:

#!/bin/sh

# REMOVE the next line once configuration is complete #########################
echo "Warning! $0 not configured yet! Aborting..."; exit 1
# REMOVE the above line once configuration is complete ########################
Die zu löschende Zeile ist deutlich in dem Script markiert.

Damit ist die Konfiguration dieser Datei abgeschlossen. Sie können sich natürlich noch die weiteren Einträge ansehen, in der Dokumentation finden Sie weitere Informationen zur Bedeutung der einzelnen Einträge.

Laden Sie nun die Datei device.ippp0 in einen Editor und entfernen Sie auch in dieser Datei die oben beschriebene Zeile.

In dieser zweiten Datei müssen Sie allerdings noch einige weitere Änderungen vornehmen, die wichtigsten Abschnitte sind in der Datei mit XXX_ markiert. Suchen Sie zunächst nach einer Zeile, die mit LOCALMSN beginnt. Ändern Sie die vorgegebene Nummer durch die Nummer, die Sie Ihrer ISDN-Karte zuweisen möchten. Setzen Sie vor die Nummer noch die Ortskennzahl (Vorwahl) ohne die führende 0, für Berlin also nicht 030, sondern nur 30.

Nach dem gleichen Muster verändern Sie den Eintrag REMOTEMSN durch die Einwahlnummer Ihres Providers.

LOCALMSN=30987654321
REMOTEMSN=30191011
Wenn Ihr Provider keine Authentifizierung per Telefonnummer unterstützt, lesen Sie bitte in der Dokumentation weiter.

Einen Blick sollten Sie noch auf den Eintrag DIALMODE etwas weiter unten in der Datei werfen. Der Standardwert ist hier auto, dies führt dazu, daß bei jedem Netzzugriff versucht wird, eine Verbindung zu Ihrem Internetprovider aufzubauen. Dies kann unter Umständen recht teuer werden, Sie können den Wert auch auf manual ändern, müssen dann allerdings den Verbindungsaufbau „freigeben“. Dies können Sie beispielsweise mit folgendem kleinen Script erledigen, welches als /bin/i gespeichert werden kann:

#!/bin/sh
case "$1" in
 start)
   /usr/sbin/isdnctrl dialmode ippp0 auto
   echo "ISDN on"
    ;;
 stop)
   /usr/sbin/isdnctrl dialmode ippp0 off
   echo "ISDN off"
    ;;
 *)
    echo "Usage: $0 {start|stop}"
    exit 1
    ;;
esac
exit 0
Achten Sie darauf, daß Script ausführbar zu machen, mit chmod +x /bin/i. Ein i start gibt nun die ISDN-Verbindung frei, nach einem i stop ist kein weiterer Verbindungsaufbau möglich. So können Sie sichergehen, daß kein wildgewordenes Programm oder eine Webseite, die sich selber immer wieder aktualisiert, Ihre Telefonkosten in die Höhe treibt.

Hiermit ist die Konfiguration abgeschlossen, Sie müssen nun lediglich das ISDN-Subsystem noch einmal neu starten, da sich die Konfiguration geändert hat:

debian:/etc/isdn# /etc/init.d/isdnutils stop
Stopping isdn services : interfaces.
debian:/etc/isdn# /etc/init.d/isdnutils start
Starting isdn services : interfaces.
Beachten Sie bitte, daß es notwendig ist, einen geeigneten Nameserver in die Datei /etc/resolv.conf einzutragen, da sonst keine Rechnernamen aufgelöst werden können. Wenn Sie dort noch keinen Eintrag vorgenommen haben, holen Sie dies jetzt nach. Sinnvolle Werte erfahren Sie bei Ihrem Provider. Über den Aufbau der Datei finden Sie weitere Informationen im Abschnitt über Netzwerke.

Sie können nun mit den Kommandos route und ifconfig überprüfen, ob die ISDN-Interfaces vorhanden sind:

debian:/etc/isdn# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.2        *               255.255.255.255 UH    0      0        0 ippp0
localnet        *               255.255.255.240 U     0      0        0 eth0
default         *               0.0.0.0         U     0      0        0 ippp0

debian:/etc/isdn# ifconfig
ippp0     Link encap:Point-to-Point Protocol
          inet addr:10.0.0.1  P-t-P:10.0.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:30
Eventuell werden Ihnen noch weitere Interfaces angezeigt, beispielsweise wenn noch eine weitere Netzwerkkarte im Rechner installiert ist.

Auf einer Konsole oder in einem Terminalfenster können Sie nun die Verbindung mit ping www.debian.org testen, Sie können aber auch einen Webbrowser starten und gleich eine Runde im Netz surfen...