<!doctype linuxdoc system>

<article>

<title>ISDN4LINUX - FAQ (deutsche Version)

<author>Uebersetzer: Wolfgang Bornath (<tt><htmlurl url="mailto:i4lfaq-de@wolf-b.de" name="i4lfaq-de@wolf-b.de"></tt>)
<date>Uebersetzung:v2.0.27-1, 5. Februar 2000
<abstract>
</abstract>
<!-- Table of Content 
-->

<toc>

<sect> pro: Vorbemerkungen
<label id="pro">


<sect1> pro_matt: Vorwort zur Originalversion 
<label id="pro_matt">
<p>
Vom Autor <bf>Matthias Hessler</bf> (<tt><<htmlurl url="mailto:hessler@isdn4linux.de" name="hessler@isdn4linux.de"></tt>)

Anstatt diese FAQ online zu lesen solltest Du Dir ueberlegen, das ganze
Dokument auf Deinen Rechner zu laden und offline zu lesen (ist viel
billiger). Die aktuelle downloadbare Version im TXT/HTML/SGML-Format
findest Du auf der Homepage der FAQ: <url url="http://www.mhessler.de/i4lfaq.html">.

Diese FAQ beantwortet Fragen, die immer wieder in der Newsgroup
de.alt.comm.isdn4linux gestellt werden. Sie enthaelt Themen zum Gebrauch
von ISDN4LINUX, ueber die jeder User etwas wissen sollte, ebenso wie Tips
zum besseren Nutzen der Features von ISDN4LINUX.

Diese Version 2 der FAQ entstand aus einer frueheren, jetzt ueberholten
Version. Informationen ueber aeltere Versionen von ISDN4LINUX (1997 und
aelter) findest Du in der FAQ Version 1.3.4.

Zum Format dieser FAQ: Grundlage dieser FAQ ist die I4L Mailingliste
(siehe Frage <ref id="docu_mailinglist" name="docu_mailinglist">). Ich
behandele die Kenntnisse und Loesungen aus dieser Mailingliste als Public
Domain, ohne den Autor der Original-Mail anzufuehren. Die FAQ wird jetzt
in SGML erstellt, da dieses Format die Konvertierung in beliebige andere
Formen der Dokumentation erleichtert (obwohl es da ein paar
Einschraenkungen gibt). Die FAQ wird im Original in englischer Sprache
gefuehrt, da die deutsch-sprachigen User die Mailingliste/Newsgroup
leichter verfolgen oder in deren Archiven suchen koennen.

Die unzaehligen Links in diesen Seiten sind nicht immer vollstaendig und
sicherlich sind einige davon nicht mehr intakt. Ich habe leider nicht
die Zeit, alle zu ueberpruefen. Lass es mich bitte wissen, wenn Du einen
defekten Link entdeckst (wenn ich Zeit dazu habe werde ich eine
automatische Linkkontrolle installieren).

Zusaetze, Verbesserungen und andere Vorschlaege (inklusive Uebersetzungen in
andere Sprachen) sind immer willkommen (auch Verbesserung von
Rechtschreibfehlern!), vorzugsweise als "diff" der SGML Version. Vielen Dank
im Voraus! 

Bitte sende alle Mail zur Originalversion dieser FAQ an:
<tt><htmlurl url="mailto:i4lfaq@isdn4linux.de"
	     name="i4lfaq@isdn4linux.de"></tt>
oder:
<tt><htmlurl url="mailto:hessler@isdn4linux.de"
	     name="hessler@isdn4linux.de"></tt>.

Die neueste Version dieser FAQ findest Du unter:
<tt><url url="http://www.mhessler.de/i4lfaq.html"></tt>
oder:
<tt><url url="http://www.isdn4linux.de/faq/"></tt>.


Diese FAQ unterliegt der GNU General Public License (GPL) Version 2; (C)
1999 Matthias Hessler (fuer Version 2.0). Die Weitergabe unter den
Bedingungen der GPL wird begruesst. Wir uebernehmen jedoch KEINE
GARANTIEN fuer die hier enthaltenen Informationen. Zur weiteren
Information lies bitte die GNU General Public License. Bei der Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA ist
eine gedruckte Ausgabe erhaeltlich, eine elektronische Version bekommst
Du vom Autor der Originalversion dieser FAQ.


<sect1> pro_wobo: Vorwort zur deutschen Uebersetzung
<label id="pro_wobo">
<p>
Vom Uebersetzer <bf>Wolfgang Bornath</bf> (<tt><htmlurl url="mailto:i4lfaq-de@wolf-b.de" name="i4lfaq-de@wolf-b.de"></tt>)

Dies ist nun die lang erwartete deutsche Version von Matthias
Hessler's FAQ fuer ISDN4LINUX. Es hat lange gedauert, bis diese erste
Version ihren Weg in das Internet fand. Aber da nun der erste Schritt
gemacht wurde, werden weitere Angleichungen an den Stand der
englischen Version schneller folgen.

Die Versionsbezeichnung richtet sich nach dem Original. Bei der
deutschen Version 2.0.27-1 handelt es sich also um die erste
Uebersetzungsversion der Originalversion 2.0.27. Auf diese Art wird es
dem interessierten Leser leicht gemacht, zwischen der deutschen und
der englischen Ausgabe zu vergleichen.

Da die hier verwendeten Fachausdruecke in allen HOWTOs und
Readmes, etc. immer wieder verwendet werden, habe ich sie nicht
"eingedeutscht". Eine Erklaerung der meisten Begriffe findest Du im
<ref id="glossary" name="Glossar">. 

Einige Erklaerungen und Fakten erscheinen heute etwas ueberholt. Das
liegt an dem (ebenfalls) heute etwas ueberholten Original und wird sich
mit den bald kommenden Versionen aendern.

Mein wichtigstes Hilfsmittel bei dieser Uebersetzung war (au&szlig;er meiner
Linuxbox mit Linux-Mandrake 6.1/7.0) Gerhard Sittig (<tt><htmlurl
url="mailto:Gerhard.Sittig@gmx.net" name="<Gerhard.Sittig@gmx.net>"></tt>), der fuer die erstklassige Rechtschreibung sorgte und mir auch ueber manche sachliche
Verstaendnishuerde hinweg half. Danke Gerhard!

Die neueste deutsche Version dieser FAQ findest Du unter:
<tt><url url="http://www.wolf-b.de/i4l/i4lfaq-de.html"></tt>

Alle Mails zur deutschen Version sende bitte an:
<tt><htmlurl url="mailto:i4lfaq-de@isdn4linux.de" name="i4lfaq-de@isdn4linux.de"></tt>.  


<!-- General Section: About isdn4linux, features
-->

<sect> general: Allgemeine Informationen ueber ISDN4LINUX  
<label id="general">

<sect1> general_i4l: Was ist ISDN4LINUX?  
<label id="general_i4l">
<p>
ISDN4LINUX ist ein Paket von Kernelmodulen, die im Linux-Kernel
enthalten sind. Es besteht aus dem Hauptmodul <tt/isdn/ und dem
eigentlichen Hardware-Treiber fuer die jeweilige Karte.  Zusaetzlich gibt
es noch das Paket <tt/isdn4k-utils/ mit den notwendigen Werkzeugen, um die
ISDN-spezifischen Eigenschaften benutzen zu koennen.

<sect1> general_hardware: Welche Hardware wird von ISDN4LINUX unterstuetzt?  
<label id="general_hardware">
<p>
Im Allgemeinen unterstuetzt ISDN4LINUX sowohl ISDN-Karten fuer den ISA-
oder PCI-Bus als auch einige PCMCIA-Karten. Sogenannte 'Terminal
Adapter', d.h., Geraete am seriellen oder parallelen Port koennen mit
ISDN4LINUX jedoch <bf/nicht/ benutzt werden. Weitere Details ueber
unterstuetzte Karten findest Du in dem Abschnitt <ref id="hardware"
name="Hardware">.

<sect1> general_features: Welche Leistungsmerkmale unterstuetzt ISDN4LINUX?  
<label id="general_features">
<p>
Grundsaetzlich kann ISDN4LINUX Daten via ISDN auf verschiedene Art und
Weise senden und empfangen (X.75, HDLC, raw ip, synchronous ppp,
asynchronous ppp, V.110). Einige der Werkzeuge bieten zusaetzliche
Features an. <tt/isdnlog/ z.B., mit dem ISDN Ereignisse dokumentiert
werden und das es erlaubt, auf diese Ereignisse zu reagieren (inklusive
Gebuehrenermittlung); und <tt/vbox/, ein
Anrufbeantworter-Programm. Weitere Details findest Du im Abschnitt <ref
id="feature" name="feature">.

<sect1> general_countries: In welchen Laendern funktioniert ISDN4LINUX?  
<label id="general_countries">
<p>
Zumindest in allen Laendern, in denen Euro-ISDN benutzt wird. Es gibt
jedoch einige Besonderheiten. In dem Abschnitt <ref id="countries"
name="countries"> findest Du mehr Infos ueber Dein Land.

<sect1> general_docu: Wo finde ich weitere Dokumentationen, HOW-TOs und hilfreiche Tips &amp; Tricks?
<label id="general_docu">
<p>
Neben dieser FAQ solltest Du Dir die verschiedenen Man-Seiten und
READMEs des ISDN4LINUX-Paketes anschauen. Dann gibt es noch die Website
von ISDN4LINUX: <url url="http://www.isdn4linux.de">. Zusaetzlich
existiert eine Newsgroup und eine Mailingliste zu ISDN4LINUX, die Dir
die neuesten Informationen vermitteln. Weiter Informationen ueber diese
guten Quellen findest Du im Abschnitt <ref id="docu" name="docu">.

<sect1> general_getlatest: Wo bekomme ich die aktuelle Version von ISDN4LINUX?  
<label id="general_getlatest">
<p>
Die aktuelle Version der Kernel-Treiber sollte im Linuxkernel enthalten
sein. Manchmal ist das jedoch nicht der Fall oder der aktuelle Kernel
unterstuetzt Deine ISDN-Karte noch nicht. Zusaetzlich benoetigst Du
eventuell das Paket isdn4k-util. In diesen Faellen kannst Du die
allerneueste, gerade in Entwicklung befindliche Version
ausprobieren. Siehe Abschnitt <ref id="distrib" name="distrib">.

<sect1> general_contacts: Wie bekomme ich Kontakt zu den Entwicklern?  
<label id="general_contacts">
<p>
Durch die Website www.isdn4linux.de auf <url
url="http://www.isdn4linux.de/contacts.php3">.
</sect>

<!-- Development & Distribution -->

<sect> distrib: Distribution  
<label id="distrib">

<!-- Who are the developers? -->  

<sect1> distrib_getlatest: Wie bekomme ich das neueste ISDN4LINUX?  
<label id="distrib_getlatest">
<p>
Es gibt verschiedene Wege, abhaengig von Deinem Kernel. Du solltest einen
aktuellen Kernel benutzen (= erste Option), es sei denn, Du bist ein
erfahrener Linux-User.
<itemize>
<item>Du hast einen aktuellen Kernel (zumindest 2.0.36/2.2.11/2.3.14):
Gute Wahl, Du hast bereits die aktuelle Version von ISDN4LINUX, was den
Kernel angeht. Zusaetzlich benoetigst Du nur noch das aktuelle Paket
isdn4k-utils von <url
url="ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/"> - wenn es nicht
schon in Deiner Distribution enthalten ist.

<item>Du hast einen aelteren Kernel (vor 2.0.36/2.2.11/2.3.14): Du
solltest auf einen aktuellen Kernel umsteigen. Ein Aktualisieren des
Kernels ist VIEL leichter als der Versuch, ISDN mit Deinem alten Kernel
zum Arbeiten zu ueberreden. Nun gut, wenn Du trotzdem Deinen alten Kernel
behalten willst, so wird's gemacht: Zuerst musst Du den richtigen
CVS-Auszug fuer Deine Kernelversion bestimmen (CVS ist das von den
ISDN-Entwicklern benutzte System zur Versionsverwaltung). Benutze einen
CVS-Snapshot mit dem ungefaehren Datum der Entstehung Deines Kernels. Du
findest die Kernel-Patches und die alten isdn4k-utils Pakete auf <url
url="ftp://ftp.isdn4linux.de/pub/isdn4linux/"> oder auf einem der
Spiegel-Server (<url url="http://www.isdn4linux.de/download.php3"> zeigt
Dir, wie Du die Spiegelserver findest).

<item>Als Entwickler: Wenn Du an der Entwicklung von I4L teilhaben
willst, kannst Du Dir die neueste Version via CVS besorgen. Dabei hilft
Dir die Frage zum Zugang zu CVS: <ref id="distrib_cvs"
name="distrib_cvs">.
</itemize>


<sect1> distrib_cvs: Wie erhalte ich Zugang zu den Quellen der aktuellen Entwicklung / Worum geht es bei dem CVS Baum?
<label id="distrib_cvs">
<p>
CVS - Concurrent Version System:

Das ist eine Multiuser/Server-Erweiterung des RCS (Revision Control
System). Die I4L-Treiber werden unter dem CVS entwickelt und es gibt
einen Server (cvs.isdn4linux.de) mit einem CVS-Verzeichnisbaum, auf den
alle Entwickler zugreifen koennen. Zusaetzlich hat Fritz einen anonymen
Nur-Lese-Zugriff auf den CVS-Baum eingerichtet. Wenn Du die allerneueste
Version brauchst, bekommst Du sie hier. Sie kann allerdings mehr Fehler
enthalten als die offiziell herausgegebenen Versionen!!!

So bekommst Du die neueste Version:
<enum>
<item>Erstelle ein Verzeichnis fuer I4L und wechsle dorthin 
<code>
mkdir ~/cvs 
cd ~/cvs 
cvs -d :pserver:guest@cvs.isdn4linux.de:/i4ldev login
</code> 
<item>Login (die Frage nach dem Password beantworte mit <em>readonly</em>) 
<item>Hol Dir die ISDN Kerneltreiber (in der gleichen Hierarchie wie in den
Linux Quellen) 
<code>
cvs -d:pserver:guest@cvs.isdn4linux.de:/i4ldev checkout isdn
</code>  
<item>Hol Dir das Utility-Paket und speichere es im aktuellen Verzeichnis
<code>
cvs -d :pserver:guest@cvs.isdn4linux.de:/i4ldev checkout isdn4k-utils
</code> 
Wenn Du die neueste Version fuer Kernel 2.0.x und nicht fuer den neuesten Kernel
brauchst, musst Du die Option `-r' setzen:
<code>
cvs -d :pserver:guest@cvs.isdn4linux.de:/i4ldev checkout -r isdn4kernel_2_0 isdn
</code> 
<item>Nach dem Auschecken koennen weitere Updates durchgefuehrt werden, indem
man erst in das Verzeichnis <tt>isdn</tt> oder <tt>isdn4k-utils</tt> wechselt
und dann eingibt:
<code>
cvs update -P -d
</code> 
Tip: Du brauchst beim Update keinen neuen Login durchzufuehren, da CVS das
Passwort beim ersten Login speichert. 
</enum>

WARNUNG!! DER NEUESTE CODE KANN SEHR UNSTABIL SEIN UND SICH VIELLEICHT
NICHT EINMAL OHNE PROGRAMMIER-KENNTNISSE KOMPILIEREN LASSEN - Also BITTE
dazu keine Anfaengerfragen!

Leute, die bei der Entwicklung von ISDN4LINUX <bf>kontinuierlich</bf>
durch das Erstellen von neuen Treibern oder aehnlich helfen wollen,
koennen einen Account mit vollem Zugriff bekommen. Dazu schicke bitte
eine Mail an Fritz Elfert <tt><htmlurl url="mailto:fritz@isdn4linux.de"
name="fritz@isdn4linux.de"></tt>


<!-- Features
-->

<sect> Leistungsmerkmale
<label id="feature">

<sect1> feature_not: Welche Leistungsmerkmale von ISDN werden nicht von ISDN4LINUX angeboten?
<label id="feature_not">
<p>
Einige ISDN-Leistungen sind geraetespezifisch und koennen von ISDN4LINUX
nicht fuer ein anderes Geraet aktiviert werden ohne da&szlig; ISDN4LINUX das TEI
verfaelscht (was wiederum das andere Geraet moeglicherweise irritieren
wuerde).  Solche spezifischen ISDN Merkmale sind unter Anderen: Abweisung
eines wartenden Anrufes, An-/Ausschalten der Nummernanzeige, Halten
eines Gespraeches, Konferenzgespraeche, differierende COLP/CLRP.

<sect1> feature_data: Welche Arten des Datentransfer von ISDN werden unterstuetzt?
<label id="feature_data">
<p>
Folgende Basisformate sind moeglich:
<itemize>
<item> 56k asynchron : nein 
<item> 64k synchron : ja 
<item>128k synchron : ja (Kanalbuendelung - siehe <ref id="feature_2channel"
name="feature_2channel">)
</itemize>
Folgende Level2-Formate sind moeglich:
<itemize>
<item>HDLC
<item>X.75
<item>transparent
<item>V.110
</itemize>
Diese Encapsulations sind moeglich:
<itemize>
<item>rawip
<item>ethernet
<item>Sync PPP
<item>X.25 (benoetigt 2.1 oder neuer) 
<item>Cisco und Cisco-h
<item>Cisco-hk (=Cisco mit Keepalive; benoetigt 2.1 oder neuer)
<item>und noch ein paar Spezialitaeten: Schau mal in die Man-Seiten.
</itemize>

<sect1> feature_voice: Kann ich ISDN4LINUX als Anrufbeantworter benutzen?  
<label id="feature_voice">
<p>
Ja, in der aktuellen Version von ISDN4LINUX ist die Unterstuetzung fuer
Audio-Funktionen enthalten. Du kannst entweder &dquot;vgetty&dquot; aus Gert
Doerings &dquot;mgetty+sendfax&dquot; benutzen oder &dquot;vboxgetty&dquot;
von Michael Herold, das speziell fuer ISDN4LINUX geschrieben wurde. Das letztere
findest Du auf <tt><url
url="ftp://ftp.franken.de/pub/isdn4linux/contributions/"></tt> 

<sect1> feature_fax: Kann ich mit ISDN4LINUX faxen?  
<label id="feature_fax">
<p>
<itemize>
<item><bf>Fuer alle passiven Karten: NEIN</bf>. Es gibt allerdings ein
Projekt, das sich mit diesem doch komplizierten Problem
beschaeftigt. Weitere Informationen darueber erhaeltst Du unter <tt><url
url="http://home.telia.no/Morten.Rolland/linux/i4lfax/index.html"></tt>
<item><bf>Fuer die aktive Karte AVM B1: Ja</bf> (Fax ist als eines ihrer
Leistungsmerkmale in der Firmware implementiert). Die neuesten Sachen
dazu bekommst Du bei <tt><url
url="ftp://ftp.aeccom.com/pub/fax4i4l/howto/current/"></tt>
<item><bf>Fuer die aktiven Eicon Diva Serverkarten (ausser Diva 2.0Pro):
Ja</bf>. Schau Dir README.fax und README.eicon im Verzeichnis
<tt>isdn/Documentation/isdn</tt> und <tt><url
url="http://www.melware.de/"></tt> an.  
<item><bf>Fuer die semiaktiven Karten Sedlbauer Speedfax+ und Siemens ISURF
1.0: Ja</bf> Allerdings ist dazu z.Zt. noch etwas manuelle Arbeit
notwendig. Dazu erfaehrst Du Genaueres (z.B. einen speziellen Patch) in der
Mailingliste.
</itemize>
Wenn Du jetzt faxen willst, ist ein analoges Modem neben Deiner
ISDN-Karte die beste Wahl.

<sect1> feature_modem: Kann ich mit ISDN4LINUX ein analoges Modem anrufen bzw. von dort angerufen werden?
<label id="feature_modem">
<p>
Im Allgemeinen: <bf>NEIN</bf>. Das geht nur mit Karten, mit denen Du
auch faxen kannst: siehe Frage <ref id="feature_fax"
name="feature_fax">.

<sect1> feature_divert: Ist Anrufweiterleitung mit I4L moeglich?  
<label id="feature_divert">
<p>
Anrufweiterschaltung wurde erst vor kurzem in I4L eingearbeitet (das
neue Programm <tt/divertctrl/). Es gibt dazu noch kein HOWTO und nur
sehr sparsame Dokumentation. Deshalb ist es nur etwas fuer den
erfahreneren Benutzer. In Holland kann als Alternative das "keypad
protocol" benutzt werden.

<sect1> feature_ipx: Kann ich IPX/SPX ueber ISDN mit Linux routen?  
<label id="feature_ipx">
<p>
Ja, setze ein ISDN-Interface auf mit der Encapsulation
<tt/ethernet/. <em/mars_nwe/ macht dann den Rest (z.B. das Routing). Du
kannst auch IPX mit dem IPPPD routen, siehe <ref id="syncppp_ipx"
name="syncppp_ipx">.  Bei IPX mit PPPD musst Du die Kompileroption
IPX_CHANGE setzen.

<sect1> feature_2channel: Unterstuetzt ISDN4LINUX Kanalbuendelung?  
<label id="feature_2channel">
<p>
Die aktuellen Versionen von ISDN4LINUX unterstuetzen 2 Arten der
Kanalbuendelung:
<itemize>
<item><bf>MP</bf> (auch weithin als &dquot;MPPP&dquot; bezeichnet, basiert auf 
syncPPP) 
<item><bf>Raw bundling</bf> (konfiguriert durch sogenannte Slave Channels)
</itemize>
Beide Varianten haben ihre Vor- und Nachteile. Siehe Abschnitt <ref
id="2channel" name="2channel">. Bonding (16bit Kanal) wird nicht
unterstuetzt, da es bei abweichenden Latenzzeiten der Waehlverbindungen
nicht verlaesslich arbeiten kann.  Warnung: Kanalbuendelung spart Zeit,
nicht Telefonkosten.  Es nutzt nur, wenn Du die zusaetzliche Bandbreite
wirklich brauchst.

<sect1> feature_diald: Kann ich ISDN4LINUX mit dem diald benutzen?  
<label id="feature_diald">
<p>
Ja, schau Dir den Teil &dquot;Diald&dquot; des Abschnitts
&dquot;Konfiguration&dquot; an.

<sect1> feature_dod: Unterstuetzt der Treiber &dquot;dial on demand&dquot;?  
<label id="feature_dod">
<p>
Ja. Wenn eine Netzwerk-Device (z.B. &dquot;isdn0&dquot;) eingerichtet
wurde, wird der Treiber die angegebene Nummer waehlen. Wenn zusaetzlich ein
Hangup-Timeout (Idle Timeout) angegeben wurde (z.B.: <tt>isdnctrl
huptime &lt;interface&gt; &lt;time&gt;</tt>), wird der Treiber die
Verbindung automatisch trennen, wenn waehrend &lt;time&gt; Sekunden keine
Daten ueber das Device transportiert wurden. Allerdings gibt es da
Probleme mit syncPPP (siehe Abschnitt ueber syncPPP).  Schau Dir auch mal
die Beschreibung von dialmode an (siehe Frage <ref id="dialout_dialmode"
name="dialout_dialmode">).  Ganz sicher sollte Dich der lange Bereich
dieser FAQ interessieren, der sich mit den Gefahren des unerwuenschten
Verbindungsaufbaus beschaeftigt: (<ref id="dod" name="dod">).

<sect1> feature_sms: Kann ich ueber ISDN kurze Nachrichten (SMS) an mein Handy senden?
<label id="feature_sms">
<p>
Ja, dafuer kannst Du das Programm <tt/yaps/ benutzen. Du musst allerdings
wegen einiger Eigenheiten in der ISDN-Anbindung des SMS-Callcenters den
Kernel mit den Optionen <tt/Disable send complete/ und <tt/Disable
sending llc/ neu kompilieren.

<sect1> feature_btx: Ist unter ISND4LINUX der Zugriff auf das deutsche Videotex/Btx/Datex-J moeglich?
<label id="feature_btx">
<p>
Ja, es funktioniert mit der Modememulation mit den Devices ttyI*. Es
muss ein bestimmtes Register fuer videotex gesetzt werden (ATSx=y - schau
in die Readme-Dateien).  Warnung! XCept (frueher Xbtx) hat eine
Konfigurationsoption fuer ISDN. Diese sollte NICHT benutzt werden. XCept
sollte eingestellt werden, als ob ein normales Modem benutzt wird.

<sect1> feature_clock: Wie kann ich die Uhr meines Computers mit ISDN stellen?  
<label id="feature_clock">
<p>
Dies bietet Isdnlog mit der Option &dquot;-t&dquot;. Leider werden
Sekunden via ISDN nicht uebertragen und die vermittelte Zeit ist nicht
sehr genau - abhaengig von der ISDN-Ausstattung Deiner
Telefongesellschaft kann eine Abweichung von mehreren Minuten (!)
bestehen. Besser, Du holst Dir eine funkgesteuerte PC-Uhr und fragst sie
bspw. mit xntp ab. Ebenso kannst Du einen Zeit-Server im Internet mit
den Programmen &dquot;netdate&dquot; oder &dquot;rdate&dquot;
benutzen. Neben vielen anderen gibt es einen Zeit-Server in Koeln:
time.rrz.uni-koeln.de.

<sect1> feature_dosemu: Laeuft ISDN4LINUX unter dem Dosemu?  
<label id="feature_dosemu">
<p>
Ja! Steffan Henke <tt><htmlurl url="mailto:
henker@informatik.uni-bremen.de"
name="henker@informatik.uni-bremen.de"></tt> schrieb am 25.Okt.96:
<quote>
Es genuegt, wenn man in der dosemu.conf einen virtuellen ComPort
(z.B. Com2) eintraegt, der mit z.B., Telix oder Terminal benutzt werden
kann: serial { com 2 device /dev/ttyI3 }.  Zugang mit Fossil ist
moeglich, wenn fossil.com (enthalten im Dosemu) gestartet ist. Getestet
mit den Konfigurationen: - Kernel 2.0.21, Teles Treiber mit den Patches
von Karsten - Kernel 2.0.21, HiSax </quote>

<sect1> feature_capi: Gibt es ein CAPI Interface?  
<label id="feature_capi">
<p>
Z.Zt. gibt es nur ein CAPI 2.0 Interface fuer die aktive Karte AVM
B1. Dieses Interface folgt dem offiziellen Standard CAPI 2.0, der
kuerzlich von der CAPI Association (<url url="http://www.capi.org">) fuer
Linux verabschiedet wurde. Es gibt Bestrebungen dieses Interface
allgemein verfuegbar zu machen, also auch fuer andere Karten. Es gibt
jedoch keine Plaene fuer ein CAPI 1.1 Interface.

<sect1> feature_uus: Wird UUS (user to user signaling) unterstuetzt?  
<label id="feature_uus">
<p>
Ja, ISDN4LINUX koennte sowohl Senden als auch Empfangen
unterstuetzen. Wegen der unklaren gesetzlichen Bestimmungen zum Gebrauch
dieser Moeglichkeit ist die Implementierung allerdings noch sehr
unvollstaendig. Der Empfang von UUS ist nur durch die Debug Interfaces
moeglich. Das Senden wird nur in Verbindung mit dem Weiterleitungsdienst
unterstuetzt (beim Abweisen eines Anrufes oder beim Senden eines
Besetzt-Zeichens) aber nicht bei einem normalen Anruf. Empfehlenswert
waere anstelle von UUS der Gebrauch des Subaddressing (siehe Frage <ref
id="feature_subaddressing" name="feature_subaddressing">). Beachte
bitte, da&szlig; das Senden von UUS kein kostenfreier Dienst ist (der Empfang
ist kostenlos), zumindest bei einigen deutschen Telefon-Dienstanbietern
musst Du dafuer extra bezahlen (schau Dir die Nutzungsbestimmungen
genau an). Zusaetzlich solltest Du bedenken, da&szlig; bei einer Verbindung
durch ein PBX die gesamten UUS Signale ausgefiltert werden koennten.

<sect1> feature_subaddressing: Wird Subaddressing unterstuetzt?  
<label id="feature_subaddressing">
<p>
Ja, ISDN4LINUX unterstuetzt Subaddressing (moeglich in Frankreich).
Uebergib dem HiSax die Nummer in folgendem Format:
<tt>&lt;number&gt;.&lt;subaddress&gt;</tt>. Moeglicherweise musst Du
jedoch diesen Dienst gesondert bestellen und fuer den Empfang bezahlen
(das Senden ist kostenlos), abhaengig von Deinem ISDN-Anbieter.  Bedenke
auch, da&szlig; bei einer Verbindung ueber ein PBX wahrscheinlich das ganze
Subaddressing ausgefiltert wird.

<sect1> feature_gmsv110: Kann ich eine Verbindung zu ISDN4LINUX von meinem PDA ueber ein GSM- Handy herstellen?
<label id="feature_gmsv110">
<p>
Ja, wenn der Dienstanbieter des Handys ein GSM-to-ISDN/V.110-Gateway
besitzt.  Das soll bei einer Verbindung von einem PalmPilot zu
ISDN4LINUX mit V.110 funktioniert haben. Unter <ref id="config_gsmv110"
name="config_gsmv110"> findest Du Genaueres zur Konfiguration.

<!-- Feature reversed card -->

<!-- Chargeint -->

<!-- Feature Raw-IP -->

<!-- Feature both caller ids -->

<!-- Feature leased line -->

<!-- Eurofile -->

<sect1> feature_future: Welche Features sind fuer die Zukunft geplant?  
<label id="feature_future">
<p>
Eigentlich sind die meisten Features bereits implementiert und werden
nun verbessert. Die einzige neue Eigenschaft, die noch kommen koennte,
waere Least-Cost Routing, obwohl das wegen des Timings und der
Hardware-Abhaengigkeit sehr schwierig zu sein scheint.  Wir werden
sehen...


<!-- Helpful docu, links, mailing list, config examples, howto's -->

<sect> docu: Dokumentation, Howto's, Tips &amp; Tricks, Mailinglisten/Newsgroups
<label id="docu">

<sect1> docu_first: Welche Dokumente sollte ich zuerst lesen?  
<label id="docu_first">
<p>
<itemize> 
<item>ISDN Kernel Subsystem:
<tt>/usr/src/linux/Documentation/isdn/README</tt>
<item>ISDN Karten:
<tt>/usr/src/linux/Documentation/isdn/README.card</tt>
z.B.: <tt>/usr/src/linux/Documentation/isdn/README.HiSax</tt>
<item>Synchronous PPP:
<tt>/usr/src/linux/Documentation/isdn/README.syncppp</tt>
<tt>/usr/src/linux/Documentation/isdn/README.syncPPP.FAQ</tt>
<item>Audio-Faehigkeit:
<tt>/usr/src/linux/Documentation/isdn/README.audio</tt>
<item>ISDN Utilities:
<tt>/usr/src/isdn4k-utils-version/README*</tt>
</itemize>
Viele der Utilities haben auch eigene Man-Seiten!

Bei einer SuSE-Distribution sind auch die folgenden Informationen hilfreich:
<itemize>
<item><tt>/usr/doc/packages/i4l*</tt> (allgemein zu I4L)
<item><tt>/usr/doc/faq/faq/PPP-FAQ</tt> (zu syncPPP)
<item><tt>/usr/doc/howto/mini/Mail-Queue.gz</tt> (zur Email
Konfiguration)
</itemize>

Als Leser des deutschen Computermagazins <tt/ct/ findest Du sehr
hilfreiche Artikel in diesen Ausgaben (unter anderen):
<itemize>
<item>ct 05/98, Seite 224: <tt>Der erste Kontakt/Linux: Mit PPP ans
Internet</tt> 
<item>ct 21/98, Seite 288: <tt>Reiseleiter/Internet-Anbindung fuer das
LAN</tt> 
<item>ct 25/98, Seite 218: <tt>Bei Anruf Netz/Linux: Dial-In Server</tt>
</itemize>

Bei der Frage <ref id="config_links" name="config_links"> findest Du
weitere hilfreiche Links zur Konfiguration von I4L (z.B.: spezielle
Hilfe fuer SuSE- oder RedHat-User).

<sect1> docu_website: Wo liegt die offizielle Website fuer ISDN4LINUX?
<label id="docu_website">
<p>
Die offizielle Website findest Du unter:
<url url="http://www.isdn4linux.de">.

<sect1> docu_abc: Wo finde ich die Dokumentation ueber die abc-Erweiterungen?
<label id="docu_abc">
<p>
Diese findest Du auf:
<url url="http://i4l.mediatronix.de/">

<sect1> docu_newsgroup: Wie nennt sich die Newsgroup fuer ISDN4LINUX?
<label id="docu_newsgroup">
<p>
Die Newsgroup ist <tt/de.alt.comm.isdn4linux/.  Dort liest Du, was
aktuell vor sich geht, oder sendest selbst Nachrichten (wenn Deine Frage
nicht bereits in dieser FAQ beantwortet wurde). Es sind neben sehr
kompetenten Leuten auch die meisten Entwickler von ISDN4LINUX
anwesend. Lass Dich von den vielen deutschen Nachrichten nicht
verwirren. <bf>Englische Postings sind erlaubt und werden in Englisch
beantwortet!</bf>.  <tt>(Anm.d.Uebers.: Da ISDN4LINUX eine hauptsaechlich
deutsche Entwicklung ist und aufgrund der starken Verbreitung von ISDN in
Deutschland sind die meisten Artikel in deutsch verfasst.)</tt>.  

<sect1> docu_mailinglist: Wo finde ich die Mailingliste fuer ISDN4LINUX?
<label id="docu_mailinglist">
<p>
Die Addresse ist <tt>isdn4linux@listserv.isdn4linux.de</tt>. Vor dem
Senden einer Nachricht schau mal nach, ob die Frage nicht schon in
dieser FAQ oder sonst unzaehlige Male beantwortet wurde (suche auf <url
url="http://www.deja.com/"> mit Schluesselwoertern wie ISDN, Linux, i4l,
isdn4linux,...). Die Leute der Mailingliste aergern sich gewaltig wenn
die Frage "kann ich mit meiner Karte xxx faxen" zum wiederholten Mal
gestellt wird (die Antwort findest Du unter <ref id="feature_fax"
name="feature_fax">).

Es sind neben sehr kompetenten Leuten auch die meisten Entwickler von
ISDN4LINUX anwesend. <bf>Englische Postings sind erlaubt und werden in
Englisch beantwortet!</bf>.

Die Mailingliste enthaelt die gleichen Nachrichten wie die Newsgroup
(siehe Frage <ref id="docu_newsgroup" name="docu_newsgroup">). Daher
kannst Du Antworten auf Deine Fragen auch mit dem Newsreader lesen. Ein
bidirektionales Gateway synchronisiert Mailingliste und Newsgroup.

Du abonnierst dauerhaft die Mailingliste mit einer Mail an <tt><htmlurl
url="mailto:majordomo@listserv.isdn4linux.de"
name="majordomo@listserv.isdn4linux.de"></tt>. Das Subject kann
ausgelassen werden. Im Text sollte stehen: <tt/subscribe isdn4linux
&lt;email address&gt;/, wobei &lt;email address&gt; die Addresse ist zu
der die Liste geschickt werden soll. Das Abonnement hebst Du auf mit
einer Mail an die gleiche Addresse mit dem Text: <tt/unsubscribe
isdn4linux &lt;email address&gt;/. Beachte bitte, da&szlig; es etwa 20-50
Mails pro Tag auf dieser Mailingliste gibt. Wie Du nur eine Mail pro Tag
mit dem Inhalt aller Nachrichten bekommst erfaehrst Du bei der Frage <ref
id="docu_maillistdigest" name="docu_maillistdigest">.

<sect1> docu_maillistdigest: Wie bekomme ich die Zusammenfassung der ISDN4LINUX-Mailingliste (nur eine Message pro Tag)?
<label id="docu_maillistdigest">
<p>
Abonniere die Mailingliste wie im Absatz <ref id="docu_mailinglist"
name="docu_mailinglist"> beschrieben und benutze als Mailingliste
<tt/isdn4linux-digest/ anstatt <tt/isdn4linux/. Also sollte der gesamte
Text bei der Bestellung lauten: <tt/subscribe isdn4linux-digest
&lt;email address&gt;/ und zum Abbestellen: <tt/unsubscribe
isdn4linux-digest &lt;email address&gt;/.

<sect1> docu_mailarchive: Gibt es ein Archiv der ISDN4LINUX-Mailingliste?  
<label id="docu_mailarchive">
<p>
Zur Schnellsuche mit Schluesselwoertern kannst Du <tt><url
url="http://www.deja.com"></tt> benutzen. Waehle auch aeltere Archive um
eine komplette Suche durchzufuehren.

Die Messages werden auch, nach Monaten sortiert, ungeordnet beim
listserv.isdn4linux.de gesammelt. Das Archiv ist zugaenglich auf <url
url="http://www.isdn4linux.de/listarch/">.

Als Alternative kannst Du eine Mail an <tt><htmlurl
url="mailto:majordomo@listserv.isdn4linux.de"
name="majordomo@listserv.isdn4linux.de"></tt> schicken. Ein Subject ist
nicht notwendig.  Die moeglichen Befehle sind:
<itemize>
<item>index isdn4linux - Auflistung der verfuegbaren Archive
<item>get isdn4linux filename - bestellen der Datei filename
</itemize>
Die Benennung der Archive erfolgt nach dem Muster
&dquot;archiv.jahrmonat&dquot;, also ist &dquot;archiv.9610&dquot; das
Archiv von Oktober 1996.
<tt>Anm.d.Uebers.: Da es ISDN zu Anfang des 20. Jahrhunderts noch nicht gab
(bei Linux bin ich mir nicht sicher ;-)), ist IMO ein Y2K-Problem auch bei
z.B. &dquot;archiv.0001&dquot; nicht vorhanden.</tt>

Andere Archive sind:
<itemize>
<item><tt><url
url="ftp://ftp.uni-oldenburg.de/pub/unix/linux/isdn/isdn4linux/Mailing-List"></tt>
<item><tt><url
url="http://wws.mathematik.hu-berlin.de/ldr/ISDN/isdn4linux/"></tt>
</itemize>


<!-- Supported Hardware & hardware-specific stuff
-->

<sect> hardware: Unterstuetzte Hardware, ihre Eigenheiten und Hardware-bezogene Probleme
<label id="hardware">

<sect1> hardware_support: Welche Hardware wird unterstuetzt?  
<label id="hardware_support">
<p>
Unterstuetzt werden nur interne Karten fuer den ISA- oder PCI-Bus. Auch
ISA Plug&amp;Play Karten werden unterstuetzt, benoetigen aber etwas
zusaetzliche Handarbeit mit den <tt/isapnptools/. Details der
Konfiguration findest Du bei der Frage <ref id="config_pnp"
name="config_pnp">.

Es gibt <ref id="glossary_active" name="aktive">, <ref
id="glossary_semiactive" name="semi-aktive"> oder <ref
id="glossary_passive" name="passive"> interne Karten. Wenn Du nicht
gerade viel Geld ausgegeben hast, kannst Du davon ausgehen, da&szlig; Du eine
passive Karte hast. Mehr ueber den Unterschied findest Du bei <ref
id="hardware_activepassive" name="hardware_activepassive">.

Z.Zt. gibt es einen Treiber fuer alle passiven Karten mit bestimmten
Siemens Chips (HiSax Treiber). In der mit dem Treiber gelieferten Datei
<tt/README.HiSax/ findest Du die neuesten Informationen ueber
unterstuetzte Karten. Dies ist der Status vom 4. September 1999 (wird
laufend verbessert):
<itemize>
<item>Teles 8.0/16.0/16.3 und kompatible (wie: Dr. Neuhaus Niccy 1016,
 Creatix 16/S0)
<item>Teles 16.3c (kann nicht als "umgekehrte" Karte benutzt werden)
<item>Teles S0/PCMCIA (alte Hardware)
<item>Teles PCI
<item>Teles S0Box
<item>Creatix S0Box
<item>Creatix PnP S0
<item>Compaq ISDN S0 ISA Karte
<item>AVM A1 (Fritz, Teledat 150 ISA)
<item>AVM Fritz PCMCIA
<item>AVM Fritz PnP (Teledat 150 PnP)
<item>AVM Fritz PCI (Teledat 150 PCI)
<item>ELSA Microlink PCC-16, PCF, PCF-Pro, PCC-8
<item>ELSA Quickstep 1000
<item>ELSA Quickstep 1000PCI (neuer Name: ELSA Microlink PCI)
<item>ELSA Quickstep 3000 (Einstellungen wie QS1000)
<item>ELSA Quickstep 3000PCI
<item>ELSA PCMCIA
<item>ITK ix1-micro Rev.2 (auch: ITK Colombus Karte)
<item>Eicon.Diehl Diva 2.0 ISA und PCI (S0 und U Interface, nicht die 
PRO Version)
<item>Eicon.Diehl Diva Piccola
<item>ASUSCOM NETWORK INC. ISDNLink 128K PC Adapter (Bestell-Nr. I-IN100-ST-D)
<item>Dynalink IS64PH (OEM Version der ASUSCOM NETWORK INC. ISDNLink 128K Adapter)
<item>Alle anderen ASUSCOM/Dynalink Karten (inkludsive der OEM Versionen;
 insgesamt mehr als 50 Karten)
<item>PCBIT-DP (OEM Version der ASUSCOM NETWORK INC. ISDNLink)
<item>HFC-2BS0 basierende Karten (TeleInt SA1)
<item>Sedlbauer Speed Card (Speed Win, Teledat 100, PCI, Fax+)
<item>Sedlbauer Speed Star/Speed Star2 (PCMCIA)
<item>Sedlbauer ISDN-Controller PC/104
<item>USR Sportster interner TA (kompatible Stollmann tina-pp V3)
<item>ith Kommunikationstechnik GmbH MIC 16 ISA Karte
<item>Traverse Technologie NETjet PCI S0 Karte
<item>Dr. Neuhaus Niccy PnP/PCI
<item>Siemens I-Surf 1.0
<item>Siemens I-Surf 2.0 (mit IPAC versuche Type 12 asuscom)
<item>ACER P10
<item>HSR Saphir
<item>Berkom Telekom A4T
<item>Scitel Quadro
<item>Gazel ISDN Karten
<item>HFC-PCI basierende Karten
<item>PCI/Winbond W6692 basierende Karten
</itemize>
Hinweis:
<itemize>
<item>PCF, PCF-Pro: bis jetzt wird nur der ISDN-Teil unterstuetzt
<item>PCC-8: noch nicht getestet 
<item>Teles PCMCIA ist EXPERIMENTAL
<item>Teles 16.3c ist EXPERIMENTAL 
<item>Teles PCI ist EXPERIMENTAL
<item>Teles S0Box ist EXPERIMENTAL 
<item>Eicon.Diehl Diva U Interface nicht getestet 
<item>Einige Karten funktionieren nur als Module, nicht fest in den Kernel
eingebunden  
<item>Zur Unterscheidung zwischen HFC-PCI und PCI/Winbond dient der
 Output des Befehls <tt>cat /proc/pci</tt>. Bei HFC-PCI bekommst Du
 bei Deiner Karte eine Zeile mit dem Text "Master capable".
</itemize>

Die folgenden Karten werden definitiv nicht unterstuetzt, vermutlich auch
in Zukunft nicht, da die Hersteller die Spezifikationen fuer ihre sehr
proprietaere Hardware und Protokolle nicht herausgegeben haben:
<itemize>
<item>Fritz!X
<item>Eumex 404
</itemize>

<sect1> hardware_activepassive: Was ist der Unterschied zwischen einer aktiven und einer passiven ISDN-Karte?
<label id="hardware_activepassive">
<p>
Eine aktive ISDN-Karte fuehrt die meisten ISDN-Verbindungsprotokolle
(Anwahl, Empfang von Anrufen, usw.) selbst aus, da sie eine Art
Minicomputer mit eigener Software (Firmware) besitzt. Bei einer passiven
ISDN-Karte muss der Computer, in dem die Karte sitzt, diese Funktionen
ausfuehren.

Prinzipiell werden beide Arten von ISDN4LINUX unterstuetzt. Da jedoch
aktive Karten ein nicht standardisiertes Interface haben, kann ein
Treiber nur dann erstellt werden, wenn der Hersteller die
Spezifikationen fuer das Interface herausgibt. Ebenfalls muss die
Firmware der Karte frei verfuegbar sein. Im Unterschied dazu enthalten
viele passive Karten den gleichen Chipset. Wenn einmal ein Treiber fuer
einen Chipset existiert werden daher viele passive Karten unterstuetzt.

Diese aktiven Karten werden z.Zt. von einem speziellen Treiber
unterstuetzt:
<itemize>
<item>AVM B1
<item>Eicon.Diehl
<item>IBM Active 2000 ISDN Karte
<item>ICN
<item>PCBIT-D
</itemize>

<sect1> hardware_recommend: Welche Karte wird von den Entwicklern empfohlen?
<label id="hardware_recommend">
<p>
Die Entwickler schlagen ELSA Karten vor. ELSA stellte den Entwicklern
ihre Spezifikationen zur Verfuegung und gab eine Menge Unterstuetzung, was zu
einem exzellenten Treiber fuehrte. Ausserdem sind ELSA Karten in Deutschland
zum Gebrauch an oeffentlichen Netzen zugelassen (siehe Frage <ref
id="country_certified" name="country_certified">).

<sect1> hardware_external: Unterstuetzt ISDN4LINUX externe Terminaladapter?  
<label id="hardware_external">
<p>
Nein, aber das ist auch nicht noetig. Terminaladapter benehmen sich
entweder wie ein Modem oder wie eine Netzwerkkarte. Linux unterstuetzt
bereits sowohl Modems als auch Netzwerkkarten ohne ISDN4LINUX - also
wird kein spezieller ISDN-Treiber benoetigt (wodurch sich gewoehnlich die
Konfiguration sehr vereinfacht).

<sect1> hardware_cabeling: Wie belege ich die ISDN-Kabel?  
<label id="hardware_cabeling">
<p>
Alle Details dieser Art werden in der excellenten Kabel-FAQ behandelt,
die Du zumindest auf Deutsch auf <url
url="http://www.rvs.uni-bielefeld.de/~mek/tk/tae/kabelfaq.html">
findest.

<sect1> hardware_irq: Warum sollte ich die IRQs 12 und 15 fuer meine ISDN-Karte vermeiden?
<label id="hardware_irq">
<p>
Auf vielen PCI-Boards wird der Interrupt 12 von der PS/2 Maus belegt (auch
wenn Du keine solche hast oder der IRQ nicht dafuer aktiviert ist). Der IRQ
koennte sogar belegt sein wenn Du keinen PS/2 Anschluss hast. Interrupt 15 wird 
auch oft vom zweiten IDE Bus benutzt (auch wenn Du ihn nicht benutzt oder der
IRQ dafuer nicht festgelegt ist). Sogar wenn man denkt, da&szlig; einige IRQs
verfuegbar sind, koennen sie dennoch irgendwie vom BIOS reserviert sein. Eine
gute Wahl ist immer IRQ 5 und IRQ 9. Ohne Modem oder Maus kannst Du auch 4 und 
3 versuchen, die auch auf exotischen Boards funktionieren.

<sect1> hardware_s2m: Welche S2M Karten werden unterstuetzt?  
<label id="hardware_s2m">
<p>
Zumindest von diesen S2M Karten wurde berichtet, da&szlig; sie funktionieren:
<itemize>
<item>Eicon.Diehl: S2M-ISA oder DIVA Server PRI/PCI (siehe <url
url="http://www.melware.de/">)
</itemize>

<sect1> hardware_pcmcia: Welche PCMCIA Karten werden unterstuetzt?  
<label id="hardware_pcmcia">
<p>
Zumindest von diesen PCMCIA Karten wurde berichtet, da&szlig; sie funktionieren:
<itemize>
<item>ELSA Microlink (NICHT: ELSA Microlink/all)
<item>Sedlbauer
<item>AVM
<item>Teles PCMCIA (alte Hardware) - abzuraten, da Teles die Hardware oft
wechselt und die Entwickler nicht unterstuetzt (siehe Frage <ref
id="hardware_teles" name="hardware_teles">).
</itemize>

<sect1> hardware_smp: Kann ich ISDN4LINUX auf meinem Multiprozessor-Board betreiben?
<label id="hardware_smp">
<p>
Ja, das geht gut. Kompiliere jedoch auf jeden Fall den Kernel und alle Module
mit der Option <tt/SMP/. Wenn Du Probleme hast, wenn beide CPUs auf denselben IRQ
zugreifen wollen, versuche die Bootoption <tt/noapic/.

<sect1> hardware_alpha: Laeuft ISDN4LINUX auf einem DEC Alpha mit Linux?  
<label id="hardware_alpha">
<p>
Ja, die meisten Karten sollten mit ISDN4LINUX auf einem DEC Alpha laufen. Von
vielen Karten ist ein einwandfreier Betrieb mit dem HiSax Treiber bekannt. Auch
die aktive ICN Karte soll funktionieren.

<sect1> hardware_ppc: Kann ich ISDN4LINUX auf einem PowerPC mit Linux betreiben?  
<label id="hardware_ppc">
<p>
Ja, die meisten Karten sollten laufen. Zumindest die AVMFritz!PCI Karte wird
jedoch nicht funktionieren, da der PPC ein unterschiedliches Endian-Format fuer 
die 32-Bit B-Kanal Daten benutzt.

Auf jeden Fall kannst Du auch einen Terminaladapter (= externes ISDN "Modem")
benutzen. Da Du dann kein ISDN4LINUX benoetigst (siehe Frage <ref
id="hardware_external" name="hardware_external">), wird dies hier nicht weiter 
behandelt.

<sect1> hardware_maxcards: Wieviele ISDN-Karten kann ich in meinen Computer einbauen?
<label id="hardware_maxcards">
<p>
Das haengt von den verfuegbaren Slots, den freien Interrupts und IO-Addressen in 
Deinem Computer und den Moeglichkeiten der ISDN Karte ab. Die meisten passiven
Karten haben ihre Grenzen durch die unterstuetzten IO-Addressen (z.B. sind bei
der Teles 16.x nur 3 Addressen gesetzlich zugelassen) und die Gesamtzahl an
Interrupts (jede Karte benoetigt einen). <tt>Anm.d.Uebers.: Da HiSax und auch PCI 
laut Definition mit IRQ-Sharing zurecht kommen, ist diese Limitierung
(zumindest fuer PCI-Karten) eigentlich nicht mehr gegeben.</tt>

Falls mehr Karten benoetigt werden koennte die ICN Karte Deine Wahl sein. Sie
belegt keine Interrupts, bietet eine flexiblere Einstellung des IO-Ports, und der
Treiber plaziert die Shared Memory Bereiche aller ICN Karten an derselben
Addresse. Der Kartenspeicher wird nur soweit gemapped wie er benoetigt
wird. Daher kann man soviele Karten benutzen wie Slots verfuegbar sind.

Wenn Du wirklich eine Menge Anschluesse benoetigst waere schlie&szlig;lich noch eine S2M
Karte von Interesse, siehe Frage <ref id="hardware_s2m" name="hardware_s2m">. 

Bei Frage <ref id="config_manycards" name="config_manycards"> bekommst Du
Antworten zu den Eigenheiten der Konfiguration von mehr als einer Karte.

<sect1> hardware_hfc: Was ist Besonderes an einer Karte mit HFC Chip?  
<label id="hardware_hfc">
<p>
Karten mit einem HFC-PCI Chip erlauben einige Spezialitaeten, die mit anderen
ISDN Karten nicht moeglich sind. So kannst Du z.B. die Karte im NT-Modus
betreiben (dabei muss die ISDN-Verbindung gekreuzt und die Software
ausgetauscht werden) - das bedeutet, Deine Karte simuliert einen NTBA
gegenueber einer anderen ISDN Karte. Ebenso kannst Du einen B-Kanal aufgeben
und dafuer das komplette D-Kanal-Protokoll auslesen, eine tolle Sache fuer
isdnlog. Das letztere kann man auch mit einer umgekehrt angeschlossenen Karte
erreichen (siehe Frage <ref id="isdnlog_reversedcard"
name="isdnlog_reversedcard">), mit HFC Chips funktioniert es aber viel
verlaesslicher und sauberer. Du aktivierst diesen speziellen Echo Modus mit:
<code>
hisaxctrl &lt;treiber_name&gt; 10 1
hisaxctrl &lt;treiber_name&gt; 12 1
</code>
Du schaltest das wieder ab mit:
<code>
hisaxctrl &lt;treiber_name&gt; 12 0
hisaxctrl &lt;treiber_name&gt; 10 2
</code>
Der Parameter 10 bestimmt die Anzahl der verfuegbaren Kanaele, Parameter 12
wechselt den Echo Modus.

<sect1> hardware_elsa: Was sollte ich ueber ISDN Karten von ELSA wissen?  
<label id="hardware_elsa">
<p>
Im allgemeinen unterstuetzt ELSA die ISDN4LINUX Entwickler sehr gut mit
Dokumentationen ueber den Zugriff auf ihre Karten. Daher werden diese Karten
sehr gut unterstuetzt und sind zum Gebrauch mit ISDN4LINUX sehr
empfehlenswert. Zusaetzlich ist die ELSA Quickstep 1000 PCI (neuer Name
Microlink PCI) das einzige Kartenmodell mit offizieller Zulassung in
Deutschland und daher auch in der EU (siehe Frage <ref id="country_certified"
name="country_certified"> zu mehr Informationen ueber die Zulassung).

Es gibt jedoch eine Eigenheit beim Gebrauch der ELSA Quickstep 1000pro-PCI und 
einigen nicht PCI-konformen Mainboards. Diese setzen die IO-Addresse auf
unzulaessige Werte (sie liegen im hoeheren Speicherbereich und muessen an runden
0x100-Adressen liegen). Das kann eine Fehlermeldung ("You may have the wrong PCI
bios") bewirken und das System anhalten. Die beste Abhilfe ist ein Bios
Upgrade. Wenn das nicht moeglich ist, besorge Dir das Modul <tt/pcitest/ von
Karsten Keil <tt><htmlurl url="mailto:keil@isdn4linux.de"
name="keil@isdn4linux.de"></tt>. Es wird die Karte korrekt einrichten und sich 
dann mit einem gewollten Fehler schlie&szlig;en (und dadurch keinen Speicher
belegen).

Die Verbindung von ELSA's RJ11 Stecker zu einem RJ45 Kabel sieht so aus:
<verb>
          RJ11   -   RJ45
Pins      1234       12345678
Kabel     abcd       --abcd--
</verb>

<sect1> hardware_teles: Was sollte ich vor dem Kauf einer ISDN Karte von Teles wissen?  
<label id="hardware_teles">
<p>
Zuerst die neuesten Nachrichten: Die Teles Karte 16.3c hat einen defekten
FIFO und benoetigt daher fuer den Gebrauch der ttyI* Devices die Eingabe von
<tt/AT&amp;B1024/ (wenn die andere Seite noch Pakete mit mehr als 1024 Bytes
sendet wird die Karte nicht funktionieren - leider nutzen viele CAPIs 2048
Bytes als Voreinstellung). Die neueste Teles PCI Karte benoetigt den
<tt/netjet/ Treiber, da der Teles Treiber NICHT funktioniert (diese Karte wird 
bei <tt>cat /proc/pci</tt> als 'TigerJet Tiger300' angezeigt).

Nun einige Bemerkungen ueber Teles im allgemeinen (diese sind die persoenliche
Ansicht des Autors dieser FAQ und niemand ausser mir ist dafuer verantwortlich) 
(<tt>Anm.d.Uebers.: Diese Ansichten teile ich ebenfalls voll und ganz!</tt>): 

Die Geschaeftspraktiken von Teles sind sehr Kunden- und Entwickler-unfreundlich
verglichen mit anderen Firmen. Selbstverstaendlich kuemmern sich die Entwickler
vordringlich um Karten, fuer die Support geleistet wird und deren
Spezifikationen frei verfuegbar sind.

Bisher hat sich Teles gegenueber den Entwicklern von I4L sehr unfreundlich
verhalten. Es wurde von Teles weder irgenwelche Unterstuetzung geleistet noch
wurden Informationen ueber den Zugriff auf ihre Karten veroeffentlicht. Die
Entwickler haben von Anfang an eine Menge an privatem Engagement investiert um
diese Karte zum Laufen zu bringen ohne irgendeine Unterstuetzung zu
bekommen. Der Treiber ist also ein Resultat von rein privater Arbeit. Trotzdem 
bruestet sich Teles auf ihrer Website damit, da&szlig; ihre Karten unter Linux laufen 
ohne die wirklich Verantwortlichen zu nennen.

Noch nicht einmal Firmen, die Teles Karten kaufen und unter ihrem eigenen
Namen weiter verkaufen, ist es gelungen, den Support zu verbessern. Das fuehrte 
dazu, da&szlig; sich eine re-branding Firma (!) selbst um eine Genehmigung fuer den
Gebrauch von I4L mit einer Teles Karte in Deutschland bemuehen musste.

Aus Verbrauchersicht sollte man sich die Preise fuer die Hotline ansehen bevor
man Hardware von Teles kauft! Der Autor der FAQ (<tt>und der Uebersetzer</tt>)
weigert sich, eine Hotline zu benutzen, die 216,- DM pro Stunde
kostet. Berichte ueber die Qualitaet und die Wartezeiten waren nicht immer
positiv. 

Diese Firma gibt noch nicht einmal Treiber fuer andere Betriebssysteme wie
z.B. Windows kostenlos heraus. Zum Download eines Treibers musst Du in
Deutschland eine sehr teure Nummer (0190) anwaehlen, wo Du etwa DM 3,60 pro
Minute zahlst. Nicht, da&szlig; es ueberhaupt ratsam waere, Windows zu benutzen. Ich
wollte es nur erwaehnen...

Warnung: Teles hat ihre Karten sehr oft ohne Bekanntgabe geaendert ohne den
Modellnamen zu aendern. Nach dem Kauf einer Teles Karte kannst Du eventuell
feststellen, da&szlig; Deine brandneue Karte nicht von I4L unterstuetzt wird! (Wie es 
zur Zeit der Fall ist...)

Die Entwickler werden versuchen, neue Teles Karten zu unterstuetzen sobald
Informationen ueber den Zugriff auf die Karte verfuegbar sind und keine anderen
Prioritaeten vorliegen. Natuerlich kannst Du jederzeit einen Patch einsenden.

<sect1> hardware_avmb1: Was ist Besonderes an der AVM B1 Karte?  
<label id="hardware_avmb1">
<p>
Diese Karte beinhaltet viele spezielle Eigenschaften in ihrer Firmware und
wird von ihrem Linuxtreiber sehr gut unterstuetzt. Sie ist zur Zeit die einzige 
ISDN Karte mit der Du unter ISDN4LINUX Faxe versenden kannst. Ebenso ist es
die einzige Karte mit einem CAPI 2.0 Interface. Die neuesten Treiber bekommst
Du auf 
<url url="ftp://calle.in-berlin.de/pub/linux/avmb1">
oder
<url url="ftp://ftp.avm.de/cardware/b1/linux/">.
Die Firmware liegt auf:
<url url="ftp://ftp.avm.de/cardware/b1/linux/firmware">.
Die neueste Firmware erlaubt auch das Verfolgen des D-Kanals mit isdnlog ohne
den Einsatz einer "umgekehrten" Karte. 

Es gibt eine Mailingliste fuer Probleme mit der AVM B1 auf:
linux-avmb1@calle.in-berlin.de (sende eine Mail an majordomo@calle.in-berlin.de
mit <tt>subscribe linux-avmb1 &lt;Deine Email Addresse&gt;</tt> im Text). 

<sect1> hardware_icn: Was ist Besonderes an der ICN Karte?  
<label id="hardware_icn">
<p>
Dies war die erste von ISDN4LINUX unterstuetzte aktive Karte. Der Hersteller
(<tt><url url="http://www.think.de/"></tt>) hat die I4L Entwickler immer
unterstuetzt. Die ICN benoetigt keine Interrupts (polling). Daher kann man den
PC mit vielen von ihnen ohne Interrupt-Konflikte ausruesten. Die neueste
Firmware sollte auf <tt><url
url="ftp://ftp.think.de/pub/isdn4linux/firmware/"></tt> zur Verfuegung
stehen. Leider wird die ICN nicht mehr hergestellt.


<!-- Trouble Hardware
-->

<sect1> hardware_crossedcable1: Wenn I4L einen B-Kanal benutzt ist der andere blockiert (eingehende wie ausgehende Signale)...  
<label id="hardware_crossedcable1">
<p>
Dieses Verhalten ist typisch fuer ein Kabel mit falscher Verdrahtung des
a/b-Anschlusses. Einige NTs von Quante hatten eine falsche Beschriftung. Sie
verursachten genau das beschriebene Verhalten, wenn eine PBX an der Buchse und
eine ISDN Karte an dem Stecker des NT angeschlossen waren. Sowie ein Geraet den
Bus aktiviert, kann das andere Geraet keine Verbindung mehr aufbauen.

<sect1> hardware_crossedcable2: Wie kann ich feststellen, ob ein a/b-Kabel gekreuzt wurde?  
<label id="hardware_crossedcable2">
<p>
Diese Antwort nimmt an, da&szlig; Du ueber einen installierten internen Bus direkt an 
den NT angeschlossen bist (ohne ein RJ45 Kabel).

Die einfachste Art zu testen ist die mit einem kleinen Kabel-Tester (der Autor
erwarb einen von Conrad Electronics in Deutschland fuer 29,- DM - folge einfach 
den leichten Anweisungen).

Anderenfalls hast Du etwas mehr Arbeit. Vertausche Leitung a1 und b1. Wenn das 
nicht funktioniert, mache das wieder rueckgaengig und vertausche Leitung a2 und
b2. Wenn das immer noch nicht laeuft, versuche beide Leitungen zu
vertauschen. Solange {a|b}1 und {a|b}2 unter sich bleiben kann nichts
passieren. Um sicher zu gehen kannst Du vor dem Einstecken pruefen, da&szlig;
zwischen Pins 4 und 5 und zwischen Pins 2 und 6 des Steckers keine Spannung
anliegt.  Zwischen 3 und 4 und zwischen 6 und 5 sollten 40 V, 6 und 3 positiv
gemessen werden.

Mit dem Westernstecker funktioniert das aehnlich. 4 Leitungen werden benutzt:
<verb>
| | | | 
| | | |
1 2 3 4
</verb>
Du kannst 1 mit 4 oder 2 mit 3 oder beide Paare vertauschen. Vertausche nie
die aeusseren mit den inneren Leitungen - das wuerde die RX und TX Leitungen
kreuzen und nichts mehr wuerde funktionieren.

In der Kabel FAQ findest Du mehr Details darueber, welche Leitung wie
anzuschlie&szlig;en ist.

Wenn beide Geraete ueber RJ45 angeschlossen sind, ist eines der beiden Kabel
verdreht. Das passiert normalerweise wenn einer der RJ45 Stecker verkehrt
herum angeschlossen wurde (a1/b1 sind innen, a2/b2 sind aussen, so wird die
Anordnung der Sender-/Empfaengerpaare erhalten). Jetzt brauchst Du nur einen
neuen Stecker und natuerlich Klammern fuer den RJ45: alter Stecker ab, neuer
Stecker (in der richtigen Anordnung) dran.

<sect1> hardware_pbx: i4l ist am internen Bus einer PBX angeschlossen. Probleme?  
<label id="hardware_pbx">
<p>
Viele PBX benutzen nicht standardisierte ISDN-Protokolle auf ihrem internen
Bus. Das kann I4L dazu bringen, eine Warnung "Unexpected discriminator 0xZZ"
(wobei ZZ eine hexadezimale Zahl ist) auszugeben, wenn es auf unerwartete
Frames trifft (einige alte Versionen stuerzen sogar ab). Das kann Deine
Logdatei um bis zu 1 MB in 3 Tagen vergroe&szlig;ern.
Die PBX <tt/Ackermann Euracom 181/ (Discriminator 0xaa) und <tt/Ascom/
(Discriminator 0x44/0x47) scheinen dafuer bekannt zu sein.
Du kannst die Warnung vermeiden indem Du in der Funktion
<tt>processctrl()</tt> in <tt>processor.c</tt> den switch/case Code anpasst.
Achte darauf, da&szlig; die PBX haengen bleiben kann, wenn die ISDN Karte nicht auf
ihre Requests antwortet - uebergehe die PBX in diesem Fall.

Es kann auch sein, da&szlig; eine PBX per default das 1TR6 Protokoll anstatt des
EuroISDN auf dem internen Bus benutzt. Du musst I4L (oder die PBX) entsprechend
konfigurieren. Am besten versuchst Du beide auf das gleiche Protokoll
einzustellen.

Auch die MSN kann anders aussehen als Du erwartest. Versuche es mit
verschiedenen Versionen, keine Ziffer (dann nimm <tt/0/, wird in dem Fall von
I4L erwartet), eine Ziffer oder zwei Ziffern oder die gesamte MSN. Am besten
rufst Du ein Geraet (z.B. das ISDN Telefon) auf dem internen Bus an und schaust 
nach, was I4L im Logfile schreibt.

Zuletzt solltest Du daran denken, da&szlig; Du Deine PBX so einstellen musst,
da&szlig; sie ankommende Gespraeche auf den internen ISDN Bus 'routen' muss.

Bei einer Point-to-Point Konfiguration ('Anlagenanschluss') kannst Du Deine
Karte nicht direkt an den S0 Bus anschlie&szlig;en (dann geht gar nichts mehr). Du
musst sie mit dem internen ISDN Bus verbinden. Deine MSN ist dann
normalerweise die Durchwahl am Ende der Telefonnummer.

<sect1> hardware_telestrouble: Die PNP-Tools funktionieren nicht mit meiner Teles 16.3 PNP Karte!  
<label id="hardware_telestrouble">
<p>
Es ist moeglicherweise gar keine Plug 'n' Play Karte - obwohl Teles jetzt auf
alle ihre Karten und Kartons PNP druckt. Der Unterschied ist leicht zu
erkennen: eine wahre Teles PnP Karte hat die (winzigen) DIP-Schalter zur
Einstellung der IO-Addresse nicht mehr.

<sect1> hardware_elsacabletrouble: Auf meiner ELSA Karte blinkt oft die LED,
die den Verlust des TEI anzeigt. Meine Verbindungen werden auch oft
unterbrochen...   
<label id="hardware_elsacabletrouble">
<p>
Diese blinkenden LEDS werden oft durch ein schlechtes Kabel oder einen zu
langen oder nicht terminierten Bus verursacht.

<sect1> hardware_elsairq: Meine ELSA Quickstep 1000 ISA Karte loest mit dem HiSax Treiber sehr viele Interrupts aus. Ist das normal oder ein Problem des HiSax Treibers?  
<label id="hardware_elsairq">
<p>
Es ist normal. Die ELSA Quickstep 1000 ISA Karte hat einen Hardware Timer, der 
nicht durch Software deaktiviert werden kann. Wenn Du ihn loswerden willst
musst Du die Hardware veraendern. Frag bei Karsten Keil nach:
<tt><htmlurl url="mailto:keil@isdn4linux.de" name="keil@isdn4linux.de"></tt>



<!-- Configuration/Troubleshooting
-->

<sect> config: Allgemeine Informationen zur Konfiguration  
<label id="config">

<sect1> config_msn: Wie sollte ich meine MSNs in ISDN4LINUX einstellen?  
<label id="config_msn">
<p>
Siehe Abschnitt <ref id="msn" name="msn">.

<sect1> config_hardware: Wie sollte ich meine Hardware einrichten? Gibt es etwas Spezielles, das ich ueber meine ISDN Karte wissen sollte?  
<label id="config_hardware">
<p>
Schau Dir den Abschnitt <ref id="hardware" name="hardware"> an.

<sect1> config_dialout: Wie konfiguriere ich das Hinauswaehlen?  
<label id="config_dialout">
<p>
Siehe Abschnitt <ref id="dialout" name="dialout">.

<sect1> config_dialin: Wie konfiguriere ich das Einwaehlen?  
<label id="config_dialin">
<p>
Siehe Abschitt <ref id="dialin" name="dialin">.

<sect1> config_suse: Ich kann meine Karte in YaST nicht auswaehlen?  
<label id="config_suse">
<p>
Wenn Du bei Deiner SuSE Distribution Deine Karte in YaST nicht finden kannst,
stelle die <tt/generic/ Karte ein und gib die exakten Parameter in der dafuer
bestimmten Zeile ein, z.B.: <tt>type=27 protocol=2</tt> fuer die Fritz!PCI und 
Euro ISDN. Besorge Dir einen neueren Kernel wenn der gewuenschte Typ noch nicht 
unterstuetzt wird.

<sect1> config_pnp: Wie konfiguriere ich eine PNP (Plug and Play) Karte?  
<label id="config_pnp">
<p>
Bei PCI Karten funktioniert Plug and Play automatisch, sie benoetigen keine
manuelle Konfiguration, wenn der korrekte Kartentyp angegeben wird. ISA PNP
Karten benoetigen etwas manuelle Konfiguration:
<enum>
<item>Setze mit &dquot;make menuconfig&dquot; (oder &dquot;make config&dquot;)
die folgenden Kerneloptionen:
<itemize>
<item>ISDN = &dquot;M&dquot; (als Modul - sonst funktioniert PNP nicht!)
<item>HiSax = &dquot;M&dquot; (als Modul - sonst funktioniert PNP nicht!)
<item>16.3/PNP support
<item>EURO support
</itemize>
<item>Kompiliere und installiere den Kernel und die Module, depmod. (Reboot!)
<item>Lies die Konfiguration der PNP Karte aus mit:
<code>pnpdump -c &gt; /etc/isapnp.conf</code>
<item>Pruefe ob pnpdump die Konfigurationsdatei <tt>/etc/isapnp.conf</tt>
richtig vorbereitet hat:
<itemize>
<item>INT0 - der Interrupt der Karte (Default fuer Teles 16.3 PNP: 10).
Die Interrupts 3 und 4 sollten nicht verwendet werden, da sie fuer die
seriellen Ports reserviert sind (was leider der serielle Treiber vergessen
haben kann). Gleiches gilt fuer die Interrupts 12 und 15, die durch PS/2-Maus
und zweiten IDE-Controller bzw. USB-Anschlu&szlig; belegt werden.
<item>IO0, IO1 - die IO Ports der Karte (Default fuer Teles 16.3 PNP:
0x580 and 0x180) (Achtung: diese Werte muessen passend fuer 64-bit sein (enden
auf 0, 4, 8, or c)! Fruehe Versionen der PNP Karten koennen falsche Werte
vorschlagen!)
<item>Entferne das Kommentarzeichen (#) vor ACT Y!
</itemize>
<item>Aktiviere die Konfiguration mit:
<code>isapnp /etc/isapnp.conf</code> (muss bei jedem Boot gestartet werden)
<item>Nun kann das HiSax Modul fuer Euro-ISDN gestartet werden:
<code>modprobe hisax hisax=4,2,INT,IO0,IO1</code>
(Ersetze INT, IO0 und IO1 mit den Werten in Deiner isapnp.conf.)
</enum>

<sect1> config_kerneld: Warum sollte ich nicht <em>kerneld</em> benutzen, um die ISDN Module bei Bedarf in den Kernel zu laden?  
<label id="config_kerneld">
<p>
<em>kerneld</em> arbeitet nicht allzu gut mit den ISDN Modulen, da die ISDN
Module ihren Status nicht speichern koennen und wichtige Meldungen auf dem
D-Kanal verpassen koennten. Neuere Versionen von I4L lassen sich nicht vom
kerneld entladen. Dennoch solltest Du den kerneld mit keiner Version von I4L
benutzen.

<sect1> config_runlevel: Wie kann ich Linux manchmal mit und manchmal ohne ISDN booten?  
<label id="config_runlevel">
<p>
Du kannst dazu zwei verschiedene Runlevel in <tt>/etc/inittab</tt> definieren
(unter SysV-Init). Ein Runlevel enthaelt die ISDN Prozesse, der andere nicht.

<sect1> config_manycards: Wie richte ich mehr als 1 ISDN-Karte ein?  
<label id="config_manycards">
<p>
Bei der Konfiguration von mehreren Karten gibt es einige Spezialitaeten zu beachten:
<itemize>
<item>Du musst fuer jeden installierten Kartentyp den passenden Treiber und dabei 
jeden dieser Treiber mindestens einmal mit den korrekten Einstellungen starten. 
<item>Fuer den Betrieb von mehreren Karten mit dem gleichen Treiber
(z.B. sollte HiSax fuer ELSA und ASUS Karten funktionieren) muessen die
Konfigurationswerte fuer alle Karten an den Treiber uebergeben werden. Beachte
bitte, dass Du fuer mehr als 2 Karten Module benutzen musst um die Parameter zu 
uebergeben.
<item>Gleichzeitige Einwahl mehrerer Personen: Naeheres bei der Frage <ref
id="dialin_manyparallel" name="dialin_manyparallel">.
<item>Waehlen ueber mehrere Karten: Naeheres bei der Frage <ref
id="dialout_manycards" name="dialout_manycards">.
</itemize>

<sect1> config_manychannels: Wie kann ich die maximale Anzahl der Kanaele in I4L erhoehen?  
<label id="config_manychannels">
<p>
Erhoehe den Wert ISDN_MAX_CHANNELS in
<tt>/usr/src/linux/include/linux/isdn.h</tt> und uebersetze den ISDN-Teil
neu. Vergiss nicht, die zusaetzlichen Geraete mit makedev.sh (in isdn4k-utils)
oder "von Hand" anzulegen.

<sect1> config_gsmv110: Wie verbinde ich meinen PalmPilot via GSM per V.110 mit meinem  Computer?  
<label id="config_gsmv110">
<p>
Richte asyncPPP mit dem normalen pppd fuer ein ttyI* Device ein. Neben dem
Setzen der MSN musst Du das ttyI* Device mit dem Befehl <tt/ATS19=0/ fuer V.110
initialisieren. Die Baudrate setzt Du mit <tt/AT&amp;R9600/ auf 9600; pppd
wird mit den Optionen <tt/noccp/ und <tt/require-pap/ aufgerufen. Ein
Mini-Howto findest Du auf:
<url url="http://www.oltom.com/Linux/Docs/GSM%20over%20V.110%20Mini-HOWTO.txt">


<sect1> config_links: Welche hilfreichen Links gibt es zu ISDN4LINUX?  
<label id="config_links">
<p>
Hier folgen zur Zeit verfuegbare hilfreiche Links zur Konfiguration von ISDN4LINUX:
<itemize>
<item>Englisch: <url url="http://www.wurtel.demon.nl/i4l-howto-uk.html">
<item>Deutsch: <url url="http://www.franken.de/users/klaus/">
<item>Franzoesisch: <url url="http://www.perso.wanadoo.fr/philippe.latu/">
<item>Suse Support Datenbank: <url
url="http://www.suse.de/Support/sdb_e/index.html">; da gibt es auch ein ISDN
HOWTO (isdn.html) sowie eine Kurzanleitung zur Installation von ISDN (isdnquick.html).
<item>Tips zur Konfiguration unter Red Hat Linux:
<url url="http://www.webideal.de/rh-isdn/">
<item>Scripts und Installationstips von verschiedenen Leuten: <tt><url
url="http://www.rosat.mpe-garching.mpg.de/&tilde;web/ISDN.html"></tt> 
<item>Dokumentation zu ABC Erweiterungen:
<tt><url url="http://i4l.mediatronix.de/"></tt>
<item>Michael Hipp's Seite (allgemeine Informationen):
<tt><url url="http://www-ti.informatik.uni-tuebingen.de/~hippm/isdn.html"></tt>
<item>Tips zur Gebuehrenuebermittling:
<tt><url url="http://www.provi.de/&tilde;gvz/chargeint.html"></tt>
</itemize>


<!-- Troubleshooting
-->

<sect> trouble: Fehlerbeseitigung  
<label id="trouble">

<sect1> trouble_22memory: Ich kann ISDN auf meiner Maschine mit dem Kernel 2.2.x nicht starten. Ich bekomme die Fehlermeldungen "init_module: Device or resource busy" und "isdn: Could not allocate device-struct.".  
<label id="trouble_22memory">
<p>
Das scheint ein Speicherproblem zu sein. Waehrend 2.0.x Kernel mit kleiner
Speicherausstattung/langsamer Hardware funktionieren moegen (das
Anrufbeantworter-System des Autors ist ein 386er und laeuft mit 4MB RAM),
werden mindestens 16MB, wenn nicht mehr, von den 2.2.x Kerneln benoetigt. Du
kannst versuchen, den Speicherbedarf zu senken (siehe <ref
id="trouble_littlememory" name="trouble_littlememory">), ISDN4LINUX in den
Kernel fest einzubinden oder ein umfangreiches Programm zu starten und gleich
wieder zu beenden um diese Probleme zu mindern.

<sect1> trouble_littlememory: Wie kann ich den Speicherbedarf von ISDN4LINUX senken?  
<label id="trouble_littlememory">
<p>
Versuche die folgenden Ansaetze:
<itemize>
<item> Aendere in <tt>/usr/src/linux/include/linux/isdn.h</tt> die Zeile
<code>
#ifdef CONFIG_COBALT_MICRO_SERVER
</code>
in:
<code>
#if 1
</code>
und uebersetze den Kernel neu.
<item> Verringere die Werte von ISDN_MAX_DRIVERS und ISDN_MAX_CHANNELS in
<tt>include/linux/isdn.h</tt> und uebersetze den Kernel neu.
</itemize>

<sect1> trouble_strategy: Mein ISDN4LINUX funktioniert nicht! Wie loese ich das Problem am besten?  
<label id="trouble_strategy">
<p>
Empfohlen werden die folgenden Schritte:
<enum>

<item>Pruefe, ob beim Bootvorgang alles funktioniert. Gibt es ungewoehnliche
Fehlermeldungen in /var/log/messages? Laufen alle Programme, die beim Booten
gestartet werden sollten (zu ueberpruefen mit ps oder fuser /dev/xxx)? HiSax
startet nicht, wenn etwas nicht in Ordnung ist. Der alte Telestreiber scheint
jedoch zu starten, auch wenn er nicht funktioniert. Schau Dir die Fragen unter
"Fehlerbehebung bei Teles" an.
<item>Versuche, von einem Telefon aus anzurufen. Die Nummer sollte in
/var/log/messages angezeigt werden. Ansonsten wurde vielleicht der Treiber
falsch gestartet?!
<item>Als naechsten Schritt versuchen wir, ob das Telefon oder Faxgeraet laeutet,
wenn wir uns selbst mit einem ttyI Device ueber Minicom anrufen. Zuerst muessen
wir die Diensterkennung mit <tt>ATS18=1</tt> auf Audio setzen. Nun sollte das
Telefon bei der Eingabe von <tt>ATDxxxxxx</tt> klingeln, wobei xxxxxx Deine
eigene MSN ist.
<item>Jetzt versuchen wir eine Datenuebertragung mit ISDN. Oeffne 2 verschiedene
Konsolenfenster als root und starte in beiden Fenstern &dquot;minicom
-s&dquot;... im ersten Fenster setze &dquot;Serial Port Setup Serial
Device&dquot; auf <tt>/dev/ttyI0</tt> und im zweiten auf
<tt>/dev/ttyI1</tt>. Anschlie&szlig;end waehle &dquot;Exit&dquot; und starte die
Modem-Emulation mit &dquot;ATZ&dquot; und &dquot;AT&amp;Exxxxxx&dquot; (wobei
xxxxxx Deine eigene MSN ohne Vorwahl ist). Fertig. Im ersten Fenster waehlst Du
Deine eigene Nummer mit ATDxxxxxx. Im zweiten Fenster solltest Du nun
&dquot;CALLER NUMBER: xxxxxxx&dquot; und &dquot;RING&dquot; sehen. Nimm den
Ruf im zweiten Fenster mit &dquot;ATA&dquot; an und es erscheint die Meldung
&dquot;CONNECT 64000/X.75&dquot; in beiden Fenstern. Du kannst jetzt Zeichen
von einem zum anderen Fenster senden (schalte LOCAL ECHO ein um die Zeichen im
sendenden Fenster zu sehen).
<item>Nun versuche, eine bekannte ISDN Mailbox anzurufen. Wenn Du keine solche
kennst, versuche es bei Gernot (siehe <ref id="trouble_guestaccess" name="Gibt
es Sites, die einen Gastzugang anbieten, wo ich meine ISDN4LINUX-Einstellungen
testen kann?">). Bei Problemen mit der Modem-Emulation siehe
&dquot;Fehlerbehebung bei Modem-Emulation&dquot;
<item>Als sechsten Schritt versuche, das Netzwerk-Interface oder ipppd
einzurichten. Erfahrungsgemae&szlig; bereitet das den Anfaengern (und nicht nur den
Anfaengern!) die meisten Probleme.
Wenn Du mit asyncPPP zufrieden bist (ueber asyncPPP siehe die Frage
&dquot;pppd, ipppd, syncPPP, asyncPPP - was ist das? Was sollte ich
benutzen?&dquot;), kannst Du, um die Sache zu vereinfachen, den normalen pppd
mit Modem-Emulation (z.B. /dev/ttyI*) benutzen. 
<item>Versichere Dich, da&szlig; die Anmeldeprozedur richtig konfiguriert wurde
(siehe die Fragen in dem Bereich <ref id="pap" name="pap">).
</enum>      
Anderenfalls ist ein Beispielscript aus dem HowTo sehr zu empfehlen (siehe
Frage &dquot;Wo finde ich Scripts und andere Informationen zum Einrichten von
I4L?&dquot;). Zum Testen kannst Du Deinen eigenen Provider benutzen oder einen
der Gast-Zugaenge (siehe <ref id="trouble_guestaccess" name="Gibt es Sites, die
einen Gastzugang anbieten, wo ich meine ISDN4LINUX-Einstellungen testen
kann?">). Die letzteren bieten den Vorteil, da&szlig; sie die Log-Dateien sehen und
auch eine funktionierende Konfiguration feststellen koennen. Wenn z.B. eine
Verbindung ueber ipppd nicht zustande kommt, kannst Du Dich dort via Modem oder
Modem-Emulation einloggen und herausfinden, woran es lag. Nicht alle Provider
sind so kooperativ.... <tt>:-)</tt>

<sect1> trouble_boot: Wie stelle ich fest, ob meine ISDN-Karte korrekt erkannt wurde?  
<label id="trouble_boot">
<p>
<enum>
<item>Suche nach Fehlermeldungen in den Boot-Meldungen, die Du jederzeit mit
dem Befehl <tt/dmesg/ einsehen kannst.

<item>Bei dem HiSax Treiber: Waehrend des Bootens sollte eine Meldung
<tt>kernel: HSCX version A:5 B:5</tt> und <tt>kernel: channels 2</tt>
erscheinen. <tt>A:4 B:4</tt> ist ebenfalls in Ordnung. Andere Werte
(insbesondere <tt>A:??? B:???</tt>) bedeuten, da&szlig; die Karte nicht richtig
erkannt wurde.
HiSax wird nur geladen wenn die Hardware gefunden wird und die passenden
Interrupts ausgeloest werden koennen. Das bedeutet, die Karte ist richtig im
Computer installiert und es bestehen keine Hardware-Konflikte. Es bedeutet
nicht, da&szlig; alles funktionieren wird (z.B., verdrehte oder gebrochene Kabel,
falsch gesetzte Terminatoren).

<item>Ueberpruefe die korrekte Erkennung der Interrupts mit dem Befehl
<code>
cat /proc/interrupts
</code>
Das folgende Ergebnis zeigt, da&szlig; bei der Karte der Interrupt 11 eingestellt
ist und bisher 3 Interrupts ausgeloest wurden:
<verb>
11:        3 + hisax
</verb>
Bei einem Anruf an Dich selbst sollte sich die Anzahl der ausgeloesten
Interrupts erhoehen.

<item>Ueberpruefe die IO-Addressen mit
<code>
cat /proc/ioports
</code>
</enum>

<sect1> trouble_isdncause: Ich bekomme eine Fehlermeldung "cause: E1234" (oder so aehnlich)?  
<label id="trouble_isdncause">
<p>
Eine Erklaerung dieser Meldung bekommst Du mit dem Befehl <tt>man
isdn_cause</tt>.

<sect1> trouble_notelrings: Weder mein Telefon noch mein Fax klingelt wenn ich es mit ISDN4LINUX anrufe?  
<label id="trouble_notelrings">
<p>
ISDN4LINUX setzt beim Waehlen den Serviceindikator auf &dquot;digital
data&dquot;. Die Umschaltstation stellt solche Anrufe nicht an analoge Geraete
wie Telefon oder Fax durch.

<sect1> trouble_guestaccess: Gibt es Sites, die einen Gastzugang anbieten, wo ich meine ISDN4LINUX-Einstellungen testen kann?  
<label id="trouble_guestaccess">
<p>
Die folgenden Informationen sind ziemlich alt. Gib mir bitte bescheid, wenn Du
feststellst, da&szlig; die Gastzugaenge nicht mehr erreichbar sind:

Folgende Server bieten Gastzugaenge fuer Modem-Emulation oder IP:
<itemize>
<item>Eberhard Moenkeberg <tt><htmlurl url="mailto:emoenke@gwdg.de"
name="emoenke@gwdg.de"></tt>:
<itemize>
<item>Willkommen bei Linux auf eberhard.moenkeberg.de (LAN, 192.168.99.1).
ISDN Daten-Anrufe (HDLC-trans-rawip) fuer 192.168.99.1 werden unter der Nummer
++49-551-7704103 angenommen. Du solltest eine IP aus dem Bereich 192.168.*.*
haben, da manchmal meine &dquot;default&dquot; route nicht Deinen
Einstellungen entspricht.
/ftp ist fuer das NFS eingerichtet; versuche &dquot;showmount -e&dquot;.
Melde Dich als &dquot;guest&dquot; ohne Passwort an.
FTP als &dquot;gast&dquot; mit dem Passwort &dquot;gast&dquot; vermeidet die
eingeschraenkte Shell.
<item>Unter ++49-551-7704102 lauscht ein 28800 bps Modem und eine Creatix ISDN
Karte (HDLC only, not X.75) auf Anrufe.
<item>Mit dem unter <tt><url
url="ftp://ftp.gwdg.de/pub/linux/isdn/isdn4linux-gwdg/rc.isdn-Beispiel"></tt>
zu findenden Netz-Setup kannst Du NetCall unter 0551-7704103 erreichen
(funktioniert innerhalb Deutschlands so wie es dasteht, von ausserhalb
Deutschlands muss die Telefonnummer geaendert werden).
</itemize>

<item>Gernot Zander <tt><htmlurl url="mailto:hifi@scorpio.in-berlin.de"
name="hifi@scorpio.in-berlin.de"></tt>:
<quote>
Es gibt einen &dquot;Gast&dquot;-Zugang unter +49 30 67 19 81 01 (X.75,
mgetty). Dort liegt die Stones-HTML-Seite mit Bildern in Postscript-Format
bereit zum Testen eines Downloads. Jeder, der ein Ziel zum Anwaehlen braucht,
kann es benutzen. Auf ...81 03 lauscht ein getty mit HDLC. Als Gast betrittst
Du dort eine Art Mailbox und kannst einige News lesen.
</quote>
</itemize>

<sect1> trouble_unload: Ich kann meine ISDN Module nicht entladen (&dquot;isdn: Device or resource busy&dquot;) obwohl ich alle ISDN-Anwendungen geschlossen habe?  
<label id="trouble_unload">
<p>
In diesem Fall zeigt der Aufruf &dquot;fuser -v /dev/isdn* /dev/ippp*
/dev/cui* /dev/ttyI*&dquot; welche Prozesse diese Geraete belegen.
<itemize>
<item>Benutzt irgendein Programm noch das ISDN Device?
<item>Hast Du alle getty's beendet? (Sie koennten automatisch neu gestartet sein)
<item>Laufen isdnlog, imon, iprofd, usw. noch?
<item>Liegt vielleicht noch eine Route auf Deinem Netz-Interface und ist noch
nicht durch &dquot;route del xxx&dquot; geloescht?
<item>Vielleicht wurde das Netz-Interface nicht deaktiviert. Das kann
z.B. beim Killen des ipppd geschehen, der auf ein signal 15 nicht reagiert und
explizit durch &dquot;kill -9 &lt;ipppd pid&gt;&dquot; gekillt werden muss. Dann
bleibt das Netz-Interface &dquot;aktiv&dquot;.
</itemize>
Sporadische Fehler dieser Art koennen durch das Einfuegen von sleep-Befehlen
zwischen die Entlade-Befehle vermieden werden.
Als wirklich allerletzte Moeglichkeit gibt es zwei geheime telesctrl-Befehle um
den Module Counter zurueck zu setzen:
<code>
telesctrl id 3 1  --- dec module_count
telesctrl id 4 1  --- inc module_count
</code>
Diese sind mit der noetigen Vorsicht und auf eigenes Risiko zu benutzen!


<sect1> trouble_tcpdump: Warum funktioniert mein tcpdump nicht bei IP-Paketen, die ueber ISDN laufen? Wie kann ich tcpdump fuer ISDN patchen?  
<label id="trouble_tcpdump">
<p>
tcpdump kommt nicht immer mit den besonderen encapsulations zurecht, die mit
ISDN4LINUX moeglich sind, speziell nicht mit syncPPP. Zur Abhilfe muss tcpdump
gepatcht werden.

Michael Stiller <tt><htmlurl url="mailto:michael@toyland.ping.de"
name="michael@toyland.ping.de"></tt> schrieb am 23. Okt. 1996:

Tip fuer ftp:

<tt><url url="ftp://ftp.gwdg.de/pub/misc/isdn/linux/isdn4linux-gwdg"></tt>

Dort gibt es den Patch: &dquot;tcpdump-3.0.4-1-isdn.dif.gz&dquot;

und der Rest liegt auf:

/pub/linux/mirrors/funet/PEOPLE/Linus/net-source/tools/tcpdump-3.0.4-1.tar.gz

Du musst eventuell etwas aendern, abhaengig von dem Namen Deines ISDN Interfaces
(bei mir ist das bri0). Von sich aus erkennt der Patch nur Interfacenamen wie
isdn* und isdnY*.

Des weiteren schrieb Henning Schmiedehausen <tt><htmlurl
url="mailto:henning@pong.iconsult.com" name="henning@pong.iconsult.com"></tt>
am 30. Okt. 1996:
<quote>
Nachdem ich feststellte, da&szlig; der Patch von Eberhard Moenkeberg auf ftp.gwdg.de
mit CISCO-HDLC nicht zurechtkommt, schrieb ich meinen eigenen Patch fuer
tcpdump-3.0.4, der das Interface fragt, welche encapsulation es benutzt und
dann die entsprechende Einstellung vornimmt. Der Patch ist fuer die
tcpdump-3.0.4-1.tar.gz Distribution, erhaeltlich z.B. bei
</quote>
<tt><url url="ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/tools"></tt> 
<quote>
Dieser Patch erkennt rawIP, ISDN-IP und CISCO-HDLC und kann Dumps dieser
Pakete durchfuehren.
</quote>
(Der Patch war der Message beigefuegt  - man sollte ihn leicht im Archiv der
Mailingliste finden koennen - Editor.)

Sascha Ottolski <tt><htmlurl url="mailto:sascha@alzhimer.isdn.cs.tu-berlin.de"
name="sascha@alzhimer.isdn.cs.tu-berlin.de"></tt> gab am 05. Nov. 1996 den
folgenden Tip:
<quote>
Dies ist ein isdn4k-utils-2.0/tcpdump-3.0.3-isdn.diff ! Es funktioniert mit
folgenden Aenderungen:
In der Datei tcpdump-3.0.3-isdn/libpcap-0.0/pcap-linux.c findest Du nach dem
Patchen die folgende Zeile:
else if (strncmp(&dquot;ppp&dquot;, device, 3) == 0)
Entweder benennst Du Deine PPP-Devices pppX anstatt ipppX, oder Du aenderst
diese Zeile entsprechend, z.B.:
else if (strncmp(&dquot;ippp&dquot;, device, 4) == 0)
Dann erkennt tcpdump auch syncPPP. Es macht es zumindest bei mir.
</quote>

<sect1> trouble_locatecrash: Mein ISDN Treiber bringt meine Maschine zum Absturz! Seit ich ihn als Modul konfiguriert habe aendern sich die Addressen bei jedem Laden. Wie finde ich heraus, wo der Treiber abbricht?  
<label id="trouble_locatecrash">
<p> 
Der Treiber sollte mit dem Befehl &dquot;insmod -m&dquot; geladen werden. Die
Ausgabe des Befehls muss in eine Form aehnlich der System.map gebracht werden,
z.B. so:
<code>
insmod -m isdn.o | sort | sed -e 's/   / T /g' |
                   egrep '.* T (a-z,A-Z,_)+' &gt; /etc/isdn/isdn.map
cat /System.map /etc/isdn/isdn.map &gt; /iSystem.map
</code>
(Die Zeile mit &dquot;|&dquot; am Ende und die naechste Zeile bilden eine
Zeile!). Zum Aufspueren des Fehlers sollte dann iSystem.map anstelle von
System.map benutzt werden.

<sect1> trouble_lotsdebug: Meine Festplatte wird sehr aktiv wenn ISDN4LINUX laeuft. Wie kann ich das abstellen?  
<label id="trouble_lotsdebug">
<p>
Pruefe ob die erhoehte Festplattenaktivitaet an der Menge der Meldungen liegt,
die in das Logfile geschrieben werden. Wenn ja, kannst Du die Ausgabe durch:
<code>isdnctrl verbose 0
</code>
reduzieren und/oder &dquot;debug&dquot; aus den Optionen fuer den ipppd entfernen.

<sect1> trouble_oldhardware: Kann es sein, da&szlig; meine Hardware zu langsam ist?  
<label id="trouble_oldhardware">
<p>
Eigentlich laeuft ISDN4LINUX, wenn es sauber konfiguriert ist, auf viel
schwaecheren Maschinen als Du erwarten wirst (bei mir laeuft immer noch eine
aeltere Version auf einem 386-25, der nur 4MB RAM besitzt). Neuere Versionen
von ISDN4LINUX und des Kernels benoetigen jedoch mehr Speicher. Moeglicherweise
ist etwas Bearbeitung noetig um sie auf sehr alter Hardware laufen zu
lassen. Schau Dir die Frage <ref id="trouble_outofbuffers"
name="trouble_outofbuffers"> an, wenn Du knapp an Buffern wirst.  Siehe Frage
<ref id="trouble_littlememory" name="trouble_littlememory"> zur Reduzierung
des benoetigten Speichers.

<sect1> trouble_outofbuffers: Ich bekomme Meldungen wie &dquot;HSCX RME out of buffers&dquot;, &dquot;HSCX RFP out of buffers&dquot;, &dquot;HSCX B EXIR 10&dquot; im Syslog?
<label id="trouble_outofbuffers">
<p>

Diese Fehler tauchen auf, wenn I4L seine Buffer nicht schnell genug
verarbeiten kann, was oft durch schlechte Soundkarten oder deren Treiber
verursacht wird, die die Interrupts zu lange deaktivieren! Es kann auch durch
alte Hardware ausgeloest werden (passierte dem Autor der FAQ, der <tt/vbox/ auf 
einem alten 386-25 mit nur 4MB RAM benutzen wollte). Du kannst das mit einer
Erhoehung der Anzahl und Groe&szlig;e der Buffer umgehen. Suche in den Header-Dateien
des Sourcecodes nach Definitionen wie:
<code>
&num;define HSCX_RBUF_ORDER 1 
&num;define HSCX_RBUF_BPPS 2 
&num;define HSCX_RBUF_MAXPAGES 3 
</code>
Die ersten beiden Zeilen veraendern die Groe&szlig;e, die dritte Zeile veraendert die
maximale Anzahl der Buffer.

<sect1> trouble_noresetinit: Meine Karte wird nach einem Warmstart nicht richtig initialisiert.  
<label id="trouble_noresetinit">
<p>
Nach einem Anhalten des Systems mit dem Befehl <tt/reboot/ oder
<tt/Ctrl-Alt-Del/ solltest Du den Reset-Knopf druecken (= Kaltstart). Manchmal
braucht die Karte ein Hardware-Signal um richtig initialisiert zu werden.

<sect1> trouble_xosview: xosview zeigt nach der Installation von I4L keine Netzwerk-Aktivitaet mehr an.  
<label id="trouble_xosview">
<p>
Peter Hettkamp <tt><htmlurl url="mailto:Peter.Hettkamp@kassel.netsurf.de"
name="Peter.Hettkamp@kassel.netsurf.de"></tt> schrieb:
<quote>
xosview reagiert, zumindest bei mir in der Version 1.4, auf das IP Accounting
im Kernel. Also konfiguriere und, falls noetig, baue einen neuen Kernel und
aktiviere es mit:
<code>
ipfwadm -A -a -S deine-ip-addresse-hier -D 0.0.0.0/0
ipfwadm -A -a -D deine-ip-addresse-hier -S 0.0.0.0/0
</code>
(Ich weis nicht wie das mit dynamischen IP-Addressen geht. Ich habe eine feste 
Addresse.)
</quote>

<sect1> trouble_unknownhost: Wenn ich z.B. von einer W95-Box eine Seite in Netscape aufrufe, bekomme ich nur die Antwort &dquot;unknown host&dquot;.  
<label id="trouble_unknownhost">
<p>
Was ist auf der &dquot;Win95-Box&dquot; als Nameserver eingetragen? Solange
im LAN kein eigener Nameserver betrieben wird, muss natuerlich auf allen
Computern des LAN der Nameserver des Providers eingetragen werden.

<sect1> trouble_noroute: Die Addressen werden jetzt gefunden, doch nun bekomme ich die Meldung &dquot;no route to host&dquot;.  
<label id="trouble_noroute">
<p>
Pruefe nach:
<itemize>
<item>Ist der Linux-Computer als Gateway eingetragen? (Einige
'Betriebssysteme' muss man neu starten bevor die Aenderungen am Netzwerk 
wirksam werden)
<item>Hat der Router eine defaultroute vom eingerichteten Interface zum
Provider (z.B. ippp0 mit syncPPP oder sl0 fuer diald (auch wenn die
tatsaechliche Verbindung ueber ppp0 geht benutzt diald ein slip Interface als
&dquot;Tueroeffner&dquot;))?
<item>Schreibt der Provider den Gebrauch von Proxies vor? Dann muessen die
Addressen der Proxies bei den entsprechenden Clients im LAN eingetragen
werden. 
<item>Vielleicht wurde die Route beim Einsatz von syncppp entfernt? Schau Dir
die Fragen <ref id="syncppp_noroute" name="syncppp_noroute"> und <ref
id="syncppp_nodefaultroute" name="syncppp_nodefaultroute"> an.
</itemize>

<sect1> trouble_nolocalnet: Nach dem Booten ist mein lokales Netzwerk nicht mehr erreichbar. Ich benutze das Netzwerk-Interface ippp0 mit ifconfig 0.0.0.0; die defaultroute zeigt auf ippp0.  
<label id="trouble_nolocalnet">
<p>
Wolfgang Barth schrieb am 5. Januar 1997:
<quote>
Ich habe festgestellt, dass das lokale Netzwerk nach der ersten Verbindung
ueber ippp0 wieder erreichbar ist. Dann wird die Addresse 0.0.0.0 nicht mehr im 
ifconfig fuer ippp0 angezeigt sondern vielmehr die Addresse, die aus dem Pool
des PPP-Partners zugewiesen wird. 
Dies wurde bereits in de.comp.os.linux.networking behandelt, zusammen mit
dieser Loesung: 
Setze einfach ippp0 auf eine willkuerliche IP aus dem Pool. Dann wird das
lokale Netzwerk nach dem Booten auch mit der defaultroute Probleme haben und
die IP in ifconfig wird auf jeden Fall ueberschrieben.
</quote>

<sect1> trouble_unauthorizedcodechange: Beim Start von HiSax bekomme ich die Fehlermeldung 'Approval certification failed, unauthorized source code changes'? 
<label id="trouble_unauthorizedcodechange">
<p>
Da die Zulassung des HiSax-Treibers nur fuer den unveraenderten Quellcode gilt
ist dieser durch eine Pruefsumme geschuetzt. Wenn Du die Fehlermeldung bekommst, 
hast Du entweder selbst den Code geaendert oder der Autor hat nach einer
Aenderung die Pruefsumme nicht aktualisiert (moeglicherweise wurden die
Zulassungstests mit dem geaenderten Code noch nicht durchgefuehrt).


<!-- Config MSN
-->

<sect> msn: Konfiguration/MSNs  
<label id="msn">

<sect1> msn_my1: Wie lautet meine MSN? Was, wenn ich keine habe?  
<label id="msn_my1">
<p>
Deine Telefongesellschaft nennt Dir Deine MSN. Es ist Deine
Telefonnummer. Denke daran, da&szlig; Du in I4L mindestens eine MSN eintragen
<bf/musst/. Wenn Du keine hast, kannst Du `0' benutzen. `0' wird angenommen
wenn Deine Telefongesellschaft keine MSN mitteilt. Lies den Abschnitt <ref
id="countries" name="countries"> zusammen mit den folgenden Fragen, wie man
MSN(s) einrichtet.

<sect1> msn_my2: Wie finde ich heraus, wie meine Telefonnummer zur anrufenden Stelle uebertragen wird?  
<label id="msn_my2">
<p>
Die uebertragene MSN kann leicht durch einen Anruf bei Dir selbst (z.B. mittels 
Telefon) festgestellt werden. In den Log-Dateien findest Du einen Eintrag wie: 
&dquot;isdn_tty: call from XXX - YYY ignored&dquot; (dazu muessen natuerlich die 
ISDN-Treiber schon im Kernel konfiguriert und aktiv sein).

<sect1> msn_config: Wie stelle ich meine MSN ein?  
<label id="msn_config">
<p>
Wenn Deine Telefonnummer 56789 ist, wird sie folgenderma&szlig;en eingestellt:
<itemize>
<item>Modememulation: <tt>&dquot;AT&amp;E56789&dquot;</tt>
<item>Netzwerk Interface: <tt>&dquot;isdnctrl msn &lt;interface&gt; 56789&dquot;</tt>
<item>Bei Testanrufen an Dich selbst musst Du die Ortsvorwahl hinzufuegen
(z.B. 01234):
<code>
&dquot;isdnctrl addphone &lt;interface&gt; in 123456789&dquot; (ohne vorangestellte 0)
&dquot;isdnctrl addphone &lt;interface&gt; out 0123456789&dquot; (mit vorangestellter 0)
</code>
</itemize>
Es gibt dabei moeglicherweise nationale Unterschiede (siehe Abschnitt<ref
id="countries" name="countries">). 

<sect1> msn_mindialin: Wie kann ich den Gebrauch von MSNs bei digitaler Einwahl minimieren?  
<label id="msn_mindialin">
<p>
In I4L haben Netz-Interfaces Prioritaet. Daher reicht Dir eine MSN, wenn Du
folgendes Setup benutzt:
<enum>
<item>Konfiguriere Netz-Interfaces (sync ppp, rawip) fuer alle User, die sie
benutzen wollen (ipppd oder rawip), mit ihrer Einwahl-Telefonnummer
(Vorbedingung ist, da&szlig; diese uebermittelt wird).
<item>Konfiguriere ttyI* fuer alle anderen User (X.75, async ppp).
<item>Setze die Option `secure on'.
</enum>
In I4L haben Netz-Interfaces Prioritaet. `secure on' stellt sicher, da&szlig; nur
entsprechend eingestellte User mit einem Netz-Interface verbunden
werden. User, die zwischen beiden Moeglichkeiten waehlen wollen, muessen andere
MSNs zur Anwahl benutzen.

<sect1> msn_onlyone: Wie kann ich eine MSN fuer alles benutzen?  
<label id="msn_onlyone">
<p>

In Deutschland ist das kein Thema mehr seit man die ersten 10 MSNs kostenlos
von der Deutschen Telekom (<url
url="http://www.telekom.de/english/index.html">) bekommen kann. Andere
Telefongesellschaften moegen mehr oder weniger MSNs kostenlos
anbieten. Generell bekommt man mindestens 3 MSNs. Jedoch mag eine Minimierung
des Gebrauchs von MSNs in anderen Laendern immer noch interessant sein.

Ankommende digitale Daten koennen leicht durch den Code fuer die
'Dienstekennung' (&dquot;digital, data&dquot;) von Anrufen durch Stimme
(Telefon) bzw. analoge Modems unterschieden werden.

Die Unterscheidung zwischen Netz-Interfaces (ipppd, rawip) und ttyI* (X.75)
behandelt die vorhergehende Frage.

Um Telefon und analoges Modem parallel zu betreiben nutzt man mgetty fuer das
analoge Modem. Mgetty kann analoge Daten, Faxe und sogar Stimmen als
Anrufbeantworter empfangen, wenn das Modem dies unterstuetzt. Stelle mgetty auf
10 Klingelsignale ein. Wenn Du den Telefonhoerer abnimmst und ein Faxgeraet oder 
Modem hoerst, sendest Du ein USR1 Signal (<tt>kill -USR1 &lt;mgetty-pid&gt;</tt>) an
mgetty. Wenn Dein Telefonanschlu&szlig; richtig verdrahtet ist, wird das Modem die
Verbindung uebernehmen und das Telefon deaktivieren. Bei einem ISDN PBX kannst
Du einen Fax/Modem-Anruf an einen anderen analogen Port weiterleiten.

Kann Dein analoges Modem keine Stimmanrufe verarbeiten, so musst Du Dich
entscheiden, da hereinkommende Stimmanrufe nicht von analogen Faxen oder
Datenverbindungen unterschieden werden koennen. Entweder nimmst Du per VBOX
Deine Stimmanrufe als Anrufbeantworter auf oder Du vergisst Stimmanrufe ganz
und richtest Dein Modem nur zum Faxempfang und/oder analogen Datenverkehr ein.

<sect1> msn_buendel: Kann ich mehrere NTBAs, alle mit der gleichen MSN, benutzen?  
<label id="msn_buendel">
<p>
Ja, Du brauchst dazu jedoch die Hilfe Deiner Telefongesellschaft. Sie kann
mehrere BRIs mit gleicher MSN im Point-to-point-Modus einrichten. In
Deutschland nennt man das einen 'Buendelanschlu&szlig;'.

Beachte, da&szlig; in diesem Fall die MSN vielleicht nicht an Dich uebertragen
wird. Benutze dann die vorgegebene MSN 0.


<sect> lan: ISDN4LINUX im LAN  
<label id="lan">

<sect1> lan_config: Wie kann ich Linux so einstellen, da&szlig; andere Computer in meinem LAN das Internet ueber meinen Linux Computer erreichen koennen?  
<label id="lan_config">
<p>
Dazu gibt es verschiedene Moeglichkeiten:
<enum>
<item>Dein LAN ist ein offizielles Klasse-C-Netz mit im Internet gueltigen
IP-Nummern. Das ist am einfachsten einzustellen. Du gibst jeder Netzwerkkarte
in Deinem Netz eine dieser Addressen und setzt auf dem Linux Rechner eine
defaultroute auf die ISDN-Karte, die zu Deinem Provider fuehrt. Die anderen
Rechner im  LAN erhalten die Adresse der Netzkarte des Linux Rechners als
Gateway bzw defaultroute.
<item>Du moechtest von Deinem LAN nur auf HTTP im Internet zugreifen. In diesem 
Fall kannst Du beliebige IP-Addressen fuer Dein LAN einrichten; die einzige
offizielle IP ist die Deiner ISDN-Karte. Dann installierst Du einen
Proxyserver auf Deinem Linux-Router und traegst ihn in allen Browsern ein. Hier 
brauchst Du keine defaultroute einzurichten.
<item>Du moechtest Dich von Deinem LAN nur in Deinen Linux-Router einloggen und VON
DORT aus im Internet arbeiten. Das ist sogar noch einfacher. Du brauchst noch
nicht einmal einen Proxyserver.
<item>Benutze ip masquerading. Es ist am bequemsten im Gebrauch aber
schwieriger einzurichten. Der Linux Computer agiert als Gateway. Der Trick
dabei ist, da&szlig; er die IP-Addressen des LANs verbirgt und nur seine eigene
Internetaddresse als Antwort-Addresse angibt. Wenn Antworten eintreffen,
werden sie an den richtigen Computer im LAN weitergeleitet. Du kannst
masquerading auch mit dynamischen IP-Addressen benutzen. Wenn Du die
ISDN-Verbindung vom Linux Computer zu Deinem Internetprovider nicht manuell
starten willst solltest Du dial on demand einrichten (siehe Abschnitt <ref
id="dod" name="dod">).
</enum>

<sect1> lan_modemserver: Wie ermoegliche ich den Usern in meinem LAN, zum Waehlen die ISDN-Karte(n) in meinem Linux-PC zu benutzen (wie bei einem Modem-Server)?  
<label id="lan_modemserver">
<p>
Auf dem Linux-PC benutzt Du modemd, ein sehr kurzes Perl-Script:
<code>
&num;!/usr/bin/perl
select((select(STDOUT), &dollar;| = 1)(&dollar;());
select((select(STDIN), &dollar;| = 1)(&dollar;());
exec &dquot;cu&dquot;,&dquot;-E&dquot;,&dquot;''&dquot;, &dquot;-l&dquot;,
&dquot;&dollar;ARGV(0)&dquot;;
die &dquot;&dollar;0: Cannot exec cu: &dollar;!\n&dquot;;
</code>
Das muss vom inetd gestartet werden, also in /etc/inetd.conf eingetragen werden:
<code>
modem           20006/tcp       modemd  &num; Modem service via TCP
isdn            20007/tcp       modemd  &num; ISDN  service via TCP
</code>
Zusaetzlich benoetigst Du eine Software auf Deinen Computern ohne ISDN-Karte,
die einen seriellen Port emuliert, ihn aber per telnet auf den
Linux-ISDN-Computer umleitet. Einige Versionen von telnet besitzen diese Faehigkeit 
(z.B. einige uucicos).
Wenn Du generell allen Anwendungen eine Art &dquot;remote COM port&dquot;
anbieten willst, gibt es COMT fuer Windows (95) und &dquot;telser.device&dquot;
fuer Amigas. Nachteil von COMT: es steht nur 16Bit-Anwendungen zur Verfuegung.

COMT kannst Du bei Simtel oder auf einem der Spiegelserver finden:
<tt><url url="ftp://ftp.funet.fi/pub/simtelnet/win3/inet/comt200.zip"></tt>


<!-- Dialout
-->

<sect> dialout: Konfiguration des Hinauswaehlens  
<label id="dialout">

<sect1> dialout_config: Wie richte ich das Hinauswaehlen richtig ein?  
<label id="dialout_config">
<p>
Zuerst musst Du entscheiden wie Du hinauswaehlen willst. Du wirst Dich da nach
Deinem Verbindungspartner richten muessen. Dies sind die hauptsaechlichen
Moeglichkeiten:
<itemize>
<item> Sync PPP: Das erwarten die meisten Internet Service Provider von
Dir. Siehe Abschnitt <ref id="syncppp" name="syncppp">.
<item> Async PPP: Kann ebenfalls von Deinem Internet Service Provider benutzt
werden. Nimm es, wenn Sync PPP nicht funktioniert. Siehe Abschnitt <ref
id="asyncppp" name="asyncppp">.
<item> Raw IP: Am effizientesten fuer TCP/IP ueber ISDN. Es bietet sehr schnelles 
Hinauswaehlen, ist aber nicht sehr verbreitet. Siehe Abschnitt <ref id="rawip"
name="rawip">.
<item> X.75: Das brauchst Du zur Einwahl in eine ISDN-Mailbox. Siehe Abschnitt 
<ref id="ttyI" name="ttyI">.
<item> Leased line (Standleitung): Zu diesem speziellen Fall siehe Abschnitt
<ref id="leased" name="leased">.
</itemize>

Im Abschnitt <ref id="dod" name="dod"> liest Du wie dial on demand
eingerichtet wird - und welche Gefahren es birgt.

Mehr ueber erweiterte Eigenheiten des Hinauswaehlens findest Du bei der Frage
<ref id="dialout_advanced" name="dialout_advanced">.

Du solltest Dir auch den Abschnitt <ref id="remote" name="remote"> ansehen,
wenn Du eine Verbindung mit einem speziellen entfernten ISDN-Geraet aufbauen
willst.

<sect1> dialout_dialmode: Wenn ein IP-Paket ueber die Verbindung geschickt werden soll (was normalerweise ein Waehlen ausloest), bekomme ich im Log nur die Meldung &dquot;dial rejected: interface not in dialmode <tt/auto/&dquot; zu sehen?  
<label id="dialout_dialmode">
<p>
Die neuen ISDN-Treiber in 2.0.36 sind auf den manuellen Waehlmodus eingestellt,
nicht auf die automatische Anwahl. Das wurde gemacht, um unerwartete (und
unbemerkte) Waehlvorgaenge zu verhindern. (Lies den umfangreichen Abschnitt ueber 
diese Waehlvorgaenge und ihre Gefahren: <ref id="dod" name="dod">).
Um autodial fuer ein bestimmtes Interface (z.B. ippp0) einzurichten, nimmst Du
den Befehl <code>isdnctrl dialmode ippp0 auto</code>

Die Bedeutung der Werte fuer dialmode ist:
<descrip>
<tag/off/
bewirkt, da&szlig; Du (oder das System) keine Verbindung aufbauen kannst (weder
eingehende noch ausgehende Verbindungen sind moeglich). Benutze diese Option um 
sicherzustellen, da&szlig; keine Verbindungen aufgebaut werden.

<tag/auto/
bewirkt, da&szlig; sich das Interface im automatischen Waehlmodus befindet und
jedesmal, wenn ein Datenpaket des Netzwerkes den Verbindungsweg des Interfaces 
benutzen will, eine Verbindung aufbauen wird. Du solltest beachten, da&szlig; das
unerwartete Waehlvorgaenge ausloesen und zu einer hohen Telefonrechnung fuehren
kann! Das kann durch einige daemons oder andere PCs, die auf das Interface
zugreifen, ausgeloest werden. Eingehende Anrufe sind ebenfalls moeglich.

<tag/manual/
(VOREINSTELLUNG) ist ein Waehlmodus, der dazu geschaffen wurde, die
unerwarteten Verbindungsaufbauten zu verhindern. In diesem Modus wird das
Interface nie eine Verbindung von selbst aufbauen. Du musst die Verbindung
explizit mit:
<code>isdnctrl dial ippp0</code>
aufbauen.
Zum Beenden der Verbindung schreibst Du:
<code>isdnctrl hangup ippp0</code>.
Beachte bitte, da&szlig; <tt/huptimeout/ die Verbindung trotzdem automatisch
beendet! Du musst dies mit:
<code>isdnctrl huptimeout ippp0 0</code>
abstellen, um sicherzustellen, da&szlig; die Verbindung nur durch manuelles
Auflegen beendet wird.
</descrip>

Wie Du einem normalen Benutzer das Hinauswaehlen gestattest, erfaehrst Du bei
der Frage <ref id="dialout_permission" name="dialout_permission">.

<sect1> dialout_advanced: Welche speziellen Leistungsmerkmale des Hinauswaehlens gibt es?  
<label id="dialout_advanced">
<p>
Sieh Dir diese speziellen Leistungsmerkmale an:
<itemize>
<item> Spare Geld, indem Du kurz vor dem naechsten Gebuehrenimpuls einhaengst:
Siehe Abschnitt <ref id="chargeint" name="chargeint">.
<item> Verbindungen auf mehr als einem Kanal: Siehe Abschnitt <ref
id="2channel" name="2channel">.
<item> Rueckruf: Siehe Abschnitt <ref id="callback" name="callback">.
</itemize>

<sect1> dialout_permission: Wie gestatte ich einem normalen Nutzer, Verbindungen aufzubauen?  
<label id="dialout_permission">
<p>
Der Gebrauch von ISDN haengt ab von den Benutzerrechten an den Devices
<tt>/dev/ttyI*</tt> und <tt>/dev/cui*</tt>. Du hast mehrere Moeglichkeiten, um
gezielt Nutzern ISDN Verbindungen zu erlauben.
<enum>
<item>Du kannst die Gruppe `isdn' in <tt>/etc/group</tt> erstellen und dann:
<code>
chgrp isdn /dev/ttyI* /dev/cui*
chmod o-rw /dev/ttyI* /dev/cui*
</code>
eingeben.
Es wird berichtet, da&szlig; Du ebenfalls bei den Programmen <tt/ipppd/ und
<tt/isdnctrl/ die Gruppe und die Benutzerrechte auf 'isdn' setzen musst. Dann
haben alle Nutzer, die nicht in der Gruppe 'isdn' sind, keine Schreib- oder
Leserechte fuer die ISDN ttys. Diejenigen, die ISDN benutzen duerfen, muessen
explizit in die Gruppe 'isdn' aufgenommen werden.
<item>Du kannst festlegen, da&szlig; nur root hinauswaehlen darf, jedoch Ausnahmen
fuer andere Nutzer mit su1 schaffen (siehe man su1). Editiere als root
<tt>/etc/su1.priv</tt>. Fuege diese Zeilen hinzu, wenn sie (oder aehnliche)
nicht schon vorhanden sind, und erlaube damit den Nutzern XXXX und YYYY das
Waehlen und Auflegen:
<code>
# log all dialouts in syslog
syslog all
define PPPUSER XXXX YYYY
alias dial /sbin/isdnctrl dial ippp0
alias hangup /sbin/isdnctrl hangup ippp0
ask never
allow PPPUSER prefix dial
allow PPPUSER prefix hangup
</code>
Dann erstelle zwei Links fuer dial und hangup:
<code>
ln -s /usr/bin/su1 /usr/local/bin/dial
ln -s /usr/bin/su1 /usr/local/bin/hangup
</code>
Nun koennen die Nutzer XXXX und YYYY mit der Eingabe von <tt/dial/ hinauswaehlen 
und mit <tt/hangup/ auflegen.
<item>Wenn Du nur einen User fuer die ISDN-Aktionen benutzt, kannst Du ihn zum
Eigentuemer des ISDN-Interfaces machen.
</enum>

<sect1> dialout_manycards: Wie konfiguriere ich die Hinauswahl mit mehr als einer ISDN-Karte?  
<label id="dialout_manycards">
<p>
Es gibt mehrere Moeglichkeiten, die Hinauswahl einzurichten.
<itemize>
<item>Hinauswahl auf irgendeiner Karte (Voreinstellung: alle verfuegbaren
Karten bilden einen Pool, zur Hinauswahl wird eine MSN benutzt):
Konfiguriere Deine Karten einfach in der Reihenfolge, die zum Waehlen benutzt
werden soll. Zuerst werden alle Kanaele der ersten Karte benutzt, dann alle
Kanaele der zweiten Karte, usw. Beachte bitte, da&szlig; das Netz-Interface oder das
ttyI-Device versuchen wird, auf allen Karten die ihm zugeordnete MSN zu
benutzen, sogar auf den Karten, denen diese MSN nicht zugewiesen wurde! In
diesem Fall wird die Telefongesellschaft diese ungueltige MSN durch die
korrekte MSN ersetzen. Mit dem Befehl <tt/isdnctrl mapping/ stellst Du die
korrekten MSNs ein (siehe Punkt 'Hinauswahl mit einer bestimmten Karte').
<item>Hinauswahl auf einem bestimmten Kanal: Zur Angabe, welcher Kanal benutzt 
werden soll, dient der Befehl <tt/isdnctrl bind/ (nicht pppbind).
<item> Hinauswahl mit einer verschiedenen MSN fuer jede Karte:
Du stellst dies ein mit dem Befehl <tt/isdnctrl mapping/.

Definiere einfach eine Zuordnung der Ziffern 0 bis 9 zu den MSN's, etwa so:
<code>
isdnctrl mapping &lt;carddriver1&gt; 111,222,333,,
isdnctrl mapping &lt;carddriver2&gt; 999,888,,777
</code>
Jetzt koenntest Du bei der Konfiguration die Telefonnummer 0 verwenden, wenn
Du eigentlich auf &lt;carddriver1&gt; die MSN 111 oder auf &lt;carddriver2&gt; 
die MSN 999 meinst. (Weil aber 0 eine besondere Bedeutung hat, versuche die
Nummer 0 nicht zu benutzen.).
Konfiguriere zum Beispiel fuer die Telefonnummer die 1, wenn Du tatsaechlich die
MSN 222 auf &lt;carddriver1&gt; oder MSN 888 auf &lt;carddriver2&gt; benutzen
moechtest.
Konfiguriere fuer die Telefonnummer die 2, wenn Du tatsaechlich die MSN
333 auf &lt;carddriver1&gt; benutzen moechtest (&lt;carddriver2&gt; wird bei
Benutzung die standardmaessige MSN verwenden.). 
Konfiguriere fuer die Telefonnummer 3, wenn Du tatsaechlich die MSN 777 auf
&lt;carddriver2&gt; benutzen moechtest (&lt;carddriver1&gt; wird bei Benutzung
die standardmaessige MSN verwenden.). 

<item>Hinauswahl mit einer bestimmten Karte: Nach Installation eines Patches
gegen Kernel 2.2.12, den Karsten Keil auf der Mailingliste zur Verfuegung
stellte, kannst Du mit den Funktionen des Befehls <tt/isdnctrl mapping/ das
Waehlen mit einigen Karten verhindern.
<code>
isdnctrl mapping &lt;carddriver1&gt; 111,222,333,-,
isdnctrl mapping &lt;carddriver2&gt; 999,888,-,777
</code>
Das funktioniert wie in "Hinauswahl mit einer verschiedenen MSN fuer jede
Karte" beschrieben, das "-" bewirkt jedoch, da&szlig; das Waehlen nicht erlaubt
ist. Das Waehlen mit Telefonnummer 2 wird nun nur mit der MSN 333 mit
&lt;carddriver1&gt; durchgefuehrt, waehrend das Waehlen mit der Nummer 3 nur mit
MSN 777 mit &lt;carddriver2&gt; geschieht.
</itemize>


<!-- Authenticate properly
-->
<sect> pap: Saubere Authentifikation (speziell mit PAP)  
<label id="pap">

<sect1> pap_optionauth: Beim Hinauswaehlen bekomme ich die Meldung &dquot;pppd: peer authentication required but no authentication files accessible.&dquot; Was bedeutet das?  
<label id="pap_optionauth">
<p>
Wahrscheinlich wurde irrtuemlich die Option &dquot;auth&dquot; gesetzt. Dann
muss sich die <em>andere</em> Seite authentifizieren.

<sect1> pap_requestauth: Ich kann keine Verbindung aufbauen -  sie wird von der anderen Seite abgelehnt. Im Logfile finde ich eine Meldung, aehnlich wie: &dquot;sent (0) (LCP ConfReq id=0x1 mru 1500 auth pap magic 0xcd12e9c4&dquot;  
<label id="pap_requestauth">
<p>
Wie bei der letzten Frage wurde eine Option eingestellt, die verlangt, da&szlig; die 
<em>andere</em> Seite sich authentifiziert. Diese Optionen sollten vermieden
werden. Moegliche Kandidaten sind: &dquot;+pap&dquot; und &dquot;+chap&dquot;.

<sect1> pap_rejectauth: Ich kann keine Verbindung aufbauen - sie wird von der Gegenseite abgewiesen. Im Logfile finde ich eine Meldung, aehnlich wie: &dquot;sent (0) (LCP ConfRej id=0x1 auth pap&dquot;  
<label id="pap_rejectauth">
<p>
Dein Computer lehnt es ab, sich mit Usernamen (z.B. XXX) und Password
(z.B. YYY) zu identifizieren. Das funktioniert nur, wenn die
Autorisierungsoptionen &dquot;user XXX&dquot; und &dquot;remotename YYY&dquot;
fuer ipppd oder pppd richtig in einer korrekten (!) /etc/ppp/pap-secrets
eingetragen sind. Mit einem Password ZZZ sollte des so aussehen:
<code>
XXX YYY ZZZ *
</code>
Wenn das nicht funktioniert, kannst Du Wildcards benutzen, etwa so:
<code>
* * ZZZ *
</code>
Dann hat <em>jeder</em> Benutzer das Password ZZZ. Wenn chap zur Autorisierung 
benoetigt wird, muss /etc/ppp/chap-secrets korrekt eingestellt sein. Wichtig:
das Format ist nicht das gleiche wie bei pap-secrets!
Lies auf jeden Fall die READMEs oder schau Dir <tt><url
url="http://www.lrz-muenchen.de/&tilde;ui161ab/www/isdn/"></tt> an. Sieh Dir
ebenfalls die naechste Frage <ref id="pap_passwd" name="pap_passwd"> an.

<sect1> pap_checkpwd: Wie stelle ich fest, welches Password an die Gegenseite geschickt wird?  
<label id="pap_checkpwd">
<p>
Nutze die Optionen <tt/debug/ und <tt/+pwlog/ fuer ipppd oder pppd. Dann kannst 
Du Dein Password im Logfile sehen.

<sect1> pap_passwd: Ich habe Probleme mit der Authentifikation durch PAP oder CHAP. Sie schlaegt fehl obwohl ich sicher bin, Password usw. korrekt eingetragen zu haben.  
<label id="pap_passwd">
<p>
Stefan A. Muehlenweg <tt><htmlurl url="mailto:Stefan.A.Muehlenweg@samhh.hanse.de"
name="Stefan.A.Muehlenweg@samhh.hanse.de"></tt> schrieb am 4. Okt 1996:
<quote>
Ich hatte genau das gleiche Problem / die gleiche Fehlermeldung. Der Grund
dafuer war, da&szlig; ich drei Eintraege in chap-secrets / pap-secrets (fuer client,
server, secret) aber keinen vierten Eintrag (IP Addresse) hatte. ABER: hinter
dem dritten Eintrag kamen einige Leerzeichen. Nach dem Entfernen dieser
Leerzeichen und/oder TABs ist der (i)pppd jetzt sehr zufrieden mit meinen
Authentifizierungs-Dateien.
</quote>
Eine weitere Problemquelle kann das Password selbst sein. Wenn es das Zeichen
&dquot;&num;&dquot; enthaelt, wird alles Nachfolgende als Kommentar
verstanden. Leerzeichen oder TABs koennen gleiche Probleme verursachen. Loesung:
Setze das Password in Anfuehrungszeichen!


<!-- Config Sync PPP
-->

<sect> syncppp: Sync PPP  
<label id="syncppp">

<sect1> syncppp_whichppp: pppd, ipppd, syncPPP, asyncPPP .. was ist das alles? Welchen soll ich benutzen?  
<label id="syncppp_whichppp">
<p>
Siehe zu dieser Frage den Abschnitt in <em/async PPP/:
<ref id="asyncppp_whichppp" name="asyncppp_whichppp">.


<sect1> syncppp_compile: Wie kompiliere ich ISDN4LINUX mit syncPPP?  
<label id="syncppp_compile">
<p>
Zum Kompilieren des Kernels mit dem in ISDN4LINUX enthaltenen syncPPP musst
Du bei der Konfiguration die entsprechenden Fragen mit &dquot;yes&dquot;
beantworten. Vergiss nicht, da&szlig; das Modul slhc.o vor dem Modul isdn.o geladen
werden muss, wenn die VJ-Kompression nicht in den Kernel eingebunden wurde,
wenn Du z.B. kein PPP und kein CSLIP im Kernel hast. Der Gebrauch von
VJ-Kompression ist problematisch und funktioniert nicht verlae&szlig;lich - die
Unterstuetzung dafuer sollte jedoch trotzdem im Kernel vorhanden sein, da es
sonst zu Nebenwirkungen kommen kann.

<sect1> syncppp_netinterface: Wie sollte ich mein Netzwerk-Interface benennen?  
<label id="syncppp_netinterface">
<p>
Der Name des Netzwerk-Interfaces sollte <em>immer</em> mit &dquot;ippp&dquot;
beginnen, <em>nicht</em> mit &dquot;syncppp&dquot; oder &dquot;isdn&dquot;, da
in diesem Fall die Verstaendigung mit dem ipppd nicht ordentlich funktionieren
wird. Es sollte also <em>mindestens</em> ein &dquot;ippp0&dquot; vorhanden
sein. 

<sect1> syncppp_config: Wie richte ich ISDN4LINUX mit syncPPP ein?  
<label id="syncppp_config">
<p>
Synchronous PPP ist einfach eine weitere encapsulation fuer ISDN4LINUX. Diese
encapsulation wird &dquot;syncppp&dquot; genannt. Hier folgt ein Beispiel zur
Konfiguration des link level device ippp0:
<code>
/sbin/isdnctrl addif ippp0
/sbin/isdnctrl encap ippp0 syncppp
</code>
Alle in Gebrauch befindlichen ippp*-Devices muessen separat konfiguriert
werden. Jedes ippp*-Device sollte mit einer eigenen IP-Addresse versehen
werden (routing!). Mehrere ippp*-Devices koennen einer einzelnen MSN zugeordnet 
werden. Dann koennen mehrere Anrufer diese MSN gleichzeitig nutzen.

Zum Gebrauch dieser Devices benoetigst Du das Programm <tt/ipppd/, das Du
konfigurieren musst. ipppd muss nach dem Installieren der Module einmal
gestartet werden und dann kontinuierlich laufen, um das Hinaus- und
Hineinwaehlen zu ermoeglichen. Es kommuniziert mit den ISDN4LINUX link level
devices durch <tt>/dev/ippp0</tt> bis <tt>/dev/ippp63</tt>. Ein einzelnes
ipppd kann mit allen Devices zugleich arbeiten. Wenn Du zwei PPP-Verbindungen
zugleich brauchst, musst Du ipppd an zwei Devices binden, usw. Dadurch stellt
<tt/ipppd/ das Netzwerk-Device <tt>ippp0</tt> zur Verfuegung, das mit
<tt>ifconfig</tt> ueberprueft werden kann (obwohl es den gleichen Namen traegt,
darf das Netzwerk-Device <tt/ippp0/ nicht mit <tt>/dev/ippp0</tt> verwechselt
werden, das zur Kommunikation zwischen ipppd und dem link level verwendet
wird). 

ipppd hat eine weitere Option: &dquot;useifip&dquot; benutzt die IP-Addresse
des verbundenen Netzwerk-Interfaces (wenn diese nicht 0.0.0.0 lautet. Sogar
dann versucht ipppd, die Point-to-Point-Addresse als remote IP zu
benutzen). Zu Anfang solltest Du alle Kompressionsoptionen deaktivieren
(lzs/stac, bsd, van jacobson), spaeter kannst Du versuchen, sie zu aktivieren
(siehe Frage <ref id="syncppp_compression" name="syncppp_compression">).

Es ist sehr wichtig, die Authentifikations-Informationen sauber
einzustellen. Unsaubere Authentifikation ist das vermutlich meist beschriebene 
Problem in der Mailingliste. Arbeite bitte erst selbst den Abschnitt <ref
id="pap" name="pap"> komplett durch, bevor Du andere um Hilfe bittest.

In dem Paket isdn4kernel-util findest Du ein Konfigurationsbeispiel in der
Datei <tt>etc/rc.isdn.syncppp</tt>.

<sect1> syncppp_busy: Wie stelle ich fest, da&szlig; ein Verbindungsaufbau erfolglos war (besetzt)?  
<label id="syncppp_busy">
<p>
Wenn Du die Option <tt/defaultroute/ angegeben hast, wartest Du ein paar
Sekunden und kannst dann pruefen, ob die default route existiert. Eine weitere
Moeglichkeit besteht durch die Option <tt>useifip</tt>. Du findest dann im
syslog Eintraege wie <tt>&dquot;Local IP: x.y.z.a&dquot;</tt> und/oder
<tt>&dquot;Remote IP: x.y.z.a&dquot;</tt>. In beiden Faellen besteht eine
Verbindung. 

<sect1> syncppp_logindelay: Wie kann ich das Login beschleunigen?  
<label id="syncppp_logindelay">
<p>
Lass Dir eine Login-Prozedur im &dquot;Debug-Log&dquot; protokollieren und
suche danach, welche Optionen der andere Computer ablehnt. Danach
konfigurierst Du ipppd ohne diese nicht benoetigten Optionen. Ein Seiteneffekt
ist, da&szlig; solche unbenoetigten Optionen die Redundanz vergroe&szlig;ern (wenn der
andere Computer z.B. Fehler hat und die Optionen nicht korrekt ablehnt). Wie
Du ein Logfile erstellst siehst Du in <ref id="syncppp_log" name="syncppp_log">.

<sect1> syncppp_2configs: Ich moechte Verbindungen mit entfernten Maschinen aufbauen, die unterschiedliche Konfigurationen benoetigen. Die einzige Art dazu, die ich fand, besteht darin, den ipppd zu beenden und einen neuen mit anderer Konfiguration fuer die Verbindung mit der zweiten Maschine zu starten.    
<label id="syncppp_2configs">
<p>
Du musst ein Netzwerk-Interface explizit an ein ippp Device binden, mit dem
Du einen fuer dieses Interface individuell eingestellten ipppd verbinden
kannst. Mit dem (leider schlecht dokumentierten) Befehl 
<code>
isdnctrl pppbind &lt;interface&gt; &lt;Number&gt;
</code>
kannst Du das Interface interface an das Device Number binden. Du loest
diese Bindung wieder mit &dquot;pppunbind&dquot;. 

<sect1> syncppp_pppbind: Wie funktioniert der (wenig dokumentierte) Befehl &dquot;pppbind&dquot; in isdnctrl?  
<label id="syncppp_pppbind">
<p>
Zuerst musst Du wissen, wie ipppd seine Daten bekommt. Alle Daten, die ueber
die ISDN-Leitung hereinkommen, werden von den Netzwerk-Devices empfangen, die
mit isdnctrl eingestellt werden. Dann werden die Daten an eines der Devices
/dev/ippp* uebergeben - an eines, an dem der Systemdienst ipppd auf Daten wartet.

Was die Netzwerk-Interfaces betrifft, so koennen alle ipppds die gerade
eingegangenen Daten behandeln. Daher ist es normalerweise unmoeglich,
vorherzusagen, welcher ipppd Daten von welchem Netzwerk-Interface empfangen
wird.

In der Praxis installierst Du normalerweise mehrere ipppds mit
unterschiedlichen Einstellungen. Jeder davon sollte Daten
<em>ausschlie&szlig;lich</em> von einem bestimmten Netzwerk-Interface empfangen, das 
ebenfalls speziell eingestellt wurde. Der Befehl &dquot;pppdbind&dquot;
erfuellt genau diesen Zweck. Mit:
<code>
isdnctrl pppbind &lt;interface&gt; &lt;Number&gt;
</code>
wird das Interface &lt;interface&gt; an das Device
/dev/ippp&lt;number&gt; gebunden.

Beispiel: Die folgende Konfiguration bindet das Interface &dquot;ippp5&dquot;
an /dev/ippp2:
<code>
isdnctrl pppbind ippp5 2
</code>
Dementsprechend loest der Befehl &dquot;pppunbind&dquot; diese Bindung wieder
auf.

<sect1> syncppp_dynip: Ich moechte dynamisch zugeteilte IP-Addressen nutzen. Wie muss ich das Netzerk-Device konfigurieren?  
<label id="syncppp_dynip">
<p>
Zumindest musst Du eine route angeben, die ein Datenpaket an das ippp
Netzwerk-Interface uebergibt, um ein Hinauswaehlen auszuloesen. Eine defaultroute
auf das Interface ippp sollte funktionieren. Nun musst Du Deinem Interface
eine Dummy-Addresse zuteilen. Wenn Du aus irgendwelchen Gruenden die
defaultroute nicht auf das Interface ippp setzen kannst, nimmst Du irgendeine
Addresse aus dem Subnet, aus dem Du Deine dynamische IP-Nummer erwartest und
setzt eine 'network route' fuer dieses Subnet auf das Interface ippp. Rufe
ipppd mit der Option 'ipcp-accept-local' auf um das Ueberschreiben der
Dummy-Addresse zu ermoeglichen. Du musst wissen, wie ipppd die Addressen
bekommt, die er einstellen muss. Wenn Du keine Option aktivierst, versucht
ipppd, die Addresse des localhost zu uebertragen!  Mit der Option 'noipdefault' 
verlangt er eine Addresse von der entfernten Maschine. Mit 'useifip' bekommt
er die Addressen vom Netz-Interface. Du kannst die Addressen auch in der
Optionszeile mit der Option 'a.b.c.d:e.f.g.h' setzen. Hinweis: die IP-Addresse 
der entfernten Maschine muss lokal gesetzt werden oder die entfernte Maschine
muss sie in einem IPCP Request senden. Wenn Deine Seite die IP-Addresse nach
der Verhandlung nicht kennt, wird sie die Verbindung abbrechen! Du musst das
Ueberschreiben der Addressen mit den Optionen 'ipcp-accept-local/remote'
erlauben wenn Du Deine eigene oder die entfernte Addresse ausdruecklich gesetzt 
hast. Versuche als Beispiel diese Optionen:
<code>
/sbin/ipppd :&dollar;REMOTE noipdefault /dev/ippp0
</code>
wobei REMOTE die Addresse der entfernten Maschine ist (der Maschine, von der
Du Deine Addresse bekommst). 

<sect1> syncppp_ipx: Wie kann ich IPX ueber den ipppd betreiben?  
<label id="syncppp_ipx">
<p>
Uebergib dem ipppd die Option <tt/+ipx-protocol/.

<sect1> syncppp_faster: Wie kann ich meine Datentransferraten per PPP verbessern?  
<label id="syncppp_faster">
<p>
Du kannst mehr Kanaele mittels MPPP einrichten (siehe Abschnitt MPPP). Eine
weitere Moeglichkeit ist die Nutzung von Kompression, siehe Frage <ref
id="syncppp_compression" name="syncppp_compression">.

<sect1> syncppp_compression: Welche Kompressionsarten kann ich mit ipppd verwenden? 
<label id="syncppp_compression">
<p>
<itemize>
<item><em>Van Jacobson compression</em> (header compression) ist im experimentellen
Stadium. Bei manchen entfernten Geraeten funktioniert sie, bei anderen
nicht. Versuche sie auf eigenes Risiko. Wenn Du sicher gehen willst,
deaktiviere sie. 
<item><em>Lzs compression</em> (manchmal auch <em>Stac
compression</em> genannt) arbeitet ganz gut. Es ist jedoch etwas manuelle
Arbeit notwendig, um den Code in den ipppd einzufuegen (siehe Paket
isdn4k-util). 
<item><em>Bsd compression</em> scheint ebenfalls zu funktionieren, ist 
aber im experimentellen Stadium. Du findest sie im CVS-Baum.
</itemize>

<!-- Trouble ipppd
-->

<sect1> syncppp_strategy: Ich kann keine Verbindung bekommen. Wie finde ich das Problem?  
<label id="syncppp_strategy">
<p>
Die Meldungen des ipppd sind sehr hilfreich... (siehe naechste Frage: <ref
id="syncppp_log" name="syncppp_log">)
<itemize>
<item>Schau Dir die Fehlermeldungen an und beachte die folgenden Fragen...
<item>Schau, ob Du ein paar Meldungen mit dem Text &dquot;LCP-conf-req
SENT&dquot; (weniger als zehn) und dann ein &dquot;Term-Req&dquot; findest.
<item>Ueberpruefe, ob die ISDN-Karte richtig konfiguriert wurde, wenn
der Computer scheinbar nicht waehlt (IRQ, IO, Protokoll falsch?)
<item>Erscheinen wenigstens ein paar &dquot;RECV&dquot; Meldungen: gut! Die
Karte waehlt und der empfangende Computer versucht zu antworten. Vielleicht
funktioniert die Authentifizierung per pap/chap nicht (siehe Frage <ref
id="pap" name="pap">). Pruefe die Einstellungen des ipppd!
<item>Eine Meldung sagt, da&szlig; der ipppd aus irgendeinem Grund beendet wurde:
nicht so gut! Schau in <tt>/var/log/messages</tt>, <tt>/var/log/debug</tt> und 
<tt>/var/adm/daemon</tt> (wenn vorhanden) nach. Es koennte ein Fehler im ipppd
sein.
<item>Die Fehlermeldung <tt>cause E0010</tt> ist <bf/KEIN/ Fehler! Es ist nur
die informative Meldung, da&szlig; die Verbindung beendet wurde.
</itemize>

<sect1> syncppp_log: Wie bekomme ich ein Log des ipppd?  
<label id="syncppp_log">
<p>
Wenn die Option "debug" fuer den ipppd gesetzt wurde, erscheinen die Meldungen
normalerweise in <tt>/var/log/messages</tt>, <tt>/var/log/debug</tt> oder
<tt>/var/adm/daemon</tt> (abhaengig von Deiner Distribution).

Zur Fehlersuche kannst Du das PPP-Log in eine gesonderte Datei
umleiten. Editiere dazu die Datei <tt>/etc/syslog.conf</tt> und fuege die
folgende Zeile hinzu (Achtung: gebrauche KEINE Leerzeichen sondern TABs - Du
findest weitere Details mit <tt>man 5 syslog.conf</tt>):
<code>
daemon.*          /var/log/ppp-log
</code>
Nun werden alle Informationen des Dienstes PPP in die Datei /var/log/ppp-log
geschrieben. 
Emil Stephan <tt><htmlurl url="mailto:ste@esqhen.su.eunet.de"
name="ste@esqhen.su.eunet.de"></tt> schrieb dazu:
<quote>
Entferne das Kommentar-Zeichen vor dieser Zeile in /etc/syslog.conf:
<code>
&num;*.=debug        /tmp/debug
</code>
Nach der Aenderung dieser Datei kannst Du den syslogd mit &dquot;kill -1 pid of
syslogd&dquot; neu starten. Die Meldungen in /tmp/debug koennen zur Optimierung 
der PPP-Optionen genutzt werden.
</quote>

<sect1> syncppp_nopppsupport: Beim Start des ipppd bekomme ich die Fehlermeldung &dquot;this systems lacks ppp support&dquot;.  
<label id="syncppp_nopppsupport">
<p>
Pruefe, ob das Device &dquot;ippp0&dquot; existiert (z.B. mit dem Programm
&dquot;ifconfig&dquot;). 
Der ipppd <em>braucht</em> dieses Device mit exakt <em>diesem</em>
Namen. Wenn es nicht existiert, muss es definiert werden:
<code>
isdnctrl addif ippp0
isdnctrl encap ippp0 syncppp
(weitere Informationen in der Dokumentation zu I4L...)
</code>
Vielleicht hast Du den ipppd mit den Quellen eines Kernels, den Du nicht
benutzt, kompiliert...
Siehe auch die Frage &dquot;Wie sollte ich mein Netzwerk-Interface
benennen?&dquot; unter &dquot;Sync PPP&dquot; im vorhergehenden Bereich
&dquot;Konfiguration&dquot;. 

<sect1> syncppp_nousabledevice: Wenn ich ipppd starten will, bekomme ich die Meldung &dquot;Can't find usable ippp device&dquot;  
<label id="syncppp_nousabledevice">
<p>
Diese Meldung taucht dann auf, wenn das Verbindungs-Interface hinauswaehlen
soll, ipppd aber noch nicht laeuft oder nicht verfuegbar ist.

<sect1> syncppp_starterror: Beim Start von ipppd bekomme ich nur Fehlermeldungen vom I4L-Treiber.  
<label id="syncppp_starterror">
<p>
Wenn ipppd gestartet wird, ruft er Funktionen auf, die den Transport eines
Netzwerkpaketes ausloesen koennen (z.B. gethostbyname()). Ohne ipppd (da zu
dieser Zeit ipppd noch nicht komplett gestartet ist) kann dieser
Netzwerkzugriff nicht durchgefuehrt werden.
Versuche, die gesuchten Host-Namen in die lokale /etc/hosts zu schreiben oder
sonst irgendwie zu definieren, soda&szlig; sie ohne Zugriff auf das
ISDN-/ippp-Interface aufgeloest werden koennen. 

<sect1> syncppp_framesdelayed: Ich bekomme die Meldung <tt>IP frames delayed</tt> - aber keine Verbindung.  
<label id="syncppp_framesdelayed">
<p>
Hast Du tatsaechlich hinausgewaehlt? Sieh Dir die Frage <ref
id="dialout_dialmode" name="dialout_dialmode"> und Deine Konfiguration der
verschiedenen Dialmodi an.

<sect1> syncppp_noroute: Ich kann mit dem Befehl <tt>isdnctrl dial ippp0</tt> nicht hinauswaehlen. Die Route zu ipppd scheint zu fehlen, obwohl ich sie <bf/wirklich/ gesetzt habe (<tt>network unreachable</tt>). Mit dem alten Kernel 2.0 funktionierte alles einwandfrei!  
<label id="syncppp_noroute">
<p>
In den neueren Kernel muss der Befehl <tt>route</tt> als letztes Kommando vor 
dem Waehlbefehl stehen. Anderenfalls loescht der Kernel die Route.

<sect1> syncppp_nodefaultroute: Nachdem ipppd hinausgewaehlt hat ist meine defaultroute verschwunden.  
<label id="syncppp_nodefaultroute">
<p>
Das liegt am Kernel. Bei neueren Kernel (= 2.0.x) gibt es einige Aenderungen
beim Routing. Loesung: installiere ein Script /etc/ppp/ip-up, das in
etwa so aussieht:
<code>
&num;!/bin/sh
/sbin/route add default ippp0
</code>
Beachte bitte, da&szlig; das bei Kernel 2.2.x  NICHT funktioniert (das Routing wurde 
wieder geaendert). Uebergib statt dessen die Option "defaultroute" an den ipppd.

Wenn Du Deine Verbindungen manuell herstellst, kannst Du so etwas wie dieses
Script benutzen:
<code>
/sbin/isdn
&num;! /bin/sh
case &dollar;1 in
on)
/sbin/isdnctrl dial ippp0       &num;  aufbauen der Verbindung
sleep 5                         &num;  abwarten
/sbin/route add default ippp0   &num;  Route setzen
;;
off)
/sbin/isdnctrl hangup ippp0     &num;  Verbindung beenden
/sbin/route del default         &num;  Loeschen der Route
;;
*)
echo -e &dquot;\a Usage: 'isdn on' or 'isdn off'&dquot;
;;
esac
</code>
Beachte bitte, da&szlig; bei Kernel 2.2.x die Kommandos <tt>route add default</tt>
und <tt>route del default</tt> NICHT benutzt werden duerfen. Uebergib statt
dessen die Option "defaultroute" an den ipppd.

<sect1> syncppp_packettoolarge: Ich bekomme oft die Fehlermeldung
<tt>hscx_empty_fifo: incoming packet too large</tt>  
<label id="syncppp_packettoolarge">
<p>
Vermutlich ist eine der Kompressionsoptionen aktiviert (funktionieren mit I4L
nicht so gut). Mehr dazu in der naechsten Frage.
Ein weiterer moeglicher Grund koennte ein IRQ-Problem sein - siehe Frage
&dquot;Warum sollte ich IRQ 12 und 15 fuer meine ISDN-Karte vermeiden?&dquot;.
Das Problem kann auch durch `&num;'-Zeichen in der Datei pap-secrets
verursacht werden. In diesem Fall musst Du den Benutzernamen und/oder das
Passwort mit Anfuehrungszeichen einrahmen (je nachdem, was betroffen ist).

<sect1> syncppp_slow: Die Verbindung mit ipppd scheint zu stehen, bricht aber schlie&szlig;lich zusammen oder ist sehr langsam.  
<label id="syncppp_slow">
<p>
Vermutlich ist eine der Kompressionsoptionen aktiviert (die I4L nicht sauber
behandeln kann). Verbreiteter Fehler: &dquot;-vj&dquot; muss *zusaetzlich* zu
&dquot;-vjccomp&dquot; gesetzt werden, um die VJ-Kompression voellig
abzuschalten - in den Beispielscripts von ipppd ist diese Option schon nicht
mehr enthalten.
Auch andere Kompressionsmodi (bsd, pccomp) koennen Probleme verursachen. Daher
solltest Du alle Kompressionsoptionen deaktivieren (siehe auch Frage <ref
id="syncppp_compression" name="syncppp_compression">). Auch die Option
&dquot;noccp&dquot; kann da helfen.

<sect1> syncppp_loadproblem: Ich habe nur dann Probleme mit ipppd, wenn die Verbindung sehr stark belastet wird. Dann bleibt alles stehen. Wodurch kann das hervorgerufen werden?  
<label id="syncppp_loadproblem">
<p>
Sven Engelhardt <tt><htmlurl url="mailto:sven@sik.de"
name="sven@sik.de"></tt> schrieb am 12. Dezember 1996:
<quote>
Wir sind ein ISP in Dresden und benutzen Linux (neben anderen Systemen) fuer
unseren Zugang (mit I4L ebenso wie mit externen Terminaladaptern).
Wir haben dieses Problem hauptsaechlich mit Kunden, die unter Windows 95 und NT
die &dquot;enthaltene&dquot; (Modem Netzwerk) Software benutzen. Es ist dabei
unerheblich, ob der Kunde sich mit asynchronem oder synchronem PPP
einwaehlt. Es spielt auch keine Rolle, welche Modememulation er auf seiner
Seite benutzt. Was sie gemeinsam haben ist, da&szlig; die Verbindung mit Microsoft's 
Modemadapter und Microsoft's PPP hergestellt wird (obwohl mir ein Kollege
kuerzlich von einem aehnlichen Problem mit einem Macintosh-Kunden erzaehlte).
Da es bei PPP keinen Unterschied macht, wer der Server und wer der Client ist, 
solltest Du Deinen ISP fragen, welche Hardware er zur Einwahl benutzt (wir
hatten keine Probleme mit Linux-Kunden und Benutzern von Trumpet Winsock,
daher vermuten wir einen Fehler in MS-PPP).
Die folgende Abhilfe funktioniert normalerweise bei uns: (es ist keine Kur,
aber es lindert die Schmerzen...)
<itemize>
<item>Reduziere den Wert fuer Max MTU auf 576 oder sogar 296
<item>Reduziere das DefaultRcvWindow auf 2144
</itemize>
Bei Windows 95 sind das zwei Eintraege in der Registry, unter Linux kannst Du
die Optionen &dquot;mtu 576&dquot; und &dquot;mru 576&dquot; fuer PPP
setzen. (Siehe auch: <tt><url
url="http://www.winfiles.com/connect/trouble.html"></tt>)
</quote>

Erik Corry <tt><htmlurl url="mailto:ec@sign-tronic.dk"
name="ec@sign-tronic.dk"></tt> fuegte am 16. Dezember 1996 hinzu:
<quote>
Bei mir half weder das Abschalten der PPP Kompressionsoption noch das Setzen
von mru/mtu auf 296. Was half, war der AT-Befehl:
<code>
AT&amp;B512
</code>
der die gesendeten Pakete auf 512 Bytes begrenzt.
</quote>

<sect1> syncppp_mtu: Mein ipppd funktioniert. Ich bekomme jedoch laufend die Meldung &dquot;pppd(104): ioctl(SIOCSIFMTU): Invalid argument&dquot;.  
<label id="syncppp_mtu">
<p>
Wenn der Wert mtu nicht festgesetzt ist, wird ein Defaultwert angenommen -
moeglicherweise &dquot;0&dquot;, der natuerlich nicht korrekt sein kann. Fuege
<tt>&dquot;mtu 1024&dquot;</tt> zu Deinen Optionen fuer ipppd hinzu (1500 kann
auch funktionieren). 

<sect1> syncppp_1stpacket: Bei automatischer Hinauswahl mit dynamischer Zuteilung der IP-Addresse geht das erste IP-Paket verloren.  
<label id="syncppp_1stpacket">
<p>
Es gibt ein paar Probleme mit der Hinauswahl in Verbindung mit syncPPP und
dynamischer Zuteilung der IP-Addresse. In diesem Fall aendert sich Deine
IP-Addresse waehrend Pakete auf die Versendung warten. Alle Pakete, die vor
dieser IP-Addressaenderung verschickt werden, haben dann die falsche
Rueckantwort-Addresse und werden nie eine Rueckmeldung erhalten. Moegliche
Loesungen sind:
<itemize>
<item>Manuelle Hinauswahl mit &dquot;isdnctrl dial ipppN&dquot;
<item>Benutze diald zur Kontrolle ueber den Zeitpunkt des
Verbindungsauf-/abbaus.
<item>Besorge Dir eine feste IP-Addresse
<item>Eine Abhilfe ist in den neuesten Kernels enthalten und kann so aktiviert 
werden:
<code>
echo 7 > /proc/sys/net/ipv4/ip_dynaddr
</code>
Bei einer SuSE-Distribution kannst Du diese Abhilfe durch das Setzen von
<tt/IP_DYNIP=&dquot;yes&dquot;/ in <tt>/etc/rc.config</tt> aktivieren.
</itemize>

<sect1> syncppp_droppacket: Was bedeutet die Meldung &dquot;No phone number, packet dropped&dquot;?  
<label id="syncppp_droppacket">
<p>
Michael Engert <tt><htmlurl url="mailto:michi@bello.wor.de"
name="michi@bello.wor.de"></tt> schrieb im Nov/Dez 1996:

Das bedeutet, da&szlig; Dein Computer ein IP-Paket von jemandem hat, der vor wenigen 
Sekunden online war aber die Verbindung inzwischen unterbrochen hat. Dein
Computer versucht nun, dieses Paket zu verschicken und findet auch eine
passende Route. Das Interface isdn(0|1|...) kann jedoch den Zielcomputer nicht 
erreichen, da es keine Telefonnummer zum Hinauswaehlen findet.

<sect1> syncppp_leadingzero: Warum waehlt mein ipppd eine Null zuviel (<tt>&dquot;ippp0: dialing 0 089XXXXXX...&dquot;</tt>)? Ich habe keine Nebenstellen!  
<label id="syncppp_leadingzero">
<p>
Die erste Null wird nicht gewaehlt. Sie zeigt die Anzahl der Waehlversuche,
festgelegt vom Parameter <tt/isdnctrl dialmax/.

<sect1> syncppp_ethfake: Wenn ich die Werte meines ISDN-Devices mit ifconfig abfrage, wird es mit HWaddr und IRQ=0 und base address = 0 angezeigt.  
<label id="syncppp_ethfake">
<p>
Das ISDN-Device taeuscht ein Ethernet-Device vor. Es ignoriert IRQ und baseaddr
und benoetigt nur die HWaddr fuer die Ethernet-Encapsulation.


<!-- Config Async PPP
-->

<sect> asyncppp: Konfiguration von asynchronem PPP  
<label id="asyncppp">

<sect1> asyncppp_whichppp: pppd, ipppd, asyncPPP, syncPPP - was ist das? Welches sollte ich benutzen?  
<label id="asyncppp_whichppp">
<p>
<bf>asyncPPP</bf> ist ein auf Zeichen basierendes Protokoll, das vorwiegend auf
analogen seriellen Leitungen verwendet wird (async = asynchron). Du musst dazu 
das Programm <tt/pppd/ mit den Devices ttyI* benutzen.

Im Gegensatz dazu ist <bf>syncPPP</bf> ein bit-orientiertes Protokoll (sync =
synchron), bei dem das originale <tt/pppd/ nicht benutzt werden kann. Michael
Hipp hat eine abgeleitete Version namens <tt/ipppd/ geschrieben, die die
Netz-Devices ipppd* benutzt.

I4L kann beide Arten verwenden. Es kommt darauf an, was Deine ISDN-Gegenstelle 
benutzt. Wenn Du sofort nach Verbindungsaufbau Frames gesendet bekommst, bist
Du vermutlich mit einer Maschine mit syncPPP verbunden. Ein Anzeichen einer
asyncPPP-Verbindung ist es, wenn Du ueber einen Terminalschirm einloggen und
dann <tt/pppd/ starten kannst.

Normalerweise funktioniert <bf/syncPPP/ recht gut und es ist etwas
effizienter. Die Vorteile neuer Leistungsmerkmale des <tt/pppd/ erhaeltst Du
beim Gebrauch von <bf/asyncPPP/.

<sect1> asyncppp_config: Wie richte ich asyncPPP ein?  
<label id="asyncppp_config">
<p>
Richte einen ganz normalen pppd ein, allerdings zum Gebrauch eines der ttyI*
Devices, z.B. /dev/ttyI0. Du kannst mehrere pppds mit unterschiedlicher
Einstellung auf unterschiedlichen ttyI* Devices einrichten.

Es ist sehr wichtig, da&szlig; die Authentifizierungsinformationen richtig
eingestellt werden. Unsaubere Authentifikation ist das vermutlich meist
beschriebene Problem in der Mailingliste. Bitte, arbeite den Abschnitt <ref
id="pap" name="pap"> erst selbst komplett durch, bevor Du andere um Hilfe
bittest. 

Bei Problemen solltest Du auch den Abschnitt ueber die Probleme bei syncPPP
beachten, da sowohl pppd (asyncPPP) als auch ipppd (syncPPP) viele
Konfigurationsprobleme gemein haben.

<sect1> asyncppp_logindelay: Wie kann ich das Login beschleunigen?  
<label id="asyncppp_logindelay">
<p>
Lass Dir eine Login-Prozedur im &dquot;Debug-Log&dquot; protokollieren und
suche danach, welche Optionen der andere Computer ablehnt. Danach
konfigurierst Du ipppd ohne diese nicht benoetigten Optionen. Ein Seiteneffekt
ist, da&szlig; solche unbenoetigten Optionen die Redundanz vergroe&szlig;ern (wenn der
andere Computer z.B. Fehler hat und die Optionen nicht korrekt ablehnt). Wie
Du ein Logfile erstellst siehst Du in &dquot;Wie erstelle ich ein Log fuer
ipppd&dquot;.

<sect1> asyncppp_fast: Wie kann ich meine Datentransferraten per PPP verbessern?    
<label id="asyncppp_fast">
<p>
Du kannst mehrere Kanaele mit MPPP nutzen (siehe Frage <ref id="2channel_mppp"
name="2channel_mppp">). 
Fuer alle, denen das zu teuer ist und die <em>asyncPPP</em> benutzen, gibt es
einen kleinen Trick. Mit der Option &dquot;asyncmap 0&dquot; vermeidest Du, 
da&szlig; Steuerzeichen (ASCII-Codes kleiner als 32) in extra Zeichen
eingerahmt werden, die ihre Sonderstellung markieren sollen (derartige
Mechanismen muessen zwischen beiden Partnern abgesprochen werden,
andernfalls kommt es zu Missinterpretationen und Synchronisationsverlust).
Wenn die andere Seite das mitmacht, verbesserst Du die Transferrate um
ungefaehr 12&percnt; (im Besten aller Faelle!).

<sect1> asyncppp_log: Wie erstelle ich ein Log des pppd?  
<label id="asyncppp_log">
<p>
Schau bei der Frage <ref id="syncppp_log" name="syncppp_log"> nach, es
funktioniert mit pppd genauso.

<sect1> asyncppp_suddendeath: Der Verbindungsaufbau funktioniert gut. Der pppd bricht jedoch kurz danach ab (d.h., das erste Byte geht durch, danach haelt alles an).  
<label id="asyncppp_suddendeath">
<p>
Das wird vermutlich durch eine nicht korrekte Blockgroe&szlig;e auf Deiner Seite
verursacht. Verwende fuer Dein ttyI*-Device den Init-String <tt/AT&amp;B512/
oder eine noch kleinere Blockgroe&szlig;e.


<!-- Raw IP
-->

<sect> rawip: Raw IP  
<label id="rawip">

<sect1> rawip_whatis: Was ist Raw IP, wann sollte ich es benutzen?  
<label id="rawip_whatis">
<p>
Raw IP kommt ohne Protokolle wie X.75, HDLC (fuer Modememulation, usw.) oder
PPP aus. Die TCP/IP-Pakete werden direkt ausgetauscht.
Raw IP hat sowohl Vor- als auch Nachteile.
Vorteile:
<itemize>
<item> Kein handshaking (= schnellerer Verbindungsaufbau)
<item> Autorisierung durch Caller ID (= schnell, sicher, kein Password)
<item> Feste IP-Addresse (= eine abgebbrochene Verbindung kann durch
Wahlwiederholung fortgesetzt werden)
<item> Hoehere Datentransferraten
<item> Bessere Stabilitaet (kleinerer Treiber = fast ohne Fehler)
</itemize>
Nachteile:
<itemize>
<item> Kein handshaking 
=&gt; Die Konfiguration muss vorher stattfinden (IP-Addressen,...)
=&gt; sollte nicht mit mehreren Providern gleichzeitig genutzt werden 
<item> Autorisierung nur durch Caller ID
=&gt; Einwahl nur von einer vorher bekannten Telefonnummer moeglich
<item> Feste IP-Addresse
=&gt; muss im Voraus bekannt sein, es werden mehr IP-Addressen benoetigt, kein
dynamisches Zuteilen von Addressen moeglich.
</itemize>
Aufgrund dieser Zusammenstellung sollte klar sein, unter welchen
Voraussetzungen die Verwendung von raw IP sinnvoll ist.


<!-- ttyI* devices
-->

<sect> ttyI: Konfiguration der ttyI* Devices (`Modememulation')  
<label id="ttyI">

<sect1> ttyI_nomodem: Die ttyI* Devices emulieren doch ein analoges Modem, oder nicht?  
<label id="ttyI_nomodem">
<p>
Nein! Die ttyI* Devices bieten nur ein aehnliches Kommunikations-Interface, fuer 
das alle Befehle mit <em/AT/ beginnen. Das vereinfacht die Benutzung alter
Software, die fuer Modems geschrieben wurde. <bf>Die Verbindung mit einem
entfernten analogen Modem mittels ttyI* Devices ist nicht moeglich!</bf> Die
tatsaechliche Verbindung laeuft digital, nicht analog.

<sect1> ttyI_dev: Welche Devices sollte ich fuer ausgehende/eingehende Rufe verwenden?  
<label id="ttyI_dev">
<p>
Es sollten nur die ttyI* Devices verwendet werden. Die cui* Devices werden nur 
aus Kompatibilitaetsgruenden angelegt. Seit es mgetty gibt besteht kein Grund,
die cui* Devices weiterhin zu benutzen. Bei ihrer Verwendung funktioniert das
locking nicht einwandfrei (mehrere Programme koennten gleichzeitig versuchen,
auf das gleiche Device zuzugreifen).

<sect1> ttyI_hdlc: Wie stelle ich die Modememulation von X.75 um auf HDLC?  
<label id="ttyI_hdlc">
<p>
Mit der Option S14=3; z.B. &dquot;ATS14=3&dquot;..

<sect1> ttyI_uucp: Wie kann ich mit Taylor-UUCP unter Verwendung von ISDN4LINUX Nachrichten holen?  
<label id="ttyI_uucp">
<p>
Wie gewohnt, genauso wie mit seriellen Schnittstellen. Benutze einfach
/dev/ttyI* als Device. Du musst nur die richtige MSN oder EAZ fuer die
Modememulation per Init-String setzen: &dquot;AT&amp;Emsn/eaz&dquot;.

<sect1> ttyI_speed: Welche Geschwindigkeit sollte ich fuer die ttyI* Devices einstellen?  
<label id="ttyI_speed">
<p>
Das spielt keine Rolle. Der Treiber nutzt intern immer die volle
Geschwindigkeit von ISDN. Das wird auch in der Verbindungsmeldung angezeigt.


<!-- Trouble ttyI* devices
-->

<sect1> ttyI_nocarrier: Beim Waehlen mit &dquot;ATD.....&dquot; bekomme ich immer die Antwort &dquot;NO CARRIER&dquot;.  
<label id="ttyI_nocarrier">
<p>
Vor dem Waehlen musst Du den String &dquot;AT&amp;E123456&dquot; eingeben
(wobei 123456 Deiner MSN entspricht; bei 1TR6 muss die einstellige EAZ
angegeben werden).


<sect1> ttyI_noincall: Mein ttyI* Device/pppd registriert keine ankommenden Gespraeche.  
<label id="ttyI_noincall">
<p>
Vermutlich hast Du Deiner Modememulation nicht mitgeteilt (mit
<tt>AT&amp;E</tt>), welche MSN benutzt werden soll. Wenn Deine MSN z.B. 123456 
lautet, musst Du <tt>AT&amp;E123456</tt> eingeben.

<sect1> ttyI_callphone: Warum kann ich nicht ueber die ttyI* Devices mit meinem Telefon oder Fax waehlen?  
<label id="ttyI_callphone">
<p>
Das kannst Du. ISDN unterscheidet jedoch die verschiedenen Dienste. Alle ueber
die ttyI* Devices hinausgehenden Rufe benutzen den Dienst &dquot;Digital
Data&dquot;, der zu Telefon und Fax inkompatibel ist. Dadurch geht der Ruf nie 
hinaus. Aendere die Diensteerkennung mit dem Befehl <tt>ATS18=1</tt> auf Audio,
dann kannst Du das Telefon oder das Fax waehlen lassen.

<sect1> ttyI_noconnect: Ich bekomme keine Verbindung zu meiner ISDN Mailbox/BBS.  
<label id="ttyI_noconnect">
<p>
Da gibt es mehrere moegliche Protokolleinstellungen. Es gibt HDLC, X.75 und
mehrere moegliche Blockgroe&szlig;en bei X.75. Die Blockgroe&szlig;e uebergibst Du der
Modememulation mit <tt>AT&amp;B</tt>. Gebraeuchlich ist eine Blockgroe&szlig;e von 2048 Byte: <tt>AT&amp;B2048</tt>.

<sect1> ttyI_forcehangup: Meine Modememulation haengt. Wie kann ich meine Karte zum Auflegen zwingen?  
<label id="ttyI_forcehangup">
<p>
Wenn tatsaechlich kein Prozess mehr Deine Modememulation benutzt, versuche dieses:
<code>
cu -l /dev/ttyI0 dir
+++
ath0
&tilde;.
</code>
Vor und nach &dquot;+++&dquot; musst Du eine Sekunde warten, sonst erkennt
Deine Modememulation die Escapesequenz nicht (wie bei einem normalen
Modem). Beachte Prozesse (mit &dquot;ps -ax&dquot;), die sowas wie
&dquot;I0&dquot; oder &dquot;I1&dquot; in der zweiten Spalte zeigen. Sie haben
ein ISDN Terminal als kontrollierendes Terminal. Du musst sie eventuell mit
kill beenden.


<sect1> ttyI_channelclosed: Waehrend einer Verbindung ueber tty bekomme ich eine Meldung des Kernels: &dquot;teles_writebuf: channel not open&dquot;. Danach wird keine Eingabe mehr von der Verbindung angenommen.  
<label id="ttyI_channelclosed">
<p>
Das kann geschehen, wenn der Partner die gro&szlig;en Frames von I4L nicht annehmen 
kann und den B-Kanal waehrend der Uebertragung schlie&szlig;t. Versuche, die Frames
mit &dquot;AT&amp;B512&dquot; zu verkleinern.

<sect1> ttyI_uucp: Beim Gebrauch von UUCP mit X.75 bekomme ich immer Uebertragungsfehler!  
<label id="ttyI_uucp">
<p>
Andreas Gutzwiller <tt><htmlurl url="mailto:andy@hippo.proxyon.imp.com"
name="andy@hippo.proxyon.imp.com"></tt> schrieb am 5. Dezember 1996:
<quote>
Ich musste folgende Einstellungen benutzen, sonst bekam ich nur Fehlermeldungen.
<code>
&num; Prot
protocol-parameter g packet-size 512
protocol-parameter g short-packets y
protocol-parameter g window 7
protocol-parameter g remote-window 7
protocol-parameter v packet-size 512
</code>
Nun erreiche ich mit gro&szlig;en Paketen ca. 7300 cps.
</quote>
Holger Burbach <tt><htmlurl url="mailto:holly@cthulhu.pfalz.de"
name="holly@cthulhu.pfalz.de"></tt> bot am 5. Februar 1997 eine andere Loesung
an:
<quote>
Ich habe mehrere XP-User, die ohne Probleme pollen. Ich tat das Folgende:
Zuerst setzte ich die Groe&szlig;e der zu sendenden Pakete fuer ttyI? auf 1024
(&dquot;AT&amp;B1024&dquot;) und anschlie&szlig;end die Paketgroe&szlig;e fuer das g
Protokoll in UUCP:
<code>
protocol-parameter g packet-size 2048
protocol-parameter g remote-packet-size 0
</code>
Wie gesagt, es funktioniert gut..
</quote>


<!-- Dial on demand = Unwanted dialouts
-->

<sect> dod: Unerwuenschte Hinauswahl mit dial-on-demand  
<label id="dod">

<sect1> dod_how: Wie funktioniert dial-on-demand?  
<label id="dod_how">
<p>
Nachdem Du ein Netzwerk-Interface eingerichtet und eine Route dafuer definiert
hast, werden alle IP-Pakete, fuer die eine Route dorthin eingestellt
wurde, zu diesem Interface geleitet. Wenn <tt/autodial/
aktiviert wurde (siehe Frage <ref id="dialout_dialmode"
name="dialout_dialmode"> zu den Dialmodes), wird das Interface beim Vorliegen
von abzusendenden IP-Paketen automatisch eine Hinauswahl
durchfuehren. Das bedeutet, da&szlig; <bf>jeder</bf> Benutzer eine Hinauswahl
verursachen kann.

Beispiel: Du oeffnest einen Browser mit leerer Startseite oder mit einer lokalen
Homepage. Es passiert nichts. Wenn Du nun einen URL eingibst, werden dadurch
IP-Pakete zum Netzwerk-Interface gesendet und es wird eine Hinauswahl
ausgeloest.

Der Gebrauch von dial-on-demand ist ein gefaehrliches (= kostspieliges) Feature:
siehe Frage <ref id="dod_disaster" name="dod_disaster">.

<sect1> dod_disaster: Was ist ein Gebuehren-GAU?  
<label id="dod_disaster">
<p>
Der Gebuehren-GAU kann aus verschiedenen Gruenden eintreten (Details unter <ref
id="dod_causes" name="dod_causes">). Das Resultat ist jedoch gleich: Dein
Computer waehlt Deinen ISP oefter an als Dir lieb ist und erhoeht  dadurch Deine
Telefonrechnung um einen gro&szlig;en Betrag (besonders dann, wenn Du nicht nur die
Online-Zeit sondern auch einen Mindestbetrag/Einheitsbetrag fuer jede Einwahl
bezahlen musst). Der Ausdruck 'gro&szlig;er Betrag' ist recht dehnbar. Alles ist
moeglich:
<itemize>
<item>"Billig": Jede DNS-Anfrage oeffnet die Leitung und verursacht mehrere
Waehlvorgaenge pro Tag (ja nach Deinen Programmen). Bei 10 Vorgaengen pro Tag
sind das etwa 300 unnoetige Waehlvorgaenge pro Monat.
<item>"Nicht ganz so billig": Irgendein Windows 95 Computer in Deinem LAN loest 
alle 15 Minuten einen Waehlvorgang fuer eine seiner albernen Meldungen aus
(siehe Frage <ref id="dod_winclient" name="dod_win95">). Das macht 96 Anwahlen 
pro Tag oder 2880 pro Monat.
<item>"Mittelma&szlig;": Dein Email-Programm ist so eingestellt, da&szlig; es alle 5
Minuten prueft, ob neue Nachrichten bei Deinem ISP bereit liegen. Das ergibt
288 Waehlvorgaenge pro Tag, 8640 pro Monat.
<item>"Kostspielig": &dquot;Keep alive&dquot;-Pakete verhindern, da&szlig; Deine
Verbindung je getrennt wird. Du bist dauernd online. Hinweis: DIES IST NICHT
DER SCHLIMMSTE FALL!
<item>"Noch kostspieliger": Irgend etwas geht schief mit den dynamischen
Addressen und es bleiben beim Auflegen offene Sockets uebrig. Diese loesen beim
Versuch, das Problem zu loesen, eine neue Anwahl aus. Da Du jetzt aber eine
neue IP-Addresse hast, kann das Problem nicht aufgeloest werden. Die Verbindung 
wird schlie&szlig;lich beendet (abhaengig von Deiner Timeout-Einstellung), wird aber
sofort wieder hergestellt, da die Sockets eine weitere Anwahl ausloesen. Hast
Du kein Glueck, so bekommst Du nie die gleiche IP-Addresse wieder und die Sache 
wiederholt sich endlos. Du bist fast dauernd online, jedoch musst Du
zusaetzlich noch fuer viele Waehlvorgaenge bezahlen: Wenn Dein Timeout auf 30
Sekunden steht, werden daraus 2880 Waehlvorgaenge pro Tag, 86400 pro Monat.
<item>"Am kostspieligsten - Schlimmster Fall": Du konfigurierst dialout/callback
falsch. Wenn Dein (der initiierende) Computer Deinen ISP anwaehlt und dieser
dann die Verbindung abbricht (weil z.B. die Anmeldung fehlschlaegt -
vielleicht ist er auch falsch konfiguriert), so waehlt Dein Computer sofort
neu. Dies wird nur begrenzt durch die Zeit, die fuer das Waehlen benoetigt
wird. Wenn wir fuer jeden Versuch 2 Sekunden veranschlagen (konservativ
geschaetzt), werden daraus 43200 Vorgaenge pro Tag oder 1296000 pro Monat!
</itemize>

Dies ist kein Scherz, all diese Dinge sind tatsaechlich passiert, sogar bei
richtigen ISDN4LINUX-Experten! Schau bei Frage <ref id="dod_off"
name="dod_off"> nach, wie Du jedes Risiko, da&szlig; dies Dir passiert, vermeiden
kannst.

<sect1> dod_causes: Wodurch wird ein Gebuehren-GAU ausgeloest?  
<label id="dod_causes">
<p>
Da gibt es viele Moeglichkeiten. Bei Frage <ref id="dod_strategy"
name="dod_strategy"> erfaehrst Du, wie Du herausfindest was gerade
passiert. Bei der Frage <ref id="dod_disaster" name="dod_disaster"> erfaehrst
Du dann, wie teuer das sein kann. Es folgt eine nicht vollstaendige Liste von
Ursachen:
<enum>
<item>Du hast Deinen Kernel irrtuemlich mit der Option Bridging kompiliert.
<item>ARP Anfragen oder Broadcasts? Du solltest <tt>ifconfig</tt> mit den
Optionen <tt>-arp</tt> und <tt>-broadcast</tt> aufrufen und dadurch das
Herstellen von Verbindungen aus diesen Gruenden vermeiden. Du erkennst diese
Ursache daran, da&szlig; Du einen Waehlvorgang hast aber <em/keine/ Daten uebertragen
werden.
<item>Andere Broadcasts von den Interfaces werden von ISDN weitergeleitet.
<item>Wenn IP-Verbindungen noch geoeffnet sind waehrend die Leitung geschlossen
wird und die IP-Addressen dynamisch vergeben werden, ist die Katastrophe
unausweichlich. Es wird eine neue Verbindung aufgebaut, um die offenen
IP-Verbindungen zu schlie&szlig;en. Das misslingt, da die neue IP-Addresse anders
lautet. Die Leitung wird aufgelegt aber die offenen IP-Verbindungen sind immer 
noch vorhanden. Daher wird neu gewaehlt, und so weiter... Dies wird nur durch
den RST-Revoking Patch vermieden, der in die Kernel 2.0.x eingebunden ist,
jedoch nicht in den Kerneln 2.1/2.2/2.3. Du kannst jedoch einen angepassten
Patch fuer die Kernel 2.2.x und etwas Hintergrundwissen dazu von <url
url="http://www.another.de/linux/router/"> bekommen. Benutze dabei die Option
"defaultroute" des ipppd anstatt <tt>route add/del default</tt> in ip-up/ip-down.
<item>Anfragen von Deinem lokalen DNS loesen einen Waehlvorgang aus: siehe Frage 
<ref id="dod_localdns" name="dod_localdns">.
<item>Sendmail loest den Waehlvorgang aus: siehe Frage <ref id="dod_sendmail"
name="dod_sendmail">.
<item>Windows 95 Clients loesen den Waehlvorgang aus: siehe Fragen <ref
id="dod_winclient"  name="dod_win95">,
<ref id="dod_localdns" name="dod_localdns">,
und <ref id="dod_winclient" name="dod_win95b">.
<item>Samba loest den Waehlvorgang aus: siehe Frage <ref id="dod_samba"
name="dod_samba">.
<item>Netscape loest beim Start einen Waehlvorgang aus: siehe Frage <ref
id="dod_netscape"  name="dod_netscape">.
<item>Schlie&szlig;e manuell noch offene IP-Verbindungen wenn die Leitung
unterbrochen wird: siehe Frage <ref id="dod_closeipconnect"
name="dod_closeipconnect">.
<item>Dein Computer ist abgestuerzt, erzeugt aber noch Interrupts: siehe Frage
<ref id="dod_onlineoncrash" name="dod_onlineoncrash">.
</enum>

<sect1> dod_off: Wie kann ich Dial-on-Demand verlaesslich abschalten?  
<label id="dod_off">
<p>
<enum>
<item>Wenn Du immer manuell waehlen willst, setze den Dialmode auf <tt/manual/
(siehe Frage <ref id="dialout_dialmode" name="dialout_dialmode">).
Dann benutze <tt>isdnctrl dial &lt;device&gt;</tt> zum Hinauswaehlen und
<tt>isdnctrl hangup &lt;device&gt;</tt> zum Beenden der Verbindung.
<item>Richte Deinen Dialmode korrekt ein (siehe Frage <ref
id="dialout_dialmode" name="dialout_dialmode">). Setze z.B. den Dialmode auf
<tt/manual/ in <tt/ip-down/. Dann findet eine automatische Hinauswahl nur
einmal statt, wenn Du den Dialmode auf <tt/auto/ setzt.
<item>Entferne die Telefonnummer des Interfaces oder stelle eine ungueltige
Nummer ein. Dann kannst Du an den Beschwerden im syslog sehen, ob ein Prozess
Pakete in die Welt hinaus schicken will.
<item>Schalte das System ab.
<item>Loesche die Route zum ISDN-Device.
Ein Beispiel, wie jedes automatische Waehlen vermieden wird:
<code>
/sbin/route del default
/sbin/isdnctrl system off
/sbin/ifconfig ippp0 down
</code>
So laeuft wieder alles normal:
<code>
/sbin/isdnctrl system on
/sbin/ifconfig ippp0 up 
/sbin/route add &dollar;GATE-IP dev ippp0
/sbin/route add default ippp0
</code>
Diese Methode hat den Nachteil, da&szlig; ueberhaupt kein Waehlvorgang moeglich ist.
</enum>

<sect1> dod_strategy: Wie ueberpruefe ich unerklaerbare Waehlvorgaenge?  
<label id="dod_strategy">
<p>
Das Finden der Ursache von unerwarteten Waehlvorgaengen ist der erste Schritt,
sie zu stoppen.
Dieses Finden ist jedoch normalerweise schwieriger als die Problemloesung. Hier 
sind Vorschlaege, was Du tun kannst:
<itemize>
<item> Zuerst trennst Du Deinen Dialout-Server von Deinem LAN, um
herauszufinden, wer fuer die Waehlvorgaenge verantwortlich ist: der
Dialout-Server selbst oder ein Client in Deinem LAN. Bei Windows Clients siehe
Frage <ref id="dod_winclient" name="dod_winclient">.
<item> Versuche, mit &dquot;isdnctrl verbose 3&dquot; herauszufinden, welches
TCP/IP-Paket die Verbindung ausloest. Es sollte in den Kernelmeldungen
(anzusehen mit <tt>dmesg</tt>) etwas in dieser Art auftauchen: <tt>OPEN:
141.76.60.54 - 193.171.67.253 TCP, port: 1686 - 540</tt>. In diesem Beispiel
versucht unser Computer, auf dem Port 540 Mail abzuholen (UUCP ueber TCP/IP
ueber ISDN) - die Portnummer kann man in <tt>/etc/services</tt>
nachsehen. Beachte bitte, da&szlig; nur das ausloesende Paket gemeldet wird.
<item> Wenn Du ipppd benutzt: erstelle ein tcpdump, das Dir die Daten der
syncPPP encapsulation zeigt (dazu benoetigst Du eventuell einen Patch - siehe
Frage <ref id="trouble_tcpdump" name="trouble_tcpdump">).
<item> Versuche, einen Systemdienst nach dem anderen zu deaktivieren und
pruefe, ob sich die Sache beruhigt. named, sendmail und auch smbd (Samba) sind
gute Kandidaten fuer das Aufbauen von Verbindungen (siehe Fragen <ref
id="dod_localdns" name="dod_localdns">, <ref id="dod_sendmail"
name="dod_sendmail">, <ref id="dod_samba" name="dod_samba">).
<item> Wenn broadcasts das Problem sind, kannst Du auch die Zieladdresse auf
das dummy0-Interface legen. Das ist zwar nicht sauber aber es funktioniert.
</itemize>

<sect1> dod_winclient: Kann es sein, da&szlig; die Win95-Maschine in meinem LAN automatische Waehlvorgaenge ausloest?  
<label id="dod_winclient">
<p>
Ja. Beim Start von Windows 3.11/95 versucht dieses, sich mit dem Nameserver
Deines Providers zu unterhalten (falls bekannt) um einige Domains aufzuloesen
(z.B. WORKGROUP.xxx). Hier folgen Moeglichkeiten, dieses zu vermeiden:
<itemize>
<item> Schalte die Option <tt>Use DNS for Windows Names Resolution</tt> auf
allen Windows-Computern Deines LAN ab.
<item> Setze einen lokalen DNS auf, der alle Anfragen beantwortet. Siehe Frage
<ref id="dod_localdns" name="dod_localdns">.
</itemize>

<sect1> dod_localdns: Ich habe einen lokalen DNS eingerichtet. Warum loest dieser unerwuenschte Anwahlen aus? Wie finde ich die Ursache?  
<label id="dod_localdns">
<p>
Schalte in named den Debug-Level 1 ein und schau Dir das Logfile in
<tt>/var/tmp</tt> an. Du findest da sehr oft normale DNS-Anfragen von
Windows-Maschinen. Das Problem ist, da&szlig; Namen wie "WORKGROUP.domain.de"
abgefragt werden, d.h., Namen, die der DNS nicht kennen kann. Windows scheint
nach seinem master browser oder einem Domain-Controller zu suchen
(deutschsprachige Leser finden in der ct 12/99, Seite 224: "Schnitzeljagd -
Netzwerkumgebung und Browserdienst im Windows-Netzwerk" weitere Details). Zur
Umgehung dieses Problems muss der Name der Workgroup per DNS aufgeloest
werden koennen. Oder setze einen Primary Domain Controller in Deinem LAN ein.

<sect1> dod_sendmail: Wie kann ich erreichen, da&szlig; sendmail zwar keine Verbindungen aufbaut aber trotzdem die lokale Mail ausliefert?  
<label id="dod_sendmail">
<p>
Zuerst musst Du sendmail dazu bringen, keine DNS-Verbindungen zu oeffnen. Du
musst die Optionen &dquot;nodns&dquot; und &dquot;nocanonify&dquot;
aktivieren.

Wenn Du einen smarthost hast, musst Du sicherstellen, da&szlig; wegen ihm kein
Nameserver abgefragt wird. Du kannst den smarthost direkt mit seiner
IP-Addresse angeben oder seinen Namen in /etc/hosts eintragen (/etc/host.conf
sollte dann die Zeile &dquot;order hosts bind&dquot; enthalten).

Setze alle nicht lokalen Mailer auf &dquot;expensive&dquot;
(&dquot;define(SMTP_MAILER_FLAGS, e)&dquot;) und verbiete dann sendmail,
automatisch ueber diese <it>teueren</it> Wege zu verbinden (mit
&dquot;define(`confCON_EXPENSIVE', `True')&dquot;). Der Aufruf von sendmail
sollte keine Zeitangabe fuer die Option &dquot;-q&dquot; enthalten (d.h., nur
&dquot;-bd -os -q&dquot;). &dquot;-os&dquot; bewirkt, da&szlig; alle Mails in die
Warteschlange eingereiht werden (was nicht verhindert, da&szlig; lokale Mails sofort 
ausgeliefert werden). Der einzige Haken ist, da&szlig; sendmail beim Booten Mail,
die noch in der Warteschlange liegt, ausliefern will, obwohl das Netzwerk noch 
nicht laeuft. Deshalb solltest Du beim Booten alle Mails aus /var/mqueue
entfernen bevor sendmail gestartet wird und nach dem Start von sendmail wieder 
dort ablegen.

Mail an <it>teuere</it> Mailer wird nun nur durch den expliziten Aufruf
&dquot;sendmail -q&dquot; abgeschickt.

<sect1> dod_samba: Das Samba-Paket loest bei mir immer Waehlvorgaenge aus. Wie kann ich das vermeiden?  
<label id="dod_samba">
<p>
Andreas Glahn <tt><htmlurl url="mailto:andreas@tao.westfalen.de"
name="andreas@tao.westfalen.de"></tt> schrieb am 31 Januar 1997:
Ich hatte das gleiche Problem. Dann gab ich beim Start des Samba-Demons diesem 
die interne IP-Addresse, die ich hier zuhause benutze. Seither wird eine
Anfrage von Samba nicht mehr an das default gateway geschickt sondern bleibt
intern.

Schau Dir die Konfiguration mit netstat und tcpdump an. Mit tcpdump findest Du 
schnell heraus, zu welcher IP-Addresse Samba verbinden will.

Mein interner Linux Computer hat z.B.: 192.168.99.99
und
mein Win95 Computer hat:               192.168.99.88

Auf dem Linux Computer starte ich Samba mit:
<code>
nmdb -S -B 192.168.99.255 -I 192.168.99.99
</code>
Schau Dir auch die vorherige Frage an: benutze -broadcast und vielleicht -arp 
bei der Definition des Interfaces!

<sect1> dod_netscape: Wie kann ich Netscape abgewoehnen, beim Start eine Verbindung aufzubauen?  
<label id="dod_netscape">
<p>
Meistens ist in den Preferences eine nicht lokale Homepage eingetragen. Nur
eine Homepage, die Netscape sofort laden kann
(z.B. &dquot;file://localhost/xxx&dquot;), loest keinen sofortigen Waehlvorgang
aus. Alternativ kannst Du einen Cache Demon einrichten, der oft benoetigte
Seiten speichert.

Ein Proxy duerfte keine Anwahl ausloesen, selbst wenn der komplette Name
eingegeben wird. Nur bei Angabe eines neuen Proxy fragt Netscape einen DNS ab
und loest dadurch einen Waehlvorgang aus.
Steffan Henke <tt><htmlurl url="mailto:henker@informatik.uni-bremen.de"
name="henker@informatik.uni-bremen.de"></tt> schrieb jedoch am 17. Maerz 1997:
<quote>
Ungluecklicherweise hat uns die Wirklichkeit eingeholt. Ich hoerte, da&szlig; Netscape 
jetzt in Version.4.02 tatsaechlich eine Verbindung aufbaut...
</quote>

<sect1> dod_closeipconnect: Nach dem Auflegen einer Leitung stelle ich mit <tt>netstat -nt</tt> fest, da&szlig; IP-Verbindungen noch offen sind. Wie kann ich diese manuell schlie&szlig;en?  
<label id="dod_closeipconnect">
<p>
Du kannst das Interface &dquot;runterfahren&dquot; und dann wieder
&dquot;starten&dquot;. Dann wird es versuchen, hinaus zu waehlen. Wenn Du aber
vorher die anzuwaehlende Telefonnummer entfernt hast, erhaeltst Du die Meldung
&dquot;no outgoing number...&dquot; im syslog und sobald das Interface wieder
gestartet ist werden alle offenen Verbindungen geschlossen.

<sect1> dod_onlineoncrash: Ist es moeglich, da&szlig; selbst bei einem abgestuerzten Computer eine ISDN-Verbindung bestehen bleibt (und die Gebuehren weiterlaufen)?  
<label id="dod_onlineoncrash">
<p>
Der ISAC Chipset, der auf vielen ISDN-Karten benutzt wird, kann im auto Modus
oder im non-auto Modus laufen. Im auto Modus kann die Verbindung bei
abgestuerztem Computer bestehen bleiben (die Karte haelt sie am Leben). Da der
HiSax Treiber den non-auto Modus benutzt, sollte das mit ISDN4LINUX nicht
passieren. Wenn einmal kein Interrupt mehr auf Deiner Maschine verarbeitet
wird, wird die Verbindung spaetestens nach einer halben Minute beendet. Ein
Weiterbestehen der Verbindung kann nur in dem unwahrscheinlichen Fall
passieren, wenn die Maschine abstuerzt, jedoch Interrupts weiterhin normal
verarbeitet werden.


<!-- Chargeint  
-->  

<sect> chargeint: Chargeint  
<label id="chargeint">

<sect1> chargeint_whatis: Was macht eigentlich Chargeint?  
<label id="chargeint_whatis">
<p>
Chargeint ist eine Moeglichkeit, Deine Kosten zu reduzieren, wenn diese auf
Deiner <bf/Onlinezeit/ basieren und das Intervall zwischen zwei Einheiten (das 
Gebuehrenintervall) relativ gro&szlig; ist (z.B. pro Minute).

Chargeint beendet die Verbindung nur zwei Sekunden vor dem Ende eines
Gebuehrenintervalls. Je nach Tageszeit und Datum erkennt isdnlog
selbstaendig die Laenge des Intervalls.

<sect1> chargeint_config: Wie soll ich Chargeint einrichten?  
<label id="chargeint_config">
<p>
Du kannst die Laenge einer Gebuehreneinheit manuell mittels isdnctrl Parameter
<tt/chargeset/ bestimmen oder isdnlog so einstellen, da&szlig; es automatisch
ablaeuft:
<enum>
<item>Stelle isdnlog so ein, da&szlig; es alle Informationen ueber Deinen Standort
und Deine Telefongesellschaft hat (und dadurch die Gebuehren kennt).
<item>Starte isdnlog mit den Optionen <tt>-h0</tt> und <tt>-w</tt>.
<item>Stelle den huptimeout (Zeit ohne Datenverkehr, nach der I4L ein Beenden
der Verbindung herbeifuehrt) nach Deinem Belieben ein. Z.B.:
<code>
/sbin/isdnctrl huptimeout ippp0 5
</code>
Damit wird I4L nach einer 5 Sekunden dauernden Inaktivitaet der Leitung
(huptimeout) 2 Sekunden vor dem Ende der Gebuehreneinheit auflegen.
</enum>

<sect1> chargeint_whennot: Wann ist es <bf/unsinnig/, Chargeint zu benutzen?  
<label id="chargeint_whennot">
<p>
<enum>
<item>Der Gebrauch von Chargeint ist unsinnig, wenn Deine Kosten nach dem
<bf/Datenvolumen/ berechnet werden oder Du einen <bf/Pauschalbetrag/
bezahlst. Chargeint kann Deine Kosten nur bei <bf/zeitabhaengiger/ Berechnung
reduzieren.
<item>Es macht auch keinen Sinn, wenn Deine Kosten in kleinen Zeiteinheiten
(z.B. pro Sekunde statt pro Minute) berechnet werden.
<item>Chargeint kann sinnvoll sein (oder auch nicht), wenn Du fuer jede neue
Einwahl einen festen Betrag zusaetzlich zu den variablen Kosten zahlen musst
(das haengt von der Hoehe der Gebuehren ab).
<item>Es gibt Probleme, wenn die IP-Addresse dynamisch vergeben wird. Eine
abgebrochene Verbindung kann nicht einfach wieder gestartet werden, da die
IP-Addresse sich dabei veraendert. Die unterbrochenen FTP-, telnet- oder
WWW-Verbindungen muessen dann wieder neu aufgebaut werden.
</enum>

<sect1> chargeint_correcttime: Wie kann ich sicher gehen, da&szlig; der Chargeint-Patch die korrekte Zeit benutzt?  
<label id="chargeint_correcttime">
<p>
Am besten synchronisierst Du die Uhr Deines Computers mit der in der
Vermittlungsstelle. Das geschieht beim Aufruf von isdnlog mit der Option
<tt>-t2</tt>.
Hinweis: Man sollte dabei jedoch bedenken, da&szlig; die Uhren der VSts
selten uebereinstimmen (wichtig bei Preselection und Call-by-Call),
selten ueberhaupt die genaue Zeit anzeigen, und au&szlig;erdem bei ISDN
sowieso nur Minuten und keine Sekunden uebertragen werden!

<sect1> chargeint_nohangup: Die Verbindung wird nicht durch einen Timeout beendet.  
<label id="chargeint_nohangup">
<p>
Chargeint legt nur auf, wenn es keine Aktivitaet auf der Leitung
gab. Vielleicht benutzt Dein ISP einen Router (z.B. Cisco), der alle zehn
Sekunden ein &dquot;keep alive&dquot; Paket sendet. Wenn die Cisco auf ihre
&dquot;keep alive&dquot; Pakete keine Antwort bekommt, wird sie das Routing
einstellen. Das geschieht normalerweise nach dem 4. oder 5. Paket. Die beste
Loesung besteht darin, den Provider zu bitten, keine &dquot;keep alive&dquot;
Pakete in der Cisco-Konfiguration einzustellen (<tt>&dquot;no
keepalive&dquot;</tt>).

Moeglicherweise sind es auch nicht die &dquot;keep alive&dquot; Pakete, die die 
Verbindung offen halten, sondern eher OSPF Routing Updates. Das Versenden
dieser Updates kann nur an der Cisco abgeschaltet werden. Du kannst
&dquot;snapshot server&dquot; auf dem BRI Interface einstellen. Das bewirkt,
da&szlig; Routing Updates nur hinausgeschickt werden, wenn sie durch dieses
Interface empfangen wurden.


<!-- 2 and more channels: MPPP, raw bundling
-->

<sect> 2channel: Kanalbuendelung (MPPP, raw bundling)  
<label id="2channel">

<sect1> 2channel_whatis: Was ist Kanalbuendelung und wie kann ich es verwenden?  
<label id="2channel_whatis">
<p>
Kanalbuendelung wird von ISDN4LINUX zur Zeit in zwei Variationen unterstuetzt:
<itemize>
<item><bf>Raw Bundling</bf> (Konfiguration von sogenannten <tt>slave channels</tt>)
<item><bf>MPPP</bf> (basiert auf syncPPP)
</itemize>
Beide Variationen haben ihre Vor- und Nachteile. Schau Dir die folgenden
Fragen an.

<sect1> 2channel_raw: Was ist &dquot;raw bundling&dquot;?  
<label id="2channel_raw">
<p>
Raw bundling arbeitet aehnlich wie rawIP, nur mit mehreren Kanaelen. Daher hat
es auch die theoretischen Vor- und Nachteile von rawIP. Raw bundling benoetigt
fuer jeden benutzten Kanal ein Netzwerk-Interface. Eines davon, das sogenannte
Master Interface, kontrolliert das Herstellen und Abbrechen der
Verbindungen. Fuer jeden weiteren Kanal wird ein sogenanntes Slave Interface
eingerichtet, das automatisch vom Master Interface aktiviert wird.

<sect1> 2channel_rawconfig: Wie konfiguriere ich raw bundling?  
<label id="2channel_rawconfig">
<p>
Das Master Interface wird wie normal mit 
<code>
isdnctrl addif &lt;master_interface&gt;
</code>
erstellt und konfiguriert. Fuer alle benoetigten abhaengigen Kanaele werden dann
Slave Interfaces mit dem Befehl:
<code>
isdnctrl addslave &lt;master_interface&gt; &lt;slave_interface&gt;
</code>
erstellt und wie ueblich konfiguriert (z.B. &dquot;isdnctrl sdelay
slave_interface delay&dquot;).

<sect1> 2channel_rawgoodbad: Was sind die Vor- und Nachteile des raw bundling?  
<label id="2channel_rawgoodbad">
<p>
Raw bundling hat alle Vor- und Nachteile des rawIP. Im Vergleich zu MPPP hat
raw bundling den Vorteil, da&szlig; ISDN4LINUX die benoetigten abhaengigen Kanaele
selbst oeffnet und schlie&szlig;t. Leider hat raw bundling immer noch Probleme mit
den Transferraten. Siehe weiter unten.

<sect1> 2channel_mppp: Was ist MPPP?  
<label id="2channel_mppp">
<p>
MPPP oder MP oder MPP (Warnung: MP ist auch eine Abkuerzung von 'Multi
Processor') steht fuer Multi Point to Point und bedeutet das Buendeln von
mehreren Kanaelen zu einem logischen Strom. Es ist eine Abart des normalen
syncPPP. Deshalb erbt es auch dessen Vor- und Nachteile. Nur zur Information:
ipppd betreibt MPPP nach RFC 1717 anstatt nach dem neueren RFC 1990 (MLP).

Im Gegensatz zu raw bundling wird als Interface zum ipppd nur ein
Netzinterface benoetigt, da der ipppd alle seine Kanaele selbst
verwaltet. Herein kommende Daten werden vom ipppd zufaellig auf alle
verfuegbaren Kanaele verteilt. Diese Kanaele muessen nicht unbedingt ISDN-Kanaele
sein. Theoretisch koennen Modemverbindungen mit ISDN-Kanaelen vermischt
werden. Hier jedoch beschaeftigen wir uns nur mit ISDN-Kanaelen.

<sect1> 2channel_mpppconfig: Wie richte ich MPPP ein?  
<label id="2channel_mpppconfig">
<p>
Zuerst definierst Du ein (normales) Interface fuer ipppd (i.a. &dquot;isdnctrl addif
ippp0&dquot;, usw.). Zur Aktivierung des MPPP musst Du ipppd mit der Option
&dquot;+mp&dquot; aufrufen. Ebenso musst Du fuer jeden zusaetzlichen Kanal ein
Slave Device einrichten (mehr Details im I4L Manual). Zum Gebrauch der
Kanalbuendlung musst Du zuerst das 'Master Device' aktivieren. Anschlie&szlig;end
werden die Slave Channels hinzugefuegt:
<code>
isdnctrl addlink device
</code>
Sie werden mit dem Befehl:
<code>
isdnctrl removelink ippp0
</code>
wieder deaktiviert. Dies ist anders als bei den anderen encapsulations von
ISDN4LINUX!

Beachte auch, da&szlig; das Slave Device dazu im Waehlmodus <tt/auto/ sein muss.

Bei syncPPP gibt es keine automatische Aktivierung der Slave Devices. Sie
muessen manuell hinzugefuegt und wieder entfernt werden. Es gibt dafuer jedoch das
Programm <tt>ibod</tt> (<url url="http://www.compound.se/ibod.html">).

Ein Beispielscript findest Du in der Datei <tt>etc/rc.isdn.syncppp.MPPP</tt>
im isdn4k-utils Paket (leider nicht in allen I4L-Versionen).

Denke daran, da&szlig; Dein Provider den Gebrauch dieser Features erlauben muss. Es
kann auch vorkommen, da&szlig; die Menge der gleichzeitig geoeffneten Kanaele
limitiert ist und bei Ueberschreitung dieses Limits alle Verbindungen
abgebrochen werden.

<sect1> 2channel_mpppgoodbad: Was sind die Vor- und Nachteile von MPPP?  
<label id="2channel_mpppgoodbad">
<p>
Ein Nachteil ist es, da&szlig; der Slave Channel &dquot;manuell&dquot; aktiviert
werden muss. ipppd kann den Slave Channel nicht nach Bedarf an- und
abschalten. Die normalen automatischen Funktionen des ipppd sind entweder
unzuverlaessig (automatisches Auflegen) oder funktionieren ueberhaupt nicht
(automatisches Hinauswaehlen). Das gilt jedoch nicht fuer die anderen
encapsulations. 
Die Transferraten sind sehr gut (ca. 30 KB/s mit 4 Kanaelen).

<sect1> 2channel_mpppcompile: Ich habe MPPP ausprobiert aber es funktioniert nicht. Der ipppd schreibt im debug log so etwas wie das: &dquot; ...  rcvd (0)(proto=0x3d) c0 00 00 00 80 fd 01 01 00 0a ... sent (0)(LCP ProtRej id=0x2 00 3d c0 00 00 00 80 fd 01 ...&dquot;  
<label id="2channel_mpppcompile">
<p>
Du hast vergessen, die Unterstuetzung fuer MPPP/RFC1717 in das ISDN Subsystem zu 
kompilieren. Kompiliere den Kernel mit dieser aktivierten Option neu.


<!-- Pecularities of your counterpart (remote device)
-->

<sect> remote: Eigenheiten des remote ISDN Device 
<label id="remote">

<sect1> remote_win95: Wie konfiguriere ich Windows95 zur erfolgreichen Einwahl zu meinem ISDN4LINUX Computer?  
<label id="remote_win95">
<p>
Konfiguriere Dein Dialout Network wie folgt:
<itemize>
<item>Typ des Servers: PPP:Windows 95, Windows NT 3.5, Internet
<item>Erweiterte Optionen: deaktiviere alle Optionen
<item>Netzwerk Protokolle: nur TCP/IP
<item>Standard Gateway
<item>Schalte vorerst die IP Header Compression ab (mehr Details zur
Kompression findest Du bei <ref id="syncppp_compression"
name="syncppp_compression">).
<item>Den Rest der Einstellungen fuer TCP/IP (IP-Addresse, Nameserver,...)
stellst Du nach Deinen Gegebenheiten ein.
</itemize>

<sect1> remote_mac: Ich moechte Daten mit einem Macintosh (Leonardo card) austauschen. Was muss ich oder der Mac User dabei beachten?  
<label id="remote_mac">
<p>
Zur Zeit wird das Leonardo Protokoll nicht von I4L unterstuetzt. Wenn Du den
Mac anrufst, sollte er das Protokoll auf X.75 oder HDLC setzen. Wenn er Dich
anruft, muss er das Protokoll explizit in der gewaehlten Nummer angeben (z.B. 
durch Einfuegen eines &dquot;X&dquot; fuer X.75).

<sect1> remote_macpap: Ein Macintosh mit einer Leonardo Karte versucht sich einzuwaehlen und will chap md5 benutzen. Wie kann ich das auf CHAP/PAP umwandeln?  
<label id="remote_macpap">
<p>
Du kannst es nicht. Der Mac User muss LeoPort (im Lieferumfang der Karte
enthalten) benutzen und den CTB port auf die ISDN Karte einstellen. Dann kann
er mittels FreePPP 2.5v2 <tt><url url="http://www.rockstar.com"></tt> die Leo
als Modem einrichten. FreePPP wird wie ueblich eingestellt. Danach kann
PAP/CHAP eingerichtet werden.

<sect1> remote_cisco: Wie verhaelt sich ISDN4LINUX mit einer Cisco (HDLC) als Gegenpart?  
<label id="remote_cisco">
<p>
Auf dem Cisco Router muss das Senden von &dquot;keep alive&dquot; Paketen
abgestellt werden. ISDN4LINUX muss fuer HDLC, transparent, mit Cisco
encapsulation eingestellt werden:
<code>
isdnctrl l2_prot &lt;interface&gt; hdlc
isdnctrl l3_prot &lt;interface&gt; trans
isdnctrl encap &lt;interface&gt; cisco-h
</code>

<sect1> remote_ispa: Welche Einstellungen braucht ISPA usw. (DOS, Windows) um mit den Standardeinstellungen von ISDN4LINUX zurecht zu kommen?  
<label id="remote_ispa">
<p>
Die folgenden Einstellungen sind moeglich (diese gelten auch fuer die anderen
Treiber von H. Hanewinkel (CINDI, CANDI, WISPA...), zu finden auf <tt><url
url="http://www.informatik.uni-bremen.de/&tilde;henker/dank"></tt>): 
<verb>
i4l side                             ISPA side
====================================================
isdnctrl l2_prot isdn0 hdlc           \
isdnctrl l3_prot isdn0 trans              -h0
isdnctrl encap   isdn0 rawip          /
----------------------------------------------------
isdnctrl l2_prot isdn0 hdlc           \
isdnctrl l3_prot isdn0 trans              -h1
isdnctrl encap   isdn0 uihdlc         /
----------------------------------------------------
isdnctrl l2_prot isdn0 x75i           \
isdnctrl l3_prot isdn0 trans              -l0
isdnctrl encap   isdn0 rawip          /
----------------------------------------------------
isdnctrl l2_prot isdn0 x75i           \
isdnctrl l3_prot isdn0 trans              -l1
isdnctrl encap   isdn0 uihdlc         /
---------------------------------------------------- 
</verb>
Der Parameter mit den wenigsten Problemen ist -h0.


<sect> leased: Standleitungen 
<label id="leased">

<!-- Config Leased line/D64S  
-->  

<sect1> leased_nosignal: Wie funktioniert der Aufbau und das Beenden einer Verbindung mit D64S ohne Signaluebertragung?  
<label id="leased_nosignal">
<p>
Die Daten werden einfach hinaus gesendet! Au&szlig;er mit einem ping gibt es keine
andere Moeglichkeit herauszufinden, ob die D64S- oder 2MBit-Leitung steht oder
nicht. Nur S01- oder S02-Leitungen haben einen D-Kanal mit dem Signale
uebertragen werden koennen. Die besten bekannten Loesungen benutzen diese 16kb
auch fuer den Datentransport um auf 144kb/s anstatt 128kb/s zu kommen (I4L kann 
nur bis 128kb/s uebertragen).

<sect1> leased_hisaxconfig: Wie konfiguriere ich meine Karte mit I4L auf einer D64-Standleitung?  
<label id="leased_hisaxconfig">
<p>
Eine spaetere Version des neuen HiSax-Treibers unterstuetzt D64. Die
Konfiguration ist normal mit den folgenden Besonderheiten. HiSax muss im
leased mode laufen:
<code>
/sbin/hisaxctrl HiSax 5 &lt;channel&gt;
</code>
wobei HiSax mit &dquot;id=HiSax&dquot; aufgerufen wurde und &lt;channel&gt;
entweder 0 oder 1 sein kann. Zusaetzlich zur normalen Konfiguration sind die
folgenden Befehle wichtig:
<code>
/sbin/isdnctrl bind HiSax,&lt;channel&gt;
/sbin/isdnctrl eaz isdn0 1
/sbin/isdnctrl addphone isdn0 out 2
/sbin/isdnctrl addphone isdn0 in  3
</code>
wenn der Name des Interfaces &dquot;isdn0&dquot; lautet. Das Interface muss
auf &dquot;up&dquot; gesetzt werden und es muss eine Route auf das Interface
gelegt werden. Schau Dir die Readmes im HiSax-Paket an.

<sect1> leased_x75: Wie konfiguriere ich X.75 auf einer D64-Standleitung?  
<label id="leased_x75">
<p>
Benutze eine neuere Version von HiSax. Initialisiere zuerst das ttyI* Device,
das Du benutzen willst, mit &dquot;AT&amp;E0&dquot; (Verwendung des ersten
B-Kanals) und &dquot;ATS0=1&dquot; (automatisches Antworten auf das erste
Signal). Dann versetzt Du HiSax in den leased mode:
<code>
/sbin/hisaxctrl HiSax 5 &lt;channel&gt;
</code>
wobei &lt;channel&gt; 0 oder 1 sein kann. Dadurch wird ein Anruf fuer MSN1 auf
dem konfigurierten Kanal (0 oder 1) simuliert (Als incoming number wird
LEASED0 gesetzt).

<sect1> leased_splitline: Kann ich mit ISDN einen Kanal als Standleitung und den anderen Kanal als Waehlleitung benutzen?  
<label id="leased_splitline">
<p>
Ja, kannst Du. Aber Du musst sicher stellen, da&szlig; Du den jeweils richtigen
Kanal benutzt!


<!-- Dialin
-->

<sect> dialin: Konfiguration eines Einwahl(Dial-In)-Servers  
<label id="dialin">

<sect1> dialin_config: Wie kann ich anderen den Zugang ueber ISDN ermoeglichen?
<label id="dialin_config">
<p>
Einige Konfigurationsbeispiele findest Du auf 
<url url="http://www.rosat.mpe-garching.mpg.de/~web/ISDN.html">.
Wenn Du mit der Einrichtung Probleme hast, versuche das neueste Paket von
ISDN4LINUX zu bekommen (siehe Frage <ref id="distrib_getlatest"
name="distrib_getlatest">).
Wie gewohnt kannst Du auch in der Mailingliste nachfragen.
Im Allgemeinen gibt es mehrere Moeglichkeiten, Dial-In einzurichten. Es kommt
darauf an, wie Du moechtest, da&szlig; sich andere bei Dir einwaehlen.
<itemize>
<item>Richte Netzwerk-Devices zur Einwahl ueber syncppp oder rawip ein. Setze
die Option <tt/secure off/ um jedem die Einwahl zu ermoeglichen oder <tt/secure
on/ um die Einwahl nur ueber ISDN-Nummern zu ermoeglichen, die Du mit
<tt>isdnctrl addphone &lt;device&gt; in &lt;Telefonnummer&gt;</tt> eintraegst.
Es wurde berichtet, da&szlig; Du die Option <tt/ms-dns/ fuer ipppd setzen musst
damit die IPCP-Verhandlung funktioniert.
<item>Benutze die ttyI* Devices fuer asyncppp oder X.75.
</itemize>
Es folgen weitere Details zur Einstellung der ttyI* Devices. Die Konfiguration 
ist wie bei einem seriellen Port. Starte ein getty (mgetty von Gert Doering
ist sehr empfehlenswert) auf einem der ISDN Devices (/dev/ttyI*). Der Eintrag
in /etc/inittab sollte etwa so aussehen:
<code>
I0:56:respawn:/usr/local/sbin/mgetty ttyI0
I1:56:respawn:/usr/local/sbin/mgetty ttyI1
</code>
Der folgende Init-String muss in die <tt>mgetty.config</tt> eingetragen
werden, damit mgetty weiss, auf welche MSN oder EAZ es lauschen muss. Wenn
Deine MSN z.B. 123456 lautet:
<code>
port ttyI0
modem-type data
speed 38400
init-chat &dquot;&dquot; ATZ OK AT&amp;E123456 OK AT&amp;B512 OK
</code>
Die Blockgroe&szlig;e wurde fuer X.75 auf 512 Bytes gesetzt.
Alternativ kannst Du auch die gesamte Einstellung in <tt>/etc/inittab</tt> in
einer Zeile schreiben (hier wegen der Randeinstellungen in 2 Zeilen gedruckt!):
<code>
i0:45:respawn:/sbin/mgetty -D -m '&dquot;&dquot; ATZ OK AT&amp;E123456 OK
AT&amp;B512 OK' -s 38400 ttyI0
</code>
Der eleganteste Weg ist der Gebrauch von iprofd. Die Benutzung dieses
Systemdienstes wird moeglich durch den Befehl <tt>AT&amp;W0</tt> in der I4L
Modememulation. Du startest iprofd mit einem Pfad als Parameter,
z.B. <tt>&dquot;iprofd /etc/i4lprofile&dquot;</tt>. Dann oeffnest Du mit
minicom oder einem anderen Terminalprogramm ein ISDN tty Device und gibst den
noetigen AT-Befehl manuell ein. 
Danach gibst Du den Befehl <tt>AT&amp;W0</tt> ein. Der Kernel veranlasst
daraufhin iprofd dazu, die aktuelle Konfiguration in die Datei zu
schreiben. Von nun an reicht es aus, iprofd in Deinem ISDN Initscript zu
starten und die entsprechenden ISDN tty Devices mit <tt>ATZ</tt> zu
initialisieren.

<sect1> dialin_manyparallel: Wie kann ich mehreren Leuten gleichzeitig die Einwahl ermoeglichen?  
<label id="dialin_manyparallel">
<p>
Du musst exakt so viele gettys oder Netzwerk Interfaces einrichten, wie sich
Leute gleichzeitig einwaehlen duerfen. Diese gettys oder Netzwerk Interfaces
koennen die gleiche MSN benutzen, da mehrere Leute gleichzeitig mit der
gleichen MSN verbunden sein koennen (solange freie B-Kanaele vorhanden sind). Es 
kann jedoch nur ein getty jeweils einem einzelnen ttyI* Device zugeordnet sein. 

<sect1> dialin_hdlc: Jemand moechte sich mit HDLC durch mein mgetty einwaehlen. Ist ttyI1 korrekt oder muss ich mit ttyI0 beginnen?  
<label id="dialin_hdlc">
<p>
Das spielt keine Rolle. Es hat auch nichts mit der Nummer des B-Kanals (0 oder
1) zu tun. Du musst nur HDLC im Init-String aktivieren (ATS14=3).

<sect1> dialin_autoppp: Ist es mit mgetty moeglich, beim Empfang von LCP-Frames den pppd automatisch zu starten?  
<label id="dialin_autoppp">
<p>
Ja, ist es. Dieses Feature nennt sich &dquot;AutoPPP&dquot;. Siehe
Konfiguration von mgetty.

<sect1> dialin_passwd: Wie bringe ich (i)pppd dazu, bei einer Einwahl die Passwoerter mit /etc/passwd statt mit /etc/ppp/pap-secrets zu vergleichen?  
<label id="dialin_passwd">
<p>
ipppd muss mit den Optionen &dquot;login&dquot; und &dquot;auth&dquot;
gestartet werden. In /etc/ppp/pap-secrets muss bei einer Beschraenkung auf
bestimmte User fuer jeden dieser User die folgende Zeile existieren:
<code>
login-name * &dquot;&dquot; *
</code>
Um allen Usern die Einwahl zu erlauben genuegt:
<code>
* * &dquot;&dquot; *
</code>
Die letztere Wirkung tritt auch ein, wenn keine Datei pap-secrets existiert.

<sect1> dialin_ignored: Ich bekomme dauernd die Meldung &dquot;isdn_tty: call from XXX - YYY ignored&dquot;. Wieso ignoriert ISDN4LINUX (syncPPP) diesen Einwahlversuch?  
<label id="dialin_ignored">
<p>
Da gibt es zwei moegliche Erklaerungen. Entweder ist Deine eigene MSN (hier:
YYY) nicht korrekt mit &dquot;isdnctrl eaz interface YYY&dquot;
eingetragen. Oder es wurde die Option &dquot;isdnctrl secure interface
on&dquot; gesetzt, ohne die Anrufe von dieser Nummer (hier: XXX) mit
&dquot;isdnctrl addphone interface in XXX&dquot; zu erlauben.

<sect1> dialin_async: Eine SunISDN versucht sich in mein I4L-System einzuwaehlen.  
<label id="dialin_async">
<p>
Die Sun versucht mit asyncPPP zu kommunizieren. ipppd kann damit nicht
umgehen, Du musst die ttyI* Devices und den normalen pppd benutzen.



<!-- Callback
-->

<sect> callback: Callback  
<label id="callback">

<sect1> callback_delay: Ein hereinkommender Ruf wird von I4L abgelehnt. Anschlie&szlig;end ruft I4L zurueck. Die Rufablehnung wird von der anderen Seite nicht erkannt und sie versucht, sich weiterhin bei I4L einzuwaehlen.  
<label id="callback_delay">
<p>
Die meisten Probleme bei Callback koennen durch die Einstellung des callback
delay mit <tt>isdnctrl cbdelay</tt> geloest werden. Eine Sekunde genuegt in den
meisten Faellen.

<sect1> callback_cisco: Aus irgendeinem Grund kann I4L nicht bei einer Cisco zurueckrufen?  
<label id="callback_cisco">
<p>
Torsten Hentschel <tt><htmlurl url="mailto:Torsten.Hentschel@DInet.de"
name="Torsten.Hentschel@DInet.de"></tt> schrieb am 03. Oktober 1996:
<quote>
Eine Cisco waehlt moeglicherweise so schnell und haeufig, da&szlig; der ipppd keine
Chance des Zurueckrufens hat. Die Ciscos sind so programmiert (klare Aussage
eines Cisco-Entwicklers):
Wenn eine Cisco ein Paket empfaengt, das durch eine auf &dquot;dial on
demand&dquot; eingestellte Telefonverbindung hinausgehen soll, und es ist ein
B-Kanal zur Hinauswahl frei, wird sofort gewaehlt. Wenn in einem solchen Fall
(wie bei Delta Internet seit einem halben Jahr) eine Cisco mit 8 B-Kanaelen auf
der anderen Seite steht und jemand ein einfaches &dquot;ping RemoteIP&dquot;
eingibt, wird die Cisco im schlimmsten Fall alle 8 B-Kanaele zum Hinauswaehlen
benutzen. Natuerlich kann sie nicht eine Telefonnummer gleichzeitig auf zwei
B-Kanaelen waehlen (es waere sofort &dquot;besetzt&dquot;). Die Programmierung
der Cisco ist nicht so dumm, sie richtet den naechsten B-Kanal zum Hinauswaehlen
ein bevor sie annimmt, da&szlig; der vorherige B-Kanal versagt hat. Solch eine Cisco
arbeitet wie ein Maschinengewehr was das Hinauswaehlen betrifft. Und I4L
bekommt keinen freien B-Kanal zur Einwahl wenn die Cisco das nicht will.
Das Schlechte daran ist, da&szlig; eine Cisco immer (auch bei einer Konfiguration
mit &dquot;callback client&dquot; = I4L ruft zurueck) erwartet, da&szlig; die andere
Seite den Ruf annimmt, beide auflegen und dann der Rueckruf kommt. Username und
Password muessen beim Gebrauch von PPP immer vor einem Rueckruf ausgetauscht
werden. Dadurch stellt man sicher, da&szlig; die Person, die den Rueckruf verlangt,
auch dazu berechtigt ist. (Cisco scheint sich an die Regel der (Deutschen)
Telekom zu halten, da&szlig; keine Informationen ohne B-Kanal-Verbindung
ausgetauscht werden duerfen. Ein Rueckruf-Verlangen, identifiziert nur durch die 
anrufende Telefonnummer, kann im Zweifelsfall als Uebertragung von
Informationen betrachtet werden).
</quote>

Torsten Hentschel <tt><htmlurl url="mailto:Torsten.Hentschel@DInet.de"
name="Torsten.Hentschel@DInet.de"></tt> schrieb zusaetzlich am 20. November 1996:
<quote>
Ich habe den Rueckruf ueber PPP mit zwei CISCOs oft versucht. Nach meiner
Erfahrung werden Versuche mit der Kombination CISCO - Linux nicht funktionieren.
Eine CISCO handelt ein Rueckruf-Verlangen immer per PPP aus. Dazu muss die
Gegenseite zuerst den Ruf annehmen und die gesamte Verhandlung
(Berechtigung,...) durchfuehren. Dann legen beide auf und der Rueckruf wird
durchgefuehrt. 
Die Befehle von isdnctrl in Linux beeinflussen nur die Netzwerk-Devices des
Kernels und haben keinen oder nur wenig Einflu&szlig; darauf, wie ipppd Rueckrufe
durchfuehrt. ipppd erkennt nicht, da&szlig; er einen Rueckruf der Gegenseite erwarten
soll. 
Daher lehnt er das Angebot der CISCO ueber PPP, da&szlig; sie zum Rueckruf bereit ist,
ab. Dann nimmt die CISCO an, da&szlig; sie nicht zurueck rufen soll (sie erwartet ein
explizites Rueckruf-Verlangen waehrend der PPP-Verhandlung zu sehen).
Die CISCO bestaetigt dies, wenn Du bei ihr einloggst und ihre Debug-Meldungen
ueber die Einwahlversuche Deines Linux-Computers mit den folgenden Befehlen
ansiehst: 
<code>
deb ppp chap
deb ppp negotiotion
deb ppp error
term mon
</code>
Du musst Dich ueber telnet einloggen, nicht auf der Konsole, da sonst die CISCO
das Loggen nicht ueber das serielle Interface durchfuehren kann.
</quote>

<sect1> callback_ascend: Callback von einer Ascend funktioniert nur, wenn ich im Ascend-Menue &dquot;Active=Yes&dquot; eingebe. Dann waehlt die Ascend mich aber auch an, wenn meine Maschine ausgeschaltet ist.  
<label id="callback_ascend">
<p>
Ulrich Klein <tt><htmlurl url="mailto:ulik@hprc.tandem.com"
name="ulik@hprc.tandem.com"></tt> schrieb am 14. Dezember 1996:
<quote>
Irgendwo in den Ascend-Menues kannst Du &dquot;dial broadcast&dquot; auf
&dquot;no&dquot; oder &dquot;off&dquot; setzen. Anderenfalls wird das Ding mit 
jedem Rundruf waehlen. Zumindest mir half das. Falls jemand aus dem Netzwerk,
an das die Ascend angeschlossen ist, wirklich eine Verbindung aufbauen will,
musst Du die etwas seltsamen Filter benutzen. Ich glaube,
es gibt da einen, der nur als Rueckruf hinauswaehlt.
</quote>

<sect1> callback_banzai: Wie kann ich eine Banzai zurueckrufen?
<label id="callback_banzai">
<p>
Jan-Olaf Droese <tt><htmlurl url="mailto:jano@layla.RoBIN.de"
name="jano@layla.RoBIN.de"></tt> schrieb am 31. Januar 1997:
<quote>
Auf der Seite der Banzai sollte ein &dquot;c&dquot; zu der zu waehlenden Nummer
hinzugefuegt werden. Dadurch ist sie bereit fuer den Rueckruf. Zur Sicherheit
kannst Du die Anzahl der Waehlversuche der Banzai auf 1 setzen, soda&szlig; es keine
Rufueberschneidungen gibt.
Auf der I4L-Maschine habe ich folgende Einstellungen vorgenommen:
<code>
isdnctrl callback isdn0 in
isdnctrl cbdelay isdn0 1
</code>
</quote>

<!-- Isdnlog
-->

<sect> isdnlog: Isdnlog 
<label id="isdnlog">

<sect1> isdnlog_rates: Wo bekomme ich die aktuellsten Gebuehreninformationen? 
<label id="isdnlog_rates">
<p>
Du bekommst die neuesten Dateien mit den Gebuehrenraten (die sich recht schnell
aendern) auf <tt><url url="http://www.digitalprojects.com/rates"></tt>.

<sect1> isdnlog_servicetype: Kann ich den Dienstetyp eines ankommenden Anrufes in der Ausgabe von isdnrep sehen? 
<label id="isdnlog_servicetype">
<p>
Andreas Kool <tt><htmlurl url="mailto:akool@Kool.f.EUnet.de"
name="akool@Kool.f.EUnet.de"></tt> schrieb am 03. Dezember 1996:
<quote>
Indirekt in isdnrep, ja -- sobald Du ein Alias fuer die dekodierten
Dienstetypen in Deiner &dquot;isdnlog.conf&dquot; angegeben hast ...
</quote>

<sect1> isdnlog_callerid1: Warum bekomme ich nicht immer die Nummer eines Anrufers (&dquot;Caller ID&dquot;) durch die Deutsche Telekom uebermittelt?
<label id="isdnlog_callerid1">
<p>
Aus Gruenden des Datenschutzes werden Telefonnummern des analogen Netzes nicht
uebermittelt, es sei denn, der Anrufer hat dies der Telekom ausdruecklich
erlaubt (das ist kostenlos).

Die Teilnehmer mit einem ISDN-Anschlu&szlig; muessen andererseits ausdruecklich die
Uebermittlung der Nummer durch die Telekom verweigern oder beantragen, die
Uebermittlung auf Call-by-Call-Basis (CLIR) zu verweigern oder zu
gestatten. Die Verweigerung bei Call-by-call ist kostenlos, die Uebertragung
bei Call-by-Call kostenpflichtig. Es scheint jedoch fuer die Telekom
<em>extrem</em> schwierig zu sein, das beim ersten Versuch richtig
einzustellen. Wenn Du Wert auf die Uebertragung der Caller ID legst, solltest
Du sehr genau pruefen, ob alles richtig konfiguriert wurde.

<sect1> isdnlog_callerid2: Erhalte ich die Caller ID bei auslaendischen Anrufen? 
<label id="isdnlog_callerid2">
<p>
Ja, bei Anrufen aus Laendern, die das mit der Caller ID nicht ganz so streng
sehen wie Deutschland (z.B. USA, Canada).

<sect1> isdnlog_spoofcallerid: Ich habe gehoert, da&szlig; in Wirklichkeit zwei Caller IDs uebertragen werden?
<label id="isdnlog_spoofcallerid">
<p>
Richtig, die eine ist &dquot;benutzer-generiert&dquot; und nicht ueberwacht und
die andere ist &dquot;netzwerk-generiert&dquot;  (durch die
Telefongesellschaft). Wie der Name schon sagt wird die erste Nummer vom
Benutzer bereitgestellt waehrend die zweite vom Netzwerk uebertragen wird.
Die Bereitstellung einer Caller ID ist nur mit einer PBX ueber eine
Point-to-Point Konfiguration mit dem Feature &dquot;CLIP no screening&dquot;
moeglich.

<sect1> isdnlog_betterlogging: Wieso zeichnet isdnlog die Nummern, die mit meinen anderen ISDN-Geraeten gewaehlt werden, nicht auf, obwohl es die Kosten aufzeichnet?
<label id="isdnlog_betterlogging">
<p>
Weil die ISDN-Karte, wie alle ISDN-Geraete, separate Leitungen fuer das Senden
und das Empfangen hat (RX und TX Leitungen). Isdnlog muesste die Daten der
empfangenden Leitung lesen um die gewaehlte Nummer zu erkennen. Dies ist nicht
moeglich, zumindest nicht fuer die Teles-Karten, wie Karsten Keil <tt><htmlurl
url="mailto:keil@isdn4linux.de" name="keil@isdn4linux.de"></tt> am 12. Februar
1997 schrieb:
<quote>
Dies ist der Fall bei allen Karten mit 1 Siemens ISAX; er hat (und braucht)
nur  1 Sender und 1 Empfaenger.
Theoretisch ist es moeglich, den gesamten D-Kanal mit nur einem Empfaenger
(sogar mit dem ISAC) auszulesen; die D-Bits der RX-Leitung werden (etwas
verzoegert) auf die TX-Leitung kopiert, ueber die die Zugriffskontrolle
(Kollisionskontrolle) des S0-Busses stattfindet. Leider ist es mit dem ISAC
nicht moeglich, die echo bits im TA-Modus aus einem Register auszulesen.
</quote>
In den naechsten Fragen findest Du vielleicht eine Loesung.

<sect1> isdnlog_reversedcard: Wie erreiche ich, da&szlig; isdnlog auch die Nummern zeigt, die von anderen ISDN-Geraeten gewaehlt werden?
<label id="isdnlog_reversedcard">
<p>
Da gibt es zwei Moeglichkeiten: Erstens bietet die Deutsche Telekom den Service
COLP (Connected Line Identification Presentation) fuer ca. DM 10 pro Monat an,
der alle gesendeten Daten zurueck sendet. Diese koennen dann von isdnlog von der
TX-Leitung ausgelesen werden.

Alternativ bietet isdnlog die Moeglichkeit, mit einer zweiten,
&dquot;umgepolten&dquot; ISDN-Karte zu arbeiten. &dquot;Umgepolt&dquot;
bedeutet in diesem Fall, da&szlig; die RX-Leitung mit dem TX-Anschluss der Karte
verbunden wird; die RX Leitung der Karte sollte nirgends angeschlossen
(stillgelegt) werden!
Aufgrund dieser Schaltung kann diese ISDN-Karte fuer sonst nichts benutzt
werden. Die ganze Schaltung sieht dann etwa so aus:
<verb>
      3 -- RX+ 2a ---------------\
ISDN  4 -- TX+ 1a -- open         ------------  ISDN
bus   5 -- TX- 1b -- open         ------------  card
      6 -- RX- 2b ---------------/ 
</verb>
Beachte bitte, da&szlig; dies nur funktioniert, wenn die zweite Karte einen
ISAC-Chip besitzt (z.B. alte Teles-Karten, Fritz! classic), da dabei ein
spezieller Bug/Feature dieses Chips genutzt wird. Alle anderen Karten, wie
IPAC-Karten (z.B. ELSA QS1000pro), funktionieren nicht in der Rolle der
umgepolten Karte. HFC-PCI-Karten verfuegen ueber ein spezielles Feature. Bei
ihnen kann man einen B-Kanal opfern und dafuer das gesamte D-Kanal-Protokoll
auslesen - alles mit einer Karte. Dies wird auch von ISDN4LINUX unterstuetzt.

Eine dritte (theoretische) Moeglichkeit besteht fuer die Besitzer einer eigenen
PBX an die die anderen Geraete angeschlossen sind. Wenn die PBX alle
ausgehenden Gespraeche protokollieren kann, so kann man das auslesen
(ueblicherweise ueber einen seriellen Anschlu&szlig;).

Es gibt einen Grund, warum isdnlog dies bisher nicht unterstuetzt. Zur
Auswertung dieser Daten muss isdnlog sofort nach RELEASE COMPLETE darauf
zugreifen koennen, bevor irgendwelche anderen Daten ueber den D-Kanal geschickt
werden. Die bisher getesteten Anlagen waren dazu alle zu langsam (besonders
die verbreitete ISTEC). Die einzige Moeglichkeit waere, die Daten hinterher
zusammenzufuegen. Aber da gibt es wiederum Probleme mit den verschiedenen
Zeitangaben. Wer auch immer einen Versuch damit wagen will ist willkommen (Ich
werde die Logs meiner Ackermann Euracom zur Verfuegung stellen - Matthias
Hessler <tt><htmlurl url="mailto:hessler@wi-inf.uni-essen.de"
name="hessler@wi-inf.uni-essen.de"></tt>).

<sect1> isdnlog_rategraphic: Wie kann ich die Transferraten grafisch anzeigen?
<label id="isdnlog_rategraphic">
<p>
Du kannst &dquot;xisdnload&dquot; benutzen. Clemens Perz <tt><htmlurl
url="mailto:listperz@gwsnet.ttt.de" name="listperz@gwsnet.ttt.de"></tt>
beschrieb am 06. Februar 1997 eine weitere Moeglichkeit:
<quote>
Auf Sunsite fand ich ein kleines Tool fuer die Konsole namens netload und
passte es fuer die ISDN-Interfaces an. Damit kannst Du sehr leicht den
aktuellen Verkehr auf der Leitung beobachten. Du findest es auf:
<tt><url url="ftp://ftp.region.trier.de/pub/unix/linux/sources/network/isdn/netload-0.92.isdn.tar.gz"></tt>. 
Starte es einfach mit <tt>netload isdnxx</tt>.
</quote>

<sect1> isdnlog_2callerid: Isdnlog (=2.52) zeigt bei einem Anrufer <em>zwei</em> Telefonnummern an! Welche davon ist korrekt?
<label id="isdnlog_2callerid">
<p>
Der Anrufer hat vermutlich das (teure) Feature CLIP (= Calling Line
Identification Presentation, no screening) aktiviert, was bedeutet, da&szlig; jede
beliebige Telefonnummer uebertragen werden kann. Sieh nach bei der Frage <ref
id="isdnlog_spoofcallerid" name="isdnlog_spoofcallerid">.

Andreas Kool <tt><htmlurl url="mailto:akool@Kool.f.EUnet.de"
name="akool@Kool.f.EUnet.de"></tt> schrieb am 26. Januar 1997:
<quote>
Jedenfalls kannst Du nur Software/Anlagen taeuschen, die den Screening
Indicator (Anzeige, da&szlig; die uebertragenen Nummern auf Korrektheit
geprueft werden) nicht auswerten - isdnlog (>=2.52) zeigt sowohl die
korrekte als auch die vorgegebene Telefonnummer an. &dquot;CLIP, no
screening&dquot; wurde urspruenglich geschaffen um firmeninterne Rufnummern im
oeffentlichen Netz zu uebertragen.
</quote>

<sect1> isdnlog_soundbusy: Ich habe ein Script erstellt um Sound mit cat auf /dev/sound oder einem anderen Geraet abzuspielen. Wenn einige Ereignisse gleichzeitig geschehen erhalte ich eine Fehlermeldung: <tt>Can't open output file '/dev/sound': Device or resource busy</tt>.
<label id="isdnlog_soundbusy">
<p>
Auf das Sound-Device kann nur jeweils ein Prozess zugreifen. Du brauchst eine
hoehere Instanz, die den Zugriff auf das Sound-Device koordiniert. Das koennte
NAS (Network Audio System) und rplay sein.

<sect1> isdnlog_noshell: Isdnlog soll ein Programm mit umgeleiteter Ausgabe aufrufen (z.B. <tt>play anruf.au 2&gt;/dev/null</tt>). Warum erzaehlt mir ISDN dann: <tt>Can't start '/usr/local/bin/play anruf.au 2&gt;/dev/null' with execvp()</tt>? 
<label id="isdnlog_noshell">
<p>
Weil isdnlog keine (Bourne-)Shell ist ;-). Isdnlog kann nur <bf>echte</bf>
Programme starten. Schreibe einfach ein kleines Script und mach es ausfuehrbar
(chmod +x): 
<code>
&num;!/bin/sh
/usr/local/bin/play anruf.au 2&gt;/dev/null
</code>

<sect1> isdnlog_blankscreen: Bei der Hinauswahl wird der Bildschirm kurze Zeit dunkel? 
<label id="isdnlog_blankscreen">
<p>
Das kann passieren, wenn Du isdnlog mit der Option <tt>-t 1</tt> oder <tt>-t
2</tt> startest, denn dann wird die Zeit mit der digitalen Schaltstelle
abgeglichen. Der Bildschirmschoner denkt, da&szlig; mehr als x Minuten vergangen
sind und das bewirkt einen kurzen Blackout des Bildschirms.


<!-- Audio
-->

<sect> audio: Umgang mit Audio ueber ISDN
<label id="audio">
<p>
Die meisten der hier aufgefuehrten Antworten stammen aus dem vbox Manual von
Matthias Hessler <tt><htmlurl url="mailto:hessler@wi-inf.uni-essen.de"
name="hessler@wi-inf.uni-essen.de"></tt> und Bernhard Hailer <tt><htmlurl
url="mailto:dl4mhk@lrz.uni-muenchen.de"
name="dl4mhk@lrz.uni-muenchen.de"></tt>. Du bekommst das Manual auf:
<tt><url url="http://www.lrz-muenchen.de/&tilde;ui161ab/www/isdn/"></tt> -
klicke auf &dquot;Audio!&dquot; (leider immer noch in Deutsch - sorry...). Die
Antworten sind zwar etwas veraltet, koennen Dir aber vielleicht ein paar
Hinweise geben?

<sect1> audio_format: Welches Format benutzt vbox fuer die Audio-Meldungen (.msg) bei der Annahme eines Anrufes?
<label id="audio_format">
<p>
Du bekommst das Format von den Meldungen mit rmdgetheader. Die
Beispielmeldungen in den Paketen werden im Format 4 aufgenommen (die neueste
Zyxel-Kompression).


<sect1> audio_recordmsg: Wie kann ich meine eigenen Meldungen fuer vboxgetty aufnehmen?
<label id="audio_recordmsg">
<p>
Rufe zuerst Deine Nummer, auf die vboxgetty antworten soll, an und hinterlasse
eine Nachricht. Dann benenne diese Nachricht um in *.msg (standard.msg fuer die
allgemeine Meldung des Anrufbeantworters) und kopiere sie in das Verzeichnis,
in dem sich alle Meldungen befinden (normalerweise
/var/spool/vbox/user/messages, wobei user der Benutzer ist, fuer den vboxgetty
konfiguriert wurde). Du kannst eine Meldung auch mit Mikrofon und Soundkarte
aufnehmen. 

<sect1> audio_play: Wie kann ich Audio-Nachrichten lokal mit /dev/audio abspielen?
<label id="audio_play">
<p>
Das geht mit vbox am besten mit dem Format 6 (uLaw - muss beim kompilieren
eingebunden sein). Du kannst dann die Nachrichten einfach mit dem folgenden
Befehl abspielen:
<code>
cat xxx &gt; /dev/audio
</code>
wobei xxx die Nachrichtendatei ist.

<sect1> audio_convertto: Wie kann ich von vbox aufgenommene Audio-Nachrichten in andere Formate (z.B. von uLaw in WAV) konvertieren? 
<label id="audio_convertto">
<p>
Das Standardwerkzeug zum Umformen aller Soundformate ist SOX. SOX kann man als
Sourcecode fuer Unix und DOS auf <tt><url
url="http://www.powerweb.de/mpeg/util/msdos/sox10c.zip"></tt> bekommen
(inklusive Quellcode, der unter Linux kompilierbar ist).

<sect1> audio_convertfrom: Wie kann ich WAV fuer uLaw formatieren (fuer meine vbox-Ansage)? 
<label id="audio_convertfrom">
<p>
Wir bekamen am 15. Januar 1997 den folgenden Tip von Christian Stueble
<tt><htmlurl url="mailto:stueble@ls6.informatik.uni-dortmund.de"
name="stueble@ls6.informatik.uni-dortmund.de"></tt>: 
<quote>
Bei mir funktioniert die folgende (etwas indirekte) Methode: 
<code>
sox file.wav -r 8000 file.ul rate
rmdcatheader -u file.ul &gt; file.msg
cat file.ul &gt;&gt; file.msg
</code>
Vielleicht musst Du andere Parameter fuer SOX eingeben. Als ersten Test kannst
Du <tt>cat file.msg &gt; /dev/audio</tt> versuchen. Du solltest dabei etwas hoeren
koennen. 
</quote>

<!-- Audio Troubleshooting
-->

<sect1> audio_noanswer: Mein vboxgetty beantwortet keine ankommenden Gespraeche.
<label id="audio_noanswer">
<p>
vboxgetty benoetigt &dquot;.vboxrc&dquot; im Verzeichnis des Benutzers, fuer den
vboxgetty konfiguriert wurde. In dieser Datei steht die Anzahl der Rufsignale
nach denen vboxgetty abheben soll.

<sect1> audio_nocat: Wenn vboxgetty eine Nachricht in einem Format aufgezeichnet hat, das ich nicht mit &dquot;cat xxx &gt; /dev/audio&dquot; abspielen kann; wie kann ich mir dann die Nachricht anhoeren?
<label id="audio_nocat">
<p>
Vboxgetty kann alle Formate abspielen. Du kannst die Nachricht in die
Standard-Meldung-Datei (standard.msg im Nachrichten-Verzeichnis) kopieren und
Dich selbst anrufen. Dabei wird Dir die Nachricht vorgespielt. (Vergiss nicht,
danach die Originaldatei zurueck zu kopieren :-) ). Siehe Frage <ref
id="audio_recordmsg" name="audio_recordmsg">.

<sect1> audio_earlyrecording: Am Anfang einer von vboxgetty aufgenommenen Nachricht hoert man oft einen Teil meiner eigenen Ansage? 
<label id="audio_earlyrecording">
<p>
Dies ist ein bekannter Fehler, der beim Umschalten zwischen dem Abspielen der
Ansage und dem Aufnehmen der Nachricht passiert. Bisher ist keine Loesung
bekannt. 


<!-- Countryspecific pecularities
-->

<sect> Laender, in denen ISDN4LINUX unterstuetzt wird
<label id="countries">

<sect1> country_which: In welchen Laendern funktioniert ISDN4LINUX? 
<label id="country_which">
<p>
Uns sind zumindest die folgenden Laender bekannt:
<itemize>
<item>Australien
<item>Belgien
<item>Daenemark
<item>Deutschland
<item>Finnland
<item>Frankreich (siehe Frage <ref id="country_france" name="country_france">) 
<item>Gro&szlig;britannien (siehe Frage <ref id="country_uk" name="country_uk">)
<item>Irland
<item>Israel
<item>Italen (siehe Frage <ref id="country_italy" name="country_italy">)
<item>Niederlande (siehe Frage <ref id="country_netherlands" name="country_netherlands">)
<item>Norwegen
<item>Oesterreich (siehe Frage <ref id="country_austria" name="country_austria">)
<item>Peru
<item>Portugal (siehe Frage <ref id="country_portugal" name="country_portugal">) 
<item>Schweden
<item>Schweiz (siehe Frage <ref id="country_switzerland" name="country_switzerland">) 
<item>Singapur
<item>Spanien
<item>Ungarn
<item>USA (siehe Frage <ref id="country_northamerica" name="country_northamerica">) 
</itemize>
Wenn Dein Land nicht in dieser Liste steht, so bedeutet das nicht, da&szlig; I4L
dort nicht funktioniert. Es bedeutet nur, da&szlig; wir bisher darueber noch keinen
Bericht bekamen. Suche in der Mailingliste nach anderen Usern aus Deinem Land.

<sect1> country_certified: Ist ISDN4LINUX von den Telekommunikations-Behoerden fuer den Betrieb zugelassen? 
<label id="country_certified">
<p>
Das kommt auf den benutzten Treiber und Dein Land an. Wir haben nur
Informationen ueber Deutschland (sende mir Informationen ueber andere Laender,
wenn Du welche hast). Diese gelten jedoch auch fuer die meisten europaeischen
Laender, da eine Zulassung in einem Staat der EU auch von allen anderen Staaten
der Gemeinschaft akzeptiert werdem muss.
Diese Treiber sind fuer den Betrieb in Deutschland zugelassen:
<itemize>
<item>Aktive Karten: die Zulassung gilt fuer die komplette Karte inklusive der
Firmware. Daher gilt die Zulassung auch fuer den Betrieb dieser Karten mit
ISDN4LINUX. 
<item>Karten der Serie Elsa Quickstep (neuer Name: Microlink PCI)
<item>Eicon Diva 2.01 PCI
</itemize>

<sect> 1tr6: Deutsche Eigenheiten bei 1TR6 
<label id="1tr6">

<sect1> 1tr6_eaz: Welche EAZ soll ich mit I4L benutzen?  
<label id="1tr6_eaz">
<p>
Du kannst alle verfuegbaren EAZ nehmen. Zwei EAZs haben jedoch eine spezielle
Bedeutung und koennen Probleme verursachen:
<verb>
EAZ 0: Gruppenruf (alle Telefone der Anlage laeuten)
EAZ 9: Gruppenruf (kein Telefon der Anlage laeutet)
</verb>
Gernot Zander <tt><htmlurl url="mailto:hifi@scorpio.in-berlin.de"
name="hifi@scorpio.in-berlin.de"></tt> schrieb am 06. Januar 1997 dazu:
<quote>
Ich wuerde die 0 nicht benutzen, da es fuer meinen Geschmack zu wahrscheinlich
ist, da&szlig; I4L alle Audio-Verbindungen an sich reissen wuerde.
</quote>

<sect1> 1tr6_extension: Ich benutze 1TR6 an einer Nebenstelle - die Nebenstellennummer hat mehr als eine Ziffer (z.B. 206). Wie lautet meine EAZ? 
<label id="1tr6_extension">
<p>
Jens Ey <tt><htmlurl url="mailto:jens@jeyhh.shnet.org"
name="jens@jeyhh.shnet.org"></tt> schrieb am 10. Januar 1997:
<quote>
Die EAZ fuer Nebenstellen ist normalerweise die letzte Ziffer der
Nebenstellennummer. Als EAZ fuer den Linux Computer solltest Du in diesem Fall
&dquot;6&dquot; benutzen.
</quote>

<sect1> 1tr6_spv: Was ist eine SPV?  
<label id="1tr6_spv">
<p>
SPV steht fuer &dquot;semipermanente Verbindung&dquot; und ist eine
(mittlerweile ueberholte) Spezialitaet der Deutschen Telekom. Wie bei einer
Standleitung ist der Verbindungspartner festgelegt, die Verbindung wird jedoch
nur hergestellt, wenn sie benoetigt wird (was dann allerdings viel schneller
als bei einer Waehlverbindung geschieht). Da die Telekom die Leitung in der
uebrigen Zeit fuer andere Verbindungen nutzen kann, ist eine SPV billiger als
eine Standleitung.

Diese SPV darf nicht mit der Oesterreicher SPV verwechselt werden. Die
Oesterreicher SPV besteht aus einem Kanal als Standleitung und einem Kanal als
Waehlleitung. 

<sect1> 1tr6_spvavailable: Wie lange wird es noch SPVs geben?  
<label id="1tr6_spvavailable">
<p>
Steffen Sledz <tt><htmlurl url="mailto:sledz@dgroup.de"
name="sledz@dgroup.de"></tt> schrieb am 05 Dezember 1996:
<quote>
Wegen einiger Verfahren vor dem Europaeischen Gerichtshof gegen die Telekom
wohl bis Ende 1997. Es wird dann in den entsprechenden Newsgroups und
vermutlich auch auf <tt><url url="http://www.birch.de"></tt> (Website der
Klaeger) veroeffentlicht werden.
</quote>

<sect1> 1tr6_spv: Unterstuetzt ISDN4LINUX SPVs? Wie?  
<label id="1tr6_spv">
<p>
Zur Aktivierung von SPVs musst Du ein &dquot;S&dquot; vor die zu waehlende
Nummer setzen. Das funktioniert recht gut mit Modememulationen und auch mit
definierten Netzwerk-Interfaces.


<sect> Andere Laender


<sect1> country_austria: Oesterreich: Wir haben weder eine MSN noch eine EAZ, nur eine normale Telefonnummer. Was muessen wir fuer I4L angeben? 
<label id="country_austria">
<p>
In Oesterreich werden ISDN-Leitungen standardmae&szlig;ig <em>ohne</em> MSN
installiert (im Unterschied zu Deutschland). Das bedeutet, da&szlig; bei einem Anruf
fuer die installierte ISDN-Nummer beim Empfaenger ein &dquot;Gruppenruf&dquot;
angezeigt wird. I4L meldet dann &dquot;incoming call without CPN&dquot;
(&dquot;CPN&dquot; = called party number (Nummer des angewaehlten
Empfaengers)). Loesung: Setze die empfangende &dquot;MSN&dquot; (in
Wirklichkeit: keine) auf &dquot;0&dquot;, dann antwortet I4L auf den
Gruppenruf. Anderenfalls wartet es auf die Anzeige der Nummer, die I4L
mitgeteilt wurde, und das wird nicht passieren (nur bei *zusaetzlicher*
MSN). Das gleiche gilt fuer die Einstellungen fuer Dein getty.

Andererseits solltest Du die hinauswaehlende MSN korrekt eintragen (ohne
Ortsvorwahl) -- obwohl eine falsche MSN von Deinem Telefondienste-Anbieter
durch die richtige MSN ersetzt wird.

<sect1> country_france: Frankreich: Wie sieht unsere MSN aus? 
<label id="country_france">
<p>
Wenn Du keine MSN hast, musst Du nur die letzten 4 Ziffern Deiner
Telefonnummer als lokale Nummer angeben. Du hast da den Vorteil, da&szlig; Du auch
Sub-Addressing nutzen kannst. Wenn Deine Telefonnummer 01 41 33 67 87 lautet
und Du die Subaddresse 02 nutzen willst, traegst Du als lokale Nummer des
HiSax-Treibers die 6787.02 ein. 

<sect1> country_italy: Italen: Wie sieht unsere MSN aus?
<label id="country_italy">
<p>
ISDN4LINUX funktioniert auch in Italien (ICN Karte). Die MSN ist die
Telefonnummer mit der italienischen Ortsvorwahl, jedoch ohne die
vorangestellte 0. Wenn z.B. meine Telefonnummer 72004681 und meine Ortsvorwahl
045 lauten, so ist meine MSN 4572004681. Nun wird ISDN4LINUX mit der
Einstellung <tt>AT&amp;E4572004681</tt> gut funktionieren. 

<sect1> country_netherlands: Niederlande: Wie sieht unsere MSN aus? 
<label id="country_netherlands">
<p>
In den Niederlanden enthaelt die MSN (anders als in Deutschland) <em>auch die
Ortsvorwahl</em> - allerdings ohne die vorangestellte 0.  

<sect1> country_northamerica: Nordamerika: Koennen wir ISDN4LINUX in Nordamerika nutzen? 
<label id="country_northamerica">
<p>
Leider koennen europaeische ISDN-Karten in Nordamerika nicht benutzt werden. In
Europa stellt normalerweise die Telefongesellschaft den Netzwerk-Abschlu&szlig;
(NTBA) zur Verfuegung. In Nordamerika muss <em>der Kunde</em> dieses Geraet
(NT-1) selbst besorgen! Daher besitzen dort die meisten ISDN-Karten einen
integrierten NT-1. 

Es gibt da noch andere Unterschiede. So hat z.B. ein PRI (Primary Rate
Interface) in Europa 30 B-Kanaele, in Nordamerika nur 23. Es wird dort auch das
C-Kanal-Protokoll NI-1 benutzt. NI-1 ist mit DSS1 verwandt (beide sind
Q.931-Protokolle), jedoch haben beide ganz verschiedene Funktionsgruppen und
sind daher nicht kompatibel zueinander. 

Allerdings hat die Firma 'Spellcaster&dquot; einen ISDN4LINUX-Treiber fuer
ihre eigenen (aktiven) Karten geschrieben. Weitere Informationen erhaeltst Du
bei: 
<verb>
Ian James
Customer Service Manager
SpellCaster Telecommunications Inc.
73 Laird Drive, Suite 206
Toronto, Ontario
Canada M4G 3T4
Phone: 1 (800) 238-0547
Fax: (416) 425-0854
</verb>
E-mail:  <tt><htmlurl url="mailto:ipj@spellcast.com"
name="ipj@spellcast.com"></tt> oder <tt><htmlurl
url="mailto:sales@spellcast.com" name="sales@spellcast.com"></tt> 
Website: <tt><url url="http://www.spellcast.com"></tt>

<sect1> country_portugal: Portugal: Was sollten wir als MSN benutzen?
<label id="country_portugal">
<p>
Solange nur eine Telefonnummer oder MSN beantragt wird, sendet die
Telefongesellschaft keine Caller ID. Also sollte die MSN auf &dquot;0&dquot;
gesetzt werden. Wenn mehr als eine MSN beantragt wurde, sollten diese wie
ueblich eingetragen werden. 

<sect1> country_switzerland: Schweiz: Wir haben weder eine MSN noch eine EAZ, nur eine normale Telefonnummer. Was muessen wir mit I4L benutzen?   
<label id="country_switzerland">
<p>
In der Schweiz musst Du die <em>letzte Ziffer</em> Deiner Telefonnummer als
MSN/EAZ nehmen (&dquot;6&dquot; wenn Deine Telefonnummer &dquot;123456&dquot;
lautet). 

<sect1> country_uk: Gro&szlig;britannien: Was sollen wir als MSN benutzen? 
<label id="country_uk">
<p>
Das haengt von Deiner Art von ISDN ab.
<itemize>
<item> ISDN: Erlaubt keine normalen MSNs in Gro&szlig;britannien. Jede einzelne MSN
ist eine einzelne Ziffer (0 - 9), entsprechend der letzten Ziffer Deiner
Telefonnummer. Entweder hast Du <em>keine</em> MSNs (dann stellst Du in
ISDN4LINUX die '0' als MSN ein) oder 10 MSNs. In dem Fall bekommst
Du einen Block mit 10 fortlaufenden Telefonnummern (xxx0-xxx9), von denen
jeweils die letzte Ziffer (0-9) Deine MSN ist (0 wird benutzt, wenn Du eine
ungueltige Nummer einstellst). 
<item> ISDN2e: Scheint normales EuroISDN zu sein. Du bekommst MSNs, die Du
benutzen und in ISDN4LINUX einstellen kannst (?) 

<item> BTHH (BT HomeHighway): zusaetzlich zu 2 ISDN-Anschluessen bekommst Du
noch 2 analoge Leitungen mit separaten Telefonnummern. Anrufe von und zu
diesen analogen Ports werden allerdings nicht auf der ISDN-Leitung angezeigt,
obwohl sie einen B-Kanal belegen. Zusaetzliche MSNs sind <em>nicht</em>
verfuegbar (benutze darum '0' als MSN fuer
ISDN4LINUX). Gebuehrenanzeige ist gegen extra Bezahlung erhaeltlich. Stelle in
ISDN4LINUX nur Deine 'digitale' Telefonnummer als MSN ein. 
<item> BTBH (BT BusinessHighway): Der zusaetzliche 'Papierkrieg'
inklusive einer Bonitaetspruefung verschafft Dir MSNs und andere Extras gegen
gesonderte Bezahlung. Darueber hinaus ist es ziemlich so wie bei BTHH. Trage in
ISDN4LINUX Deine 'digitale' Nummer und/oder Deine MSNs ein. 
</itemize>
Beachte bitte, da&szlig; BT ein unerwartetes 'Feature' bei internationalen
Anrufen bietet. Bei internationalen Datenverbindungen musst Du
000&lt;Landescode&gt; (drei Nullen) waehlen anstatt  dem ueblichen
00&lt;Landescode&gt; (zwei Nullen) fuer internationale Sprechverbindungen.

Uebrigens: bei der Einstellung einer BT Speedway Karte kannst Du die AVM Fritz
Karte auswaehlen (entweder ISA oder PCI - je nachdem, welche Du hast). 

<sect> misc: Verschiedenes
<label id="misc">

<sect1> misc_nonullcable: Kann ich zwei ISDN-Geraete direkt mit einer Art &dquot;Nullmodem-Kabel&dquot; verbinden?   
<label id="misc_nonullcable">
<p>
Nein, das ist nicht moeglich. Das Konzept von ISDN erlaubt das nicht. Es wird
ein NTBA oder eine Anlage mit einem internen Bus benoetigt. 

<sect1> misc_uisdn: Kann ISDN4LINUX parallel zu UISDN laufen?
<label id="misc_uisdn">
<p>
Ja. Beide ISDN-Pakete laden das Modul isdn.o. Allerdings sind die
Benennungsregeln unterschiedlich. Tip: Benenne Urlichs isdn.o um in uisdn.o
und aendere lib/modules/modules.isdn (oder wie auch immer die Datei heisst, die
die Module auflistet und vom Script gelesen wird) entsprechend.
Gluecklicherweise sind die Standardnamen der ISDN-Devices auch verschieden. 


<sect> glossary: ISDN-spezifische Begriffe, die in dieser FAQ benutzt werden  
<label id="glossary">
<p>
<descrip>
<tag/active card/
<label id="glossary_active">
Es gibt Karten in verschiedenen Versionen: passive, semi-aktive und
aktive. Aktive Karten behandeln das D-Kanal- und B-Kanal-Protokoll mit ihrer
Hardware. Die zusaetzliche Hardware macht sie teurer. Dafuer sind sie aber auch
eher geeignet, wenn es um eine niedrige Beanspruchung der CPU geht (wenn sich
z. B. mehrere ISDN-Karten in einem Computer befinden). Wegen dieser speziellen
Hardware wird auch ein spezieller Treiber benoetigt. 
Abhaengig von der Hardware / dem Treiber sind spezielle Aufgaben wie z.B. das
Senden/Empfangen von G3-Faxen moeglicherweise sehr leicht zu implementieren.
Wenn Du diese Features brauchst, dann kaufe Dir eine aktive Karte. 

<tag/AOC-D/
&dquot;Advice Of Charge During the Call&dquot; (Gebuehrenuebermittlung waehrend
des Gespraeches). 

<tag/AOC-E/
&dquot;Advice of Charge at the End of the Call&dquot; (Gebuehrenuebermittlung am
Ende des Gespraeches). In Deutschland ist dieser Service im
&dquot;Komfortanschlu&szlig;&dquot; enthalten. 

<tag/BRI/
BRI steht fuer Basic Rate Interface und ist das am weitesten verbreitete
Interface. In Europa enthaelt ein BRI 2 B-Kanaele fuer die Datenuebertragung und 1
D-Kanal fuer die Verwaltung der Datenuebertragung. Die Alternative waere ein PRI
(Primary Rate Interface). 

<tag/CLIR/
CLIR (Calling Line Identification Restriction = Einschraenkung der
Identifikation der Anruferkennung) kann vom ISDN-Provider angeboten werden:
man kann (von Ruf zu Ruf) die Uebermittlung der eigenen Caller ID an den
Angerufenen vermeiden. In Deutschland muss das beantragt werden, ist aber
kostenfrei (die Call-by-Call-Uebermittlung der Caller ID ist jedoch
kostenpflichtig). 

<tag/COLP/
COLP (Connected Line Identification Presentation) ist ebenfalls ein Angebot
des ISDN-Providers. Du bekommst auf Deinen Antrag hin ein erweitertes
Waehl-Protokoll. Du bekommst Rueckmeldungen ueber Deine ausgehenden Verbindungen
von Deiner Telefongesellschaft. In Deutschland muss COLP beantragt werden und
ist kostenpflichtig. Mehr Informationen als durch COLP bekommst Du durch eine
umgekehrt angeschlossene zweite ISDN-Karte. 

<tag/CVS Tree/
Die Entwickler von I4L haben sich zu einem Team zusammen geschlossen. Das Tool
CVS erleichtert den Mitgliedern des Teams Patches zu erstellen und
einzuarbeiten. Des weiteren wird die Entwicklung des Projektes dadurch
dokumentiert und die Reproduktion alter Versionen erleichtert. 

<tag/EAZ/
Dies ist ein deutsches Aequivalent fuer eine MSN. In Deutschland werden EAZ und
MSN synonym benutzt obwohl man je nach benutztem Protokoll Unterschiede machen
sollte. Das, was im Euro-ISDN-Protokoll MSN genannt wird, war die EAZ im
deutschen 1TR6-ISDN-Protokoll (ein deutscher Vorlaeufer des Euro-ISDN). 

<tag/HDLC/
Ein gebraeuchliches low-level Protokoll.

<tag/HSCX/
Ein Siemens-Chip, den man wie den ISAC auf vielen passiven Karten findet. Er
uebernimmt den seriellen Bus vom ISAC und setzt zwischen diesem und den
B-Kanaelen beim Empfang (demultiplexing) oder Senden (multiplexing,
Einsetzen der Bits in der korrekten Anordnung) um. 

<tag/ISAC/
Ein Siemens-Chip, den man wie den HSCX auf vielen passiven Karten findet. Er
ist fuer die Kommunikationsschicht 1 verantwortlich und sitzt daher
(fast) direkt in der Leitung. Er behandelt das D-Kanal-Protokoll und
sendet die S0-Daten zu einem speziellen seriellen Bus (IOM). Beim
Senden verfaehrt er entgegengesetzt. 

<tag/MSN/
Im Gegensatz zu einer normalen Telefonverbindung kann eine ISDN-Verbindung
mehr als eine Telefonnummer haben - jede einzelne davon wird MSN (Multiple
Subscriber Number) genannt. 

<tag/passive card/
<label id="glossary_passive">
Es gibt Karten in verschiedenen Versionen: passive, semi-aktive und
aktive. Passive Karten verarbeiten das D-Kanal- und B-Kanal-Protokoll
softwaremae&szlig;ig. Dadurch sind sie kostenguenstiger, jedoch nur dort einsetzbar,
wo die CPU die zusaetzliche Arbeit leisten kann (bei normalem Datenverkehr ist
jeder Computer ab einem 486er oder gar einem 386er in der Lage, eine oder zwei
Karten zu versorgen). Da nur wenige Hardware-Chips weit verbreitet sind, kann
ein allgemeiner Treiber (HiSax) fuer fast alle passiven Karten eingesetzt
werden. 

<tag/PBX/
Eine PBX (Private Branch eXchange = Private Telefonanlage) dient dazu,
verschiedene interne Geraete mit dem ISDN-Netzwerk zu verbinden. Das gilt
normalerweise fuer analoge Geraete, die nicht direkt an das ISDN-Netzwerk
angeschlossen werden koennen. Die PBX kann auch einen internen digitalen S0-Bus
fuer den Anschlu&szlig; von ISDN-Geraeten zur Verfuegung stellen, ueber den interne
Gespraeche ohne Umweg ueber die Vermittlungsstelle gefuehrt werden koennen (dabei
werden Gebuehren der Telefongesellschaft vermieden). 

<tag/PRI/
PRI steht fuer Primary Rate Interface und wird benutzt, wenn ein einzelnes oder
mehrere BRI nicht genuegend Bandbreite liefern. In Europa enthaelt ein PRI 30
B-Kanaele fuer den Datenverkehr und 2 D-Kanaele fuer die Verwaltung des
Datenverkehrs. 

<tag/semi-active card/
<label id="glossary_semiactive">
Es gibt Karten in verschiedenen Versionen: passive, semi-aktive und aktive. Es
gibt fuer semi-aktive Karten keine feste Definition, das Folgende ist also
unsere Definition: 
semi-aktive Karten verarbeiten das B-Kanal-Protokoll mit ihrer Hardware, einem
speziellen DSP (Digital Signal Processor), das D-Kanal-Protokoll wird jedoch
der Software ueberlassen. Dadurch sind sie besser fuer spezielle Aufgaben
geeignet, z.B. fuer das Senden und Empfangen von analogen G3-Faxen. Fuer ihre
spezielle Hardware wird ein besonderer Treiber benoetigt. Beachte aber, da&szlig; aus
Marketing-Gruenden manche Karten als semi-aktiv bezeichnet werden, in
Wirklichkeit aber passive Karten sind (z.B. Teleint). 

<tag/subaddressing/
Beim Waehlen kann man eine zusaetzliche Nummer angeben, die Sub-Addresse. Die
Subaddresse wird an die Gegenstelle uebertragen, die darauf reagieren
kann. Dieses Feature ist vielleicht nicht ueberall verfuegbar, zumindest nicht
kostenlos (au&szlig;er in Frankreich). 

<tag/TEI/
TEI steht fuer Terminal End Identifier. Die lokale Vermittlungsstelle (bei
einem internen S0 die PBX) ordnet automatisch oder permanent jedem Endgeraet
einen TEI zu. Das ermoeglicht die Addressierung des D-Kanals. TEIs haben die
folgende Werte: 
<itemize>
<item>0-63 = permanente TEIs (z.B. 0 fuer Point-to-Point Verbindungen)
<item>64-126 = automatisch zugeteilte TEIs
<item>127 = Sendung an alle Geraete (z.B. ein eingehender Anruf)
</itemize>

<tag/UUS/
UUS steht fuer User-to-User Signalling. Es bedeutet, da&szlig; beim Anruf einige
Bytes mit Benutzerdaten zusammen mit den Daten fuer den
Verbindungsaufbau gesendet werden. Diese Eigenschaft wurde in Deutschland in
der Vergangenheit zu stark ausgenutzt, soda&szlig; die lokalen Vermittlungsstellen
immer weniger freie Kanaele hatten (die Rufanmeldung bewirkt die Reservierung
eines B-Kanals). Seither ist dieses Feature normalerweise kostenpflichtig und
die Menge der Daten ist limitiert (abhaengig von Deinem ISDN-Provider). Sieh
Dir die Benutzungsbestimmungen an. Kurz gesagt, ist es nur erlaubt, wenn Du
tatsaechlich eine Verbindung aufbauen willst. Beachte bitte, da&szlig; laut einigen
Berichten einige fehlerhafte PBX (wie die ISTEC 1003) eine Verbindung
ablehnen, wenn ihnen die Unterstuetzung fuer UUS angezeigt wird. 
</descrip>

</article>

<!-- $Id: i4lfaq-de.sgml,v 1.2 2000/04/02 22:07:50 hessler Exp $ -->

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-namecase-general:t
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:nil
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
