S.u.S.E. Support-Datenbank

Titel: S.u.S.E. ISDN-HowTo

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel ---

S.u.S.E. ISDN-HowTo

Dieser Artikel ist komplett überarbeitet worden. Lesen Sie bitte den Artikel Quick-Install-Anleitung (s.u.) als Einstieg. Hier werden nur noch Besonderheiten und weitere Informationen beschrieben

S.u.S.E. Linux 5.0

Eine Quick-Install-Anleitung finden Sie:
  • Die Beschreibung richtet sich an alle, die eine Stand-Alone-Workstation über ISDN an einen Provider anbinden wollen. Gerade dann, wenn Sie noch ein lokales Netzwerk betreiben, sind ggf. Abweichungen zu beachten, z.B. wie in diesem Fall die Default-Route gesetzt werden soll. Zu empfehlen ist, das lokale Netzwerk zunächst zu ignorieren und die ensprechenden Dateien danach von Hand anzupassen.

    Momentan unterstütze Karten:

    HiSax-Treiber 2.1

    Hinweis: im unteren Text wird oft von Teles (z.B. bei den Variablen in /etc/rc.config) gesprochen. Dies ist historisch bedingt, da der Treiber am Anfang teles hieß und nur Teles-Karten unterstützte. Der neue verbesserte Treiber heißt HiSax und unterstützt fast alle Siemens basierten (ISAC_S 2085/2086/2186 HSCX SAB 82525) ISDN-Karten.

    ICN-Treiber

    B1-Treiber

    bekannte nicht ünterstützte Karten

    Die benötigten Treiber werden bei Bedarf (und nur dann) durch Module dynamisch zum Kernel gebunden. Stellen Sie sicher, daß die Module isdn und hisax vorhanden sind (Paket kernmod) oder generieren und installieren Sie diese. Für sync-PPP brauchen Sie auch das Modul slhc.

    Laden Sie die Treiber nicht direkt in den Kernel, sonder als Modul! Damit ersparen Sie sich nicht nur einige Anpassungen an den Scripten, sondern können auch wesentlich flexibler arbeiten, da Sie z.B. nicht das System neu Booten müssen, um die Karte anzusprechen.

    Welches Protokoll?

    Zwei verschiedene Protokolle werden bei ISDN-Netzverbindungen benutzt. Zum einen das bekannte PPP-Protokoll, allerdings in der synchronen Version (syncPPP), für das ein spezieller Daemon (ipppd) im i4l-Paket enthalten ist.

    Das andere ist rawip/HDLC, sozusagen ein Low-Level-Protokoll, das viele Eigenschaften von ISDN (Datensicherheit etc.) ausnutzt und daher wenig Overhaed hat.

    Welches man benutzen muß, hängt natürlich vom Provider ab, in den meisten Fäller wird nur syncPPP angeboten.

    Dennoch gibt es einige Provider (z.B. in Österreich), die auch über ISDN nur synchrones PPP anbieten. Siehe in der Support-DB unter asynchrones PPP über ISDN.

    Wenn man wählen kann, ist rawip/HDLC das einfachere Protokoll und IMHO zu empfehlen. Einige Eigenschaften kurz augelistet:

    Das Prinzip - dial on demand

    Im Gegensatz zu Modemverbindungen muß kein spezielles Kommando gestartet werden, um eine Verbindung zu initiieren. Ist das Netzwerk gestartet (init 2, s.u.), kann jederzeit eine Verbindung zum Partner durch normale Aktivitäten wie telnet, WWW ftp etc. hergestellt werden. Erst dann wird die Wählverbindung aufgebaut, was in etwa 2-3 Sekunden dauert. Das ermöglicht auch nicht Root-Usern eine Verbindung zu starten. Durch I4L_IDLETIME kann eingestellt werden, wieviele Sekunden die Verbindung inaktiv sein soll, bevor aufgelegt wird. Dabei kann man bequem eingeloggt bleiben, ohne daß Programme abgebrochen werden, beim Betätigen einer Taste, ist man sofort wieder online. Bleiben Sie aber niemals längere Zeit eingeloggt, da ansonsten von der Gegenstelle ev. eine Verbindung aufgebaut wird.

    Achtung: Kontrollieren sie Ihre Konfiguration, ob aufgelegt wird und wann Verbindungen aufgebaut werden. Man kann leicht, ohne es zu merken, über Tage online sein. Schließlich hört oder sieht man ja kein Wählen wie beim guten alten Modem. (Dies ist uns aber schon lange nicht mehr vorgekommen...)

  • Hinweise zur IRQ-Auswahl:

    Prüfen Sie mit cat /proc/interrupts, welche IRQ´s frei bzw. belegt sind. Die erste Spalte gibt die verwendeten IRQ´s an.

    In den meisten Fällen ist das mitgeliefert DOS/Win-Programm mit dem Rückruftest ein zuverlässiger Test, aber IRQ 12 und 15 sind bei vielen Mainboards (586, PCI, 2. IDE-Adapter) nicht möglich.

    Installation PnP-Karten

    Bei Plug & Pray -Karten ist zu beachten, daß es keine vollautomatische Unterstützung gibt. Im Paket isapnp sind zwei Programme, die die Konfiguration der Karte vornehmen, bevor durch das Modul auf die Karte zugegriffen werden kann. In Kurzform geht das so:
    1. Starten Sie das Programm pnpdump, hier sollten Ihre PnP-Karten erkannt werden.
    2. Starten Sie das Programm pnpdump nochmals, um eine Konfigurationsdatei zu erstellen:
      pnpdump > /etc/isapnp.conf
      
    3. Editieren Sie /etc/isapnp.conf. Für jede Karte wird ein längerer Block angegeben, hier interessiert erst mal nur die ISDN-Karte. Es werden hier verschiedene mögliche Hardwareeinstellungen vorgeschlagen. Entscheiden Sie sich für eine und kommentieren Sie die entsprechenden Zeilen aus.
    4. Konfigurieren Sie jetzt die Karte mit
      isapnp /etc/isapnp.conf
      
      An der Ausgabe können Sie erkennen, ob dies funktioniert hat.
    5. Wenn es eine Datei /etc/isapnp.conf gibt, wird die Konfiguration bei jedem Systemstart durch /sbin/init.d/pnp durchgeführt.
    Weitere Infos zu isapnp finden Sie unter file://localhost/usr/doc/packages/isapnp/README.SuSE

    Aktive ISDN-Karten (ICN-2B, ICN-4B, AVM-B1)

    Firmware-Files

    Aktive Karten benötigen eine Firmware (die Software, durch die Karte selbst den S0-Bus betreibt). Diese Firmware wird durch das Betriebsystem auf die Karte runtergeladen.

    Für oben genannte Karten sind die benötigten Firmware-Files im Paket i4lfirm (Serie n) enthalten (mit freundlicher Genehmigung von Thinking Objects und AVM) und werden in /usr/lib/isdn installiert.

    Das Init-Script lädt diese Firmware automatisch auf die Karte (entsprechend der Angaben in /etc/rc.config).

    Hardware Konfiguration

    Setzen Sie die Variablen mit dem Präfix I4L_ICN_ bzw. I4L_USE_B1_ und I4L_B1_ entsprechend den Kommentaren.

    Starten Sie danach genauso wie beim HiSax-Treiber /sbin/init.d/i4l_hardware start (oder Runlevelwechsel) und überwachen Sie /var/log/messages.

    Unterschiede zum HiSax-Treiber im Handling

    Fast die gesamte Beschreibung bezieht sich auf den HiSax-Treiber. Die Unterschiede sind aber relativ gering, da dem i4l-Subsystem ein gutes Schichtenmodell zugrunde liegt.

    Nachdem der Hardwaretreiber geladen ist (HiSax, icn, b1-capi) verhält sich isdn4linux immer gleich.

    Ausnahme:

    Und wie beende ich die ISDN-Verbindung?

    Die Verbindung wird automatisch nach der vorgegeben Zeit abgebaut. S.u. für einige Tools, die das überwachen. Die sicherste Methode ist das ISDN-System herunterzufahren, bei S.u.S.E. Linux mit:
    /sbin/init.d/i4l stop
    /sbin/init.d/i4l_hardware stop
    
    Ein sofortiges Auflegen können Sie bei rawip auch mit
    	/sbin/isdnctrl hangup isdn0
    
    bei PPP mit
    	/sbin/isdnctrl hangup ippp0
    
    erreichen.

    PPP-Verbindung

    Bei PPP wird zumeist mit dynamischen IP-Nummern gearbeitet, d.h. die Nummern werden erst vergeben, sobald eine Verbindung aufgebaut wird.

    Wie aber wird das Netzwerk konfiguriert (ifconfig), wenn die Nummern nicht bekannt sind? Die echten IP-Nummer werden vom ipppd eingetragen, wenn die Verbindung erfolgreich aufgebaut wurde.

    Tragen Sie entweder als lokale IP-Nummer 192.168.0.1 ein oder eine Nummer aus dem Bereich, der vom Server zugewiesen wird. Die IP-Nummer für den Server ist dagegen beliebig.

    Verwenden Sie nicht 0.0.0.0!

    Bei festen IP-Nummern tragen Sie natürlich die bekannten Nummern ein.

    Folgende Auszüge definieren eine syncPPP Verbindung zu Eunet (Nürnberg) mit dynamische IP-Nummernvergabe im Subnetz 193.102.150.0, Gateway 193.102.150.13 und dem Nameserver 192.76.144.66.

    /etc/rc.config:

    NETDEV_0=ippp0 IFCONFIG_0="192.168.0.1 pointopoint 1.1.1.1 metric 1" I4L_REMOTE_OUT1_0=52145922 I4L_LOCALMSN_0=776691 I4L_ENCAP_0="syncppp" SEARCHLIST=eunet.de NAMESERVER=192.76.144.66 /etc/route.conf: # syncPPP mit dyn. IP-Nummer an Gateway 193.102.150.13 # zuerst wird eine Hostroute auf das Gateway, dann die Default- # route ebenfalls auf das Getway gesetzt 193.102.150.13 0.0.0.0 255.255.255.255 ippp0 default 193.102.150.13

    Mögliche Probleme bei PPP

    PPP-Server

    Speziell für Server ist folgende Möglichkeit gedacht. Wenn es eine Datei /etc/ppp/options.ippp0 (oder ippp1 etc.) gibt, wird der ipppd mit der Kommandozeile:
    /sbin/ipppd file /etc/ppp/options.ippp0
    
    gestartet. Ansonsten nur mit dem Netzdevice. Auf diese Weise kann man pro Device eine eigene Konfiguration ablegen.

    Die Standard-Optionsdatei ist /etc/ppp/ioptions. Diese Datei muss immer vorhanden sein, wenn auch leer.

    Matthias Mohr (SysDesign@T-Online.DE) berichtet, daß zusätzlich in der Datei /etc/ppp/options folgende Optionen zu setzen sind.

    +pap login # pap ueber System-Userdatenbank (/etc/passwd & /etc/shadow) proxyarp # Address-Resolution zur Netzwerkkarte hin usehostname dns-addr 192.168.0.1 # Setze Nameserver fuer Clients Mit den Clients wird dann PAP-Authentication gemacht. Die Option dns-addr ist nur nötig bei MS-Clients, denen hiermit der Nameserver mitgetielt wird (natürlich anpassen).

    Wenn das Keyword login nicht angegeben wird, wird die Datei /etc/ppp/pap-secrets gelesen.

    Eigenen Kernel generieren

    Der HiSax-Treiber ist momentan (bis 2.0.30) nicht offizieller Bestandteil des Kernels. Es gibt einen separaten Patch auf ftp://ftp.franken.de/pub/isdn4linux/HiSax Auf der S.u.S.E.-Linux 5.0 gibt es zwei verschiedene Pakete für die User-Kernelquellen:
    1. Der offizielle, Paket: linux
    2. Der von S.u.S.E. erweiterte, Paket: lx-suse. Dieser beiinhaltet schon den HiSax-Treiber!
    Ab 2.0.31 ist der HiSax-Treiber fester Bestandteil des Kernels.

    Mit Modulsupport

    Die folgenden Parameter sind relevant und sollten mindestens gesetzt sein, neben dem Hisax-Treiber können auch zusätzlich die anderen Treiber als Module generiert werden. Enable loadable module support (CONFIG_MODULES) [Y/n/?] Set version information on all symbols for modules (CONFIG_MODVERSIONS) [N/y/?] Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [Y/n/?] Networking support (CONFIG_NET) [Y/n/?] System V IPC (CONFIG_SYSVIPC) [Y/n/?] Loopback device support (CONFIG_BLK_DEV_LOOP) [Y/m/n/?] TCP/IP networking (CONFIG_INET) [Y/n/?] IP: accounting (CONFIG_IP_ACCT) [Y/n/?] Network device support (CONFIG_NETDEVICES) [Y/n/?] Dummy net driver support (CONFIG_DUMMY) [M/n/y/?] ISDN support (CONFIG_ISDN) [M/n/y/?] Support synchronous PPP (CONFIG_ISDN_PPP) [Y/n/?] Use VJ-compression with synchronous PPP (CONFIG_ISDN_PPP_VJ) [Y/n/?] Support audio via ISDN (CONFIG_ISDN_AUDIO) [N/y/?] ICN 2B and 4B support (CONFIG_ISDN_DRV_ICN) [M/m/?] PCBIT-D support (CONFIG_ISDN_DRV_PCBIT) [N/m/?] Teles/NICCY1016PC/Creatix support (CONFIG_ISDN_DRV_TELES) [N/m/y/?] HiSax SiemensChipSet driver support [M/y/n/?] HiSax Support for Teles 16.0/8.0 [Y/n/?] HiSax Support for Teles 16.3 or PNP [Y/n/?] HiSax Support for AVM A1 (Fritz) [Y/n/?] HiSax Support for Elsa ML PCC16/PCC8 [Y/n/?] (u.s.w.) HiSax Support for EURO/DSS1 [Y/n/?] HiSax Support for german 1TR6 [Y/n/?] Hinweis: Es muß mindestens ein ISDN-Protokoll (EURO/DSS1 oder german 1TR6) ausgewählt sein!

    Bei dem HiSax-Treiber können natürlich die nicht erforderlichen Kartentypen und das unnötige ISDN-Protokoll rausgelassen werden.

    Generieren und installieren Sie den Kernel normal und zusätzlich die Module:

    	make modules
    	make modules_install
    

    ohne Module - Treiber im Kernel

    Es sei nochmals darauf hingewiesen, daß sich mit Modulen wesentlich einfacher arbeiten läßt, und nur dieses Variante getestet ist, wer es aber dennoch anders braucht: Setzen Sie die oben angegebenen Parameter auf Y anstatt M. Sie sollten in diesem Fall nur die Treiber angeben, die tatsächlich vorhanden sind.

    In diesem Fall müssen jetzt alle Parameter für die Karte schon beim Compilieren definiert werden oder als Kernelparameter beim Booten angegeben werden.

    Beachten Sie, daß einige Werte in /etc/rc.config anders gesetzt werden müssen, siehe Kommentare in /etc/rc.config.

    Ansonsten läuft alles wie oben beschrieben, achten Sie aber beim Booten darauf, daß Ihre Karte erkannt wird, siehe /var/log/boot.msg.

    Tools

    1. chkonline
      Praktisch für Shell-Scripte, da man ja sonst nicht mit ping prüfen kann, ob momentan eine Verbindung besteht. Als Argument wird die Nummer (oder der Anfang davon) übergeben, wovon man wissen will, ob eine Verbindung besteht. Rückgabewert 1 bedeutet Offline, 0 Online.
    2. imon
      ISDN-Monitor. Sehr gut, da es nicht so viel CPU verbraucht wie andere Tools. Zeigt immer aktuell in einem Textfenster den aktuellen Status. Start: 'imon'
    3. imontty
      Wie 'imon', aber zeigt nur einmalig den Status.
    4. isdnmon
      Tcl/Tk-Programm, das (was sonst ;-) ständig den Status unter X anzeigt. Vorteil: kleines Fenster und sieht schön aus.
      Nachteil: verbraucht mehr CPU und Speicher. (Kennt jemand ein weniger anspruchsvolles Programm?) An den Farben läßt sich erkennen:
      • grün: keine Verbindung
      • gelb: Verbindung wird aufgebaut oder eingehende Verbindung (kein Geld)
      • rot: Ausgehende Verbindung (kostet Geld)

      Start: 'isdnmon'

    5. isdnmonp
      Eine gepatchte Version von isdnmon. Es werden weniger Widgets angezeigt. Wichtiger aber: Es wird mit dem select-Befehl von wishx gearbeitet, sodaß nur minimale CPU-Zeit verbraucht wird. Nachteil: der X-Refresch ist langsamer, aber das sollte niemanden stören, der nur an Informationen interessiert ist.

      Start: 'isdnmonp'

    6. xisdnload
      Ein Abkömmling von xload. Es wird ständig die Durchsatzrate über die ISDN-Leitung sowie die Nummer angezeigt. Man kann auch sehr gut sehen, ob man gerade Online ist.
      Bug: wenn nur versucht wird eine Verbindung aufzubauen, kann man das hier nicht unterscheiden (im Gegensatz zu isdnmon(p) ).
    7. isdnrep
      Der komplette Report, Wer hat Wann Wen und Warum angerufen. Eingehende Anrufer können, sofern ISDN, ebenfalls aufgelistet werden. Daher lohnt es sich, die bekannten Nummern in /etc/isdnlog/isdnlog.conf einzutragen, damit die Anrufer mit Namen aufgelistet werden.
      Ausgehende Anrufe können (außer über die ISDN-Karte natürlich) leider nicht gezeigt werden, da hier keine Information darüber über den S0-Bus zur Verfügung gestellt wird (bzw. von der Karte gelesen wird).
      Start: 'isdnrep' oder 'isdnrep -a'
      Hinweis: isdnrep wertet nur die /var/log/isdn.log aus, die von isdnlog geschrieben wird. Prüfen Sie, ob isdnlog wirklich läuft, wenn nicht, passt die /etc/isdn/isdn.conf nicht.
    8. xosview
      Tragen Sie in '/usr/X11R6/lib/X11/app-defaults/XOsview' ein:
      	xosview*network:          8000
      
      Damit zeigt xosview bei 100% die volle Auslastung an.
      Vor.: Das Paket 'ipfwadm' muss installiert sein und der Kernel muss IP-Accounting (CONFIG_IP_ACCT=y) unterstützen.
    9. Telefonnummernvorschau
      Dies ist kein eigentliches Programm, sondern ein Feature vom isdnlog: Auch wenn Sie kein ISDN-Telefon haben, sondern Analog-Modems an einer TK-Anlage, können Sie, bevor Sie das Telefonat entgegennehmen, die Telefonnummer sehen, die Sie gerade anruft. Diese Daten werden vom isdnlog in /var/log/messages gespeichert. Lassen Sie z.B auf einer Konsole oder im xterm ein tail -f /var/log/messages mitlaufen (dies ist sowieso zu empfehlen).

    weitere Dokumentation

    ISDN als Modememulation

    ISDN4Linux hat eine eingebaute Modememulation, hiermit können Sie ISDN-Mailboxen anwählen und die Schnittstelle mit normalen Modembefehlen steuern. Es können keine Analogmodems angerufen werden!

    Als Device verwenden Sie statt /dev/modem jetzt /dev/ttyI0 (bzw. ttyI1 ... ttyI64). Als Initialisierungs-String verwenden Sie: ATZ&E123, wobei 123 die eigene MSN, also Telefon-Nr. ist.

    Es gibt hier zwei mögliche Protokolle, die gefahren werden können: HDLC und X.75. Per Default ist X.75 eingestellt. Informieren Sie sich, was die Gegenstelle erwartet, da es dort sonst zu Konfusionen kommen kann (ich glaube, der HiSax-Treiber macht das jetzt richtig.) Das Protokoll kann umgestellt werden mit:

    Siehe /usr/src/linux/Documentation/isdn/README.

    Tip: Setzen Sie in /etc/rc.config die Variable I4L_IPROFD="yes". Dieser Daemon speichert mittels AT&W0 die aktuelle Konfiguration in /etc/isdnlog/modemsettings und stellt sie beim nächsten Start automatisch wieder her.

    Linux als Terminalserver mit mgetty

    Editieren Sie die Datei /usr/etc/mgetty+sendfax/megtty.config, tragen Sie ein Device ttyI0 (oder irgendein anderes Device) ein: port ttyI0 debug 8 init-chat "" \d\d\d+++\d\d\dATZ OK ATS14=0&E776691&B512 OK modem-type data Hier ist X.75 und die eigene MSN 776691 eingestellt.

    In der /etc/inittab tragen Sie ein:

    mo:23:respawn:/usr/sbin/mgetty -s 38400 ttyI0
    
    Mit init q machen Sie die Änderungen in der Inittab wirksam, d.h. jetzt soll der mgetty laufen. In /tmp/log_mg.ttyI0 sehen Sie das Protokoll.

    Wie oben beschrieben können Sie sich jetzt selbst anrufen, das macht zwar kein Sinn und kostet Geld, ist aber ein guter Test.

    FAQ

    Getestete Varianten:

    Für Nicht-S.u.S.E.-Linux Benutzer

    Selbstverständlich können Sie das beschriebene Verfahren auch benutzen, wenn Sie eine andere Distribution installiert haben.

    Die Datei /etc/rc.config legen Sie einfach von Hand an und tragen die Werte wie oben beschrieben ein. Diese Datei ist im S.u.S.E. System die zentrale Konfigurationsdatei aller init-Skripte. Vorteil: Parameter (Telefon-Nr., IP-Nummer etc.) und allgemeingültige Programme sind voneinander getrennt, sie brauchen nur diese eine Datei zu sichern.

    Hinweis über die verwendeten Programme:

    Aktuell benutzte Programme: Sie können sich das original S.u.S.E. i4l-Paket auch direkt vom Netz besorgen, Paket: i4l.tgz, ftp://ftp.gwdg.de/pub/linux/install/suse/.

    Die verwendeten Init-Scripte finden Sie auf unserem Web-Server unter http://www.suse.de/Support/sdb/isdn_netscripts.html

    ---

    Siehe auch:

    ---

    Stichwörter: ISDN, HOWTO, FRITZ, HISAX, PPP, HDLC, RAWIP, MGETTY, EUNET

    ---

    Kategorien: Dokumentation

    ---

    Feedback willkommen: Send Mail to Klaus.Franken@suse.de (Geben Sie bitte folgendes Stichwort an: SDB-isdn)

    ---

    Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel ---

    SDB-isdn, Copyright S.u.S.E. GmbH, Fürth, Germany - Version: 24.06.97
    Impressum - Last generated: 17. Sep 1997 12:31:32 by ro with sdb_gen 0.70.0