ISDN4LINUX - FAQ (deutsche Version) <author>Übersetzer: Wolfgang Bornath (<tt><htmlurl url="mailto:i4lfaq-de@isdn4linux.de" name="i4lfaq-de@isdn4linux.de"></tt>) <date>Übersetzung: v 2.0.65-1, 02. März 2002 <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 überlegen, 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/">. Diese FAQ beantwortet Fragen, die immer wieder in der Newsgroup de.alt.comm.isdn4linux gestellt werden. Sie enthält Themen zum Gebrauch von ISDN4LINUX, über die jeder User etwas wissen sollte, ebenso wie Tips zum besseren Nutzen der Features von ISDN4LINUX. Diese Version 2 der FAQ entstand aus einer früheren, jetzt überholten Version. Informationen über ältere Versionen von ISDN4LINUX (1997 und älter) 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 Lösungen aus dieser Mailingliste als Public Domain, ohne den Autor der Original-Mail anzuführen. Die FAQ wird jetzt in SGML erstellt, da dieses Format die Konvertierung in beliebige andere Formen der Dokumentation erleichtert (obwohl es da ein paar Einschränkungen gibt). Die FAQ wird im Original in englischer Sprache geführt, da die deutsch-sprachigen User die Mailingliste/ Newsgroup leichter verfolgen oder in deren Archiven suchen können. Die unzähligen Links in diesen Seiten sind nicht immer vollständig und sicherlich sind einige davon nicht mehr intakt. Ich habe leider nicht die Zeit, alle zu überprüfen. Lass es mich bitte wissen, wenn Du einen defekten Link entdeckst (wenn ich Zeit dazu habe werde ich eine automatische Linkkontrolle installieren). Zusätze, Verbesserungen und andere Vorschläge (inklusive Übersetzungen 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/"></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 (für Version 2.0). Die Weitergabe unter den Bedingungen der GPL wird begrüsst. Wir übernehmen jedoch KEINE GARANTIEN für 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 erhältlich, eine elektronische Version bekommst Du vom Autor der Originalversion dieser FAQ. <sect1> pro_wobo: Vorwort zur deutschen Übersetzung <label id="pro_wobo"> <p> Vom Übersetzer <bf>Wolfgang Bornath</bf> (<tt><htmlurl url="mailto:i4lfaq-de@isdn4linux.de" name="i4lfaq-de@isdn4linux.de"></tt>) Dies ist die deutsche Übersetzung von Matthias Hessler's FAQ für ISDN4LINUX. Bei der Umsetzung in die deutsche Sprache halte ich mich weitgehend an das Original. Da jedoch nicht der Eindruck entstehen soll, hier wäre ein "Babelfish" am Werke gewesen, erlaube ich mir, ab und zu etwas freizügig zu sein. Die Versionsbezeichnung richtet sich nach dem Original. Bei der deutschen Version 2.0.27-1 handelt es sich also um die erste Übersetzungsversion der Originalversion 2.0.27. Auf diese Art wird es dem interessierten Leser leicht gemacht, zwischen der deutschen und der englischen Ausgabe zu vergleichen. Die Originalversion wird normalerweise immer einen Schritt voraus sein. Ich bemühe mich jedoch, den Zwischenraum nicht zu groß werden zu lassen. Da die hier verwendeten Fachausdrücke in allen HOWTOs und Readmes, etc. immer wieder verwendet werden, habe ich sie nicht "eingedeutscht". Eine Erklärung der meisten Begriffe findest Du im <ref id="glossary" name="Glossar">. <sect1> wo_de: Wo gibt es die neueste deutsche Version dieser FAQ? <label id="wo_de"> <p> <quote> Die Online-Version zum Lesen: <tt><htmlurl url="http://www.wolf-b.de" name="http://www.wolf-b.de"></tt> </quote> <quote> <bf>Downloads:</bf> </quote> <quote> Alle folgenden Dateien liegen auf dem Server von ISDN4LINUX: ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/ </quote> <quote> Die HTML-Version als Tarball: <tt><htmlurl url="ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/i4lfaq-de-html.tar.gz" name="i4lfaq-de-html.tar.gz"></tt> </quote> <quote> Die HTML-Version als ZIP: <tt><htmlurl url="ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/i4lfaq-de-html.zip" name="i4lfaq-de-html.zip"></tt> </quote> <quote> Die FAQ im SGML-Format: <tt><htmlurl url="ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/i4lfaq-de.sgml" name="i4lfaq-de.sgml"></tt> </quote> <quote> Die SGML-Version als .GZ: <tt><htmlurl url="ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/i4lfaq-de-sgml.gz" name="i4lfaq-de-sgml.gz"></tt> </quote> <quote> Die SGML-Version als ZIP: <tt><htmlurl url="ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/i4lfaq-de-sgml.zip" name="i4lfaq-de-sgml.zip"></tt> </quote> <quote> Die FAQ im Text-Format: <tt><htmlurl url="ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/i4lfaq-de.txt" name="i4lfaq-de.txt"></tt> </quote> <quote> Die Text-Version als .GZ: <tt><htmlurl url="ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/i4lfaq-de-txt.gz" name="i4lfaq-de-txt.gz"></tt> </quote> <quote> Die Text-Version als ZIP: <tt><htmlurl url="ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/i4lfaq-de-txt.zip" name="i4lfaq-de-txt.zip"></tt> </quote> Alle <bf>Mails</bf> 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 über 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 für die jeweilige Karte. Zusätzlich gibt es noch das Paket <tt/isdn4k-utils/ mit den notwendigen Werkzeugen, um die ISDN-spezifischen Eigenschaften benutzen zu können. <sect1> general_hardware: Welche Hardware wird von ISDN4LINUX unterstützt? <label id="general_hardware"> <p> Im Allgemeinen unterstützt ISDN4LINUX sowohl ISDN-Karten für den ISA- oder PCI-Bus als auch einige PCMCIA-Karten. Sogenannte "Terminal Adapter", d.h., Geräte am seriellen oder parallelen Port können mit ISDN4LINUX jedoch <bf/nicht/ benutzt werden. Die einzige Ausnahme bildet derzeit die Creatix/Teles S0 Box mit Parallelport-Anschluß. Weitere Details über unterstützte Karten findest Du in dem Abschnitt <ref id="hardware" name="Hardware">. <sect1> general_features: Welche Leistungsmerkmale unterstützt ISDN4LINUX? <label id="general_features"> <p> Grundsätzlich 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 zusätzliche Features an. <tt/isdnlog/ z.B., mit dem ISDN Ereignisse dokumentiert werden und das es erlaubt, auf diese Ereignisse zu reagieren (inklusive Gebührenermittlung); und <tt/vbox/, ein Anrufbeantworter-Programm. Weitere Details findest Du im Abschnitt <ref id="feature" name="feature">. <sect1> general_countries: In welchen Ländern funktioniert ISDN4LINUX? <label id="general_countries"> <p> Zumindest in allen Ländern, in denen Euro-ISDN benutzt wird. Es gibt jedoch einige Besonderheiten. In dem Abschnitt <ref id="countries" name="countries"> findest Du mehr Infos über Dein Land. <sect1> general_docu: Wo finde ich weitere Dokumentationen, HOW-TOs und hilfreiche Tips & 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">. Zusätzlich existiert eine Newsgroup und eine Mailingliste zu ISDN4LINUX, die Dir die neuesten Informationen vermitteln. Weitere Informationen über diese guten Quellen findest Du im Abschnitt <ref id="docu" name="docu">. Sieh Dir auch die hervorragenden Links bei der Frage <ref id="config_links" name="config_links"> an! Du findest dort sowohl Informationen in Deiner Sprache als auch distributions-spezifische Antworten. <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 unterstützt Deine ISDN-Karte noch nicht. Zusätzlich benötigst Du eventuell das Paket isdn4k-util. In diesen Fällen 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, abhängig 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. Zusätzlich benötigst 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 älteren 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 überreden. Nun gut, wenn Du trotzdem Deinen alten Kernel behalten willst, so wird's gemacht: Zuerst musst Du den richtigen CVS-Auszug für Deine Kernelversion bestimmen (CVS ist das von den ISDN-Entwicklern benutzte System zur Versionsverwaltung). Benutze einen CVS-Snapshot mit dem ungefähren 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 können. Zusätzlich 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 für 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 für Kernel 2.0.x und nicht für 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 können weitere Updates durchgeführt 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 durchzuführen, 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 Anfängerfragen! Leute, die bei der Entwicklung von ISDN4LINUX <bf>kontinuierlich</bf> durch das Erstellen von neuen Treibern oder ähnlich helfen wollen, können 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> feature: 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 gerätespezifisch und können von ISDN4LINUX nicht für ein anderes Gerät aktiviert werden ohne daß ISDN4LINUX das TEI verfälscht (was wiederum das andere Gerät möglicherweise irritieren würde). Solche spezifischen ISDN Merkmale sind unter Anderen: Abweisung eines wartenden Anrufes, An-/Ausschalten der Nummernanzeige, Halten eines Gespräches, Konferenzgespräche, differierende COLP/CLRP. <sect1> feature_data: Welche Arten des Datentransfer von ISDN werden unterstützt? <label id="feature_data"> <p> Folgende Basisformate sind möglich: <itemize> <item> 56k asynchron : nein <item> 64k synchron : ja <item>128k synchron : ja (Kanalbündelung - siehe <ref id="feature_2channel" name="feature_2channel">) </itemize> Folgende Level2-Formate sind möglich: <itemize> <item>HDLC <item>X.75 <item>transparent <item>V.110 </itemize> Diese Encapsulations sind möglich: <itemize> <item>rawip <item>ethernet <item>Sync PPP <item>X.25 (benötigt 2.1 oder neuer) <item>Cisco und Cisco-h <item>Cisco-hk (=Cisco mit Keepalive; benötigt 2.1 oder neuer) <item>und noch ein paar Spezialitäten: Schau mal in die Man-Seiten. </itemize> Bitte beachte, daß X.31a wie X.25 als Aufsatz auf ISDN unterstützt wird. X.31b hingegen wird nicht unterstützt, weder als B-Kanal- noch als D-Kanal-Version. <sect1> feature_voice: Unterstützt ISDN4LINUX Audio-Funktionen (z.B. Anrufbeantworter oder Voice-over-IP für H.323 Clients)? <label id="feature_voice"> <p> Ja, in der aktuellen Version von ISDN4LINUX ist die Unterstützung für Audio-Funktionen enthalten. Als Anrufbeantworter kannst Du entweder "vgetty" aus Gert Doerings "mgetty+sendfax" benutzen oder "vboxgetty" von Michael Herold, das speziell für ISDN4LINUX geschrieben wurde. Das letztere ist Teil des Paketes isdn4k-utils, das Du auf <tt><url url="ftp://ftp.franken.de/pub/"></tt> findest. Ebenso kannst Du ISDN4LINUX als Gateway für Voice-over-IP nutzen und mit H.323-Clients (wie Voxilla oder Netmeeting) normale Telefone anrufen und/oder umgekehrt. Details zur Konfiguration findest Du bei der Frage <ref id="config_h323" name="config_h323">. <sect1> feature_fax: Kann ich mit ISDN4LINUX faxen? <label id="feature_fax"> <p> <itemize> <item><bf>Für alle passiven Karten (ausser von AVM): NEIN</bf>. Es gibt allerdings ein Projekt, das sich mit diesem doch komplizierten Problem beschäftigt. Weitere Informationen darüber erhältst Du unter <tt><url url="http://home.enitel.no/mortenro/linux/i4lfax/index.html"></tt> <item><bf>Für passive Karten von AVM: Ja</bf>. AVM brachte kürzlich einen binären CAPI 2.0 Treiber heraus, der das Faxen unterstützt. Die Konfiguration ist jedoch recht kompliziert. Einen guten Einstieg bietet die Seite <url url="http://www.avm.de/ftp/cardware/fritzcard/linux/index.htm">. Suche auch auf der Mailingliste nach Tips und möglichen Folgen/Nachteilen. <item><bf>Für 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> Die korrekte Konfiguration soll allerdings recht schwierig sein. Eine weitere hilfreiche Adresse ist <tt><url url="http://www.topf-sicret.de/hepl/capi20.html"></tt>. <item><bf>Für die aktiven PCI Karten von Hypercope HYSDN Ergo2 und HYSDN Metro4: Ja, nach dem Upgrade mit einer speziellen Faxkarte</bf>. Das Setup ist ähnlich wie bei der AVM B1, braucht jedoch zusätzliche Patches. <item><bf>Für 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. Die Eicon Diva Serverkarten ermöglichen den Faxbetrieb mit Class 2 Befehlen. <item><bf>Für die semiaktiven Karten Sedlbauer Speedfax, Sedlbauer Speedfax+ und Siemens I-SURF 1.0: Ja</bf>. Allerdings ist dazu z.Zt. noch etwas manuelle Arbeit notwendig und es werden nur Class 1 Befehle unterstützt. Dazu erfährst Du Genaueres (z.B. einen speziellen Patch) in der Mailingliste. Den Patch bekommst Du von <tt><url url="//ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.2/testing/ i4l_isar_fclass1.tar.gz"></tt> Bei Kernel 2.2.15 oder neuer wird der Patch nicht benötigt. Du musst allerdings die Kernel-Option für FCLASS2 setzen (CONFIG_ISDN_TTY_FAX=Y). Desgleichen muss die Firmware der Karte (in den isdn4k-utils enthalten) geladen werden: <code> hisaxctrl <driver_id> 9 ISAR.BIN </code> Dann initialisierst Du das ttyIn Interface mit <code> ATZ&E<deine_msn>S0=1S13=1+FCLASS=1 </code> und benutzt eine normale Konfigurationsdatei für Hylafax Class 1. Darin ersetzt Du die nicht unterstützten Befehle (z.B. flow control) durch Dummies. Zu der I-Surf 1.0 solltest Du Dir auch die Frage <ref id="hardware_isurf" name="hardware_isurf"> ansehen. </itemize> Weitere Informationen zum Aufsetzen eines Faxservers mit Hylafax findest Du auf der Hylafax-Website: <url url="http://www.hylafax.org"> oder auf <url url="http://www.mnd.fh-wiesbaden.de/~dreymann/linux">. Wenn Du jetzt faxen willst, ist ein analoges Modem neben Deiner ISDN-Karte die beste Wahl. Für Firmen, die einen Faxserver für mehrere Anschlüsse bereitstellen wollen, sind aktive ISDN Karten interessant. <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 meist nur mit Karten, mit denen Du auch faxen kannst: siehe Frage <ref id="feature_fax" name="feature_fax">. Bei einer Sedlbauer-Karte kannst Du den folgenden Befehl an das ttyI* geben: <code> AT&FS14=10S15=0S18=1&E<your_msn> </code> <sect1> feature_divert: Ist Anrufweiterleitung mit I4L möglich? <label id="feature_divert"> <p> Anrufweiterschaltung wurde erst vor kurzem in I4L eingearbeitet (das neue Programm <tt/divertctrl/). Für die Benutzung von capi4linux finden Sie ein ähnliches Programm namens <tt/capidivert/ unter: <url url=" http://www.tp1.ruhr-uni-bochum.de/˜kai/i4l/">.Es gibt dazu noch kein HOWTO und nur sehr sparsame Dokumentation. Deshalb ist es nur etwas für den erfahreneren Benutzer. In Holland kann als Alternative das "keypad protocol" benutzt werden. <sect1> feature_ipx: Kann ich IPX/SPX über ISDN mit Linux routen? <label id="feature_ipx"> <p> Ja, setze ein ISDN-Interface auf mit der Encapsulation <tt/ethernet/ und benutze IPX framing ETHERNET_II. <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. Sei jedoch vorsichtig beim Gebrauch des Dial-on-Demand (dod), da IPX dabei manchmal eine Katastrophe auslösen kann (siehe Frage <ref id="dod_disaster" name="dod_disaster">). <sect1> feature_2channel: Unterstützt ISDN4LINUX Kanalbündelung? <label id="feature_2channel"> <p> Die aktuellen Versionen von ISDN4LINUX unterstützen 2 Arten der Kanalbündelung: <itemize> <item><bf>MP</bf> (auch weithin als 'MPPP' 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 unterstützt, da es bei abweichenden Latenzzeiten der Wählverbindungen nicht verlässlich arbeiten kann. Warnung: Kanalbündelung spart Zeit, nicht Telefonkosten. Es nutzt nur, wenn Du die zusätzliche Bandbreite wirklich brauchst. <sect1> feature_diald: Kann ich ISDN4LINUX mit dem diald benutzen? <label id="feature_diald"> <p> Ja, kannst Du. Dazu musst Du die ttyI* Devices zur Hinauswahl eingerichtet werden, also normalerweise so: <code> /usr/sbin/diald /dev/ttyI4 -m ppp [....] </code> wobei in [...] weiter Wählparameter angegeben werden können. Die aktuelle Version des diald enthält Konfigurationsdateien für ISDN, siehe <url url="http://diald.sourceforge.net">. <sect1> feature_dod: Unterstützt der Treiber 'dial on demand'? <label id="feature_dod"> <p> Ja. Wenn eine Netzwerk-Device (z.B. 'isdn0') eingerichtet wurde, wird der Treiber die angegebene Nummer wählen. Wenn zusätzlich ein Hangup-Timeout (Idle Timeout) angegeben wurde (z.B.: <tt>isdnctrl huptime <interface> <time></tt>), wird der Treiber die Verbindung automatisch trennen, wenn während <time> Sekunden keine Daten über das Device transportiert wurden. Allerdings gibt es da Probleme mit syncPPP (siehe Abschnitt über 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 unerwünschten Verbindungsaufbaus beschäftigt: (<ref id="dod" name="dod">). <sect1> feature_sms: Kann ich über ISDN kurze Nachrichten (SMS) an mein Mobiltelefon (Handy) senden? <label id="feature_sms"> <p> Ja, dafür 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. Ein hilfreiches Konfigurationsbeispiel für yaps findest Du unter <url url="http://www.tnt-computer.de/linux/yaps-suite1-1.tgz">. Das Senden von SMS über ISDN wird vorwiegend von deutschen Providern angeboten, in anderen Ländern funktioniert das manchmal nicht. Holländische und britische SMS-Callcenter unterstützen dieses Feature nicht. Bitte verständigt mich wenn Euch weitere Informationen vorliegen. Ein weiteres Programm zum Versenden von SMS ist <tt/smsclient/. Du findest es auf <url url="http://www.styx.demon.co.uk">. <sect1> feature_btx: Ist unter ISND4LINUX der Zugriff auf das deutsche Videotex/Btx/Datex-J möglich? <label id="feature_btx"> <p> Ja, es funktioniert mit der Modememulation mit den Devices ttyI*. Es muss ein bestimmtes Register für videotex gesetzt werden (ATSx=y - schau in die Readme-Dateien). Warnung! XCept (früher Xbtx) hat eine Konfigurationsoption für ISDN. Diese sollte NICHT benutzt werden. XCept sollte eingestellt werden, als ob ein normales Modem benutzt wird. <sect1> feature_clock: Kann ich die Uhr meines Computers mit ISDN stellen? <label id="feature_clock"> <p> Ja, Isdnlog bietet dies mit der Option '-t'. Leider werden Sekunden via ISDN nicht übertragen und die vermittelte Zeit ist nicht sehr genau - abhängig 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 'netdate' oder 'rdate' benutzen. Auf folgenden URLs bekommst Du Informationen über den Gebrauch von Zeit-Servern: <itemize> <item> <url url="http://www.eecis.udel.edu/~mills/ntp/servers.htm"> <item> In German: <url url="http://www.ptb.de/deutsch/org/4/43/433/verb.htm"> <item> In German: <url url="http://www.ptb.de/deutsch/aktuell/pi/pi00/pi0100.htm"> </itemize> <sect1> feature_dosemu: Läuft 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 genügt, wenn man in der dosemu.conf einen virtuellen ComPort (z.B. Com2) einträgt, der mit z.B., Telix oder Terminal benutzt werden kann: serial { com 2 device /dev/ttyI3 }. Zugang mit Fossil ist möglich, 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. unterstützen folgende Karten das CAPI 2.0 Interface: <itemize> <item> die aktive Karte AVM B1. <item> die aktiven DIVA Server Karten von Eicon. <item> die aktiven Karten von Hypercope (HYSDN Champ2, HYSDN Ergo2, HYSDN Metro4) <item> die passive FritzCard von AVM. Dazu musst Du jedoch die als Binary vorliegenden Treiber vom FTP-Server von AVM laden und manuell installieren. Auf der folgenden Website findest Du ein gutes HowTo: <url url="http://www.topf-sicret.de/help/capi20.html">. Auch in der Mailingliste findest Du jede Menge darüber. </itemize> Dieses Interface folgt dem offiziellen Standard CAPI 2.0, der kürzlich von der CAPI Association (<url url="http://www.capi.org">) für Linux verabschiedet wurde. Es gibt Bestrebungen dieses Interface allgemein verfügbar zu machen, also auch für andere Karten. Es gibt jedoch keine Pläne für ein CAPI 1.1 Interface. <sect1> feature_uus: Wird UUS (user to user signaling) unterstützt? <label id="feature_uus"> <p> Ja, ISDN4LINUX könnte sowohl Senden als auch Empfangen unterstützen. Wegen der unklaren gesetzlichen Bestimmungen zum Gebrauch dieser Möglichkeit ist die Implementierung allerdings noch sehr unvollständig. Der Empfang von UUS ist nur durch die Debug Interfaces möglich. Das Senden wird nur in Verbindung mit dem Weiterleitungsdienst unterstützt (beim Abweisen eines Anrufes oder beim Senden eines Besetzt-Zeichens) aber nicht bei einem normalen Anruf. Empfehlenswert wäre anstelle von UUS der Gebrauch des Subaddressing (siehe Frage <ref id="feature_subaddressing" name="feature_subaddressing">). Beachte bitte, daß das Senden von UUS kein kostenfreier Dienst ist (der Empfang ist kostenlos), zumindest bei einigen deutschen Telefon-Dienstanbietern musst Du dafür extra bezahlen (schau Dir die Nutzungsbestimmungen genau an). Zusätzlich solltest Du bedenken, daß bei einer Verbindung durch ein PBX die gesamten UUS Signale ausgefiltert werden könnten. <sect1> feature_subaddressing: Wird Subaddressing unterstützt? <label id="feature_subaddressing"> <p> Ja, ISDN4LINUX unterstützt Subaddressing (möglich in Frankreich). Übergib dem HiSax die Nummer in folgendem Format: <tt><number>.<subaddress></tt>. Möglicherweise musst Du jedoch diesen Dienst gesondert bestellen und für den Empfang bezahlen (das Senden ist kostenlos), abhängig von Deinem ISDN-Anbieter. Bedenke auch, daß bei einer Verbindung über ein PBX wahrscheinlich das ganze Subaddressing ausgefiltert wird. <sect1> feature_gsmv110: Kann ich eine Verbindung zu ISDN4LINUX von meinem PDA über ein GSM- Handy herstellen? <label id="feature_gsmv110"> <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. <sect1> feature_reversedcard: Kann ISDN4LINUX ALLE Aktionen auf dem ISDN-Bus protokollieren (dual mode/reversed card/COLP/...)? <label id="feature_reversedcard"> <p> Ja, ISDN4LINUX bietet dazu mehrere Möglichkeiten. Mehr dazu bei der Frage <ref id="isdnlog_reversedcard" name="isdnlog_reversedcard">. <sect1> feature_chargeint: Kann ISDN4LINUX kurz vor der nächsten Gebühreneinheit des Providers auflegen? <label id="feature_chargeint"> <p> Ja, das geht. Mehr dazu im Abschnitt <ref id="chargeint" name="chargeint">. <sect1> feature_eurofile: Kann ISDN4LINUX Daten mittels EFT (Eurofile Transfer) übertragen?? <label id="feature_eurofile"> <p> Ja, ISDN4Linux bietet dazu spezielle Tools, die Bestandteil der isdn4k-utils sind. <sect1> feature_leased: Kann ISDN4LINUX mit Miet-/Standleitungen (z.B. D64S) umgehen? <label id="feature_leased"> <p> Ja, das kann ISDN4LINUX (Erklärungen im Glossar: <ref id="glossary_leased" name="glossary_leased">). Sieh Dir auch den Bereich <ref id="leased" name="leased"> an. <sect1> feature_pointtopoint: Arbeitet ISDN4LINUX sowohl im Anlagenanschluss als auch im Mehrgeräteanschluss? <label id="feature_pointtopoint"> <p> Ja, ISDN4LINUX unterstützt beide Modi. Im Glossar werden die Begriffe erklärt: <ref id="glossary_pointtopointmode" name="glossary_pointtopointmode"> und <ref id="glossary_multidevicemode" name="glossary_multidevicemode">. <sect1> feature_ntmode: Kann man mit ISDN4LINUX eine Karte im NT-Modus betreiben? <label id="feature_ntmode"> <p> Ja, ISDN4LINUX unterstützt das, jedoch nur für bestimmte Karten. Näheres unter <ref id="feature_crossedcable" name="feature_crossedcable">. Mehr über den NT-Modus steht im Glossar: <ref id="glossary_ntmode" name="glossary_ntmode">. <sect1> feature_crossedcable: Kann ich mit ISDN4LINUX 2 Geräte (2 ISDN-Karten) direkt durch ein Kreuzkabel verbinden? <label id="feature_crossedcable"> <p> Ja. Das setzt jedoch voraus, daß die ISDN-Karten im NT-Modus betrieben werden können (Details dazu im Glossar: <ref id="glossary_ntmode" name="glossary_ntmode">). Das geht nur bei wenigen Karten (z.B. mit HFC Chips). Zum Start der Karte im NT-Modus muss folgender Befehl benutzt werden: <code> hisaxctrl <id> 98 1 </code> Das gekreuzte Kabel muss - egal wie kurz es ist - terminiert werden. Ohne Terminierung läft garnichts, nicht einmal bei einem 1m-Kabel. Manche HFC-Karten besitzen Jumper zur Terminierung. Dies stellt jedoch nur die physikalische Verbindung her. Bisher implementiert ISDN4LINUX (noch?) nicht das höhere ISDN-Protokoll DSS1 (d.h., ISDN4LINUX kann dem ISDN-Gerät keinen ISDN-Knoten vorspielen und die richtigen ISDN-Befehle erteilen). Daher kannst Du zwar eine Standleitung simulieren aber keine Telefonanlage. <sect1> feature_lcr: Ist mit ISDN4LINUX "least cost routing" (LCR) möglich? <label id="feature_lcr"> <p> Ja, dieses Feature wird jetzt von isdnlog unterstützt. Damit sucht isdnlog bei einem Anruf über die ISDN-Karte je nach Tageszeit und Gebühreninformation den günstigsten Anbieter aus. Seit isdnlog 4.16 wird ein externes Script aufgerufen (falls konfiguriert) das verschiedene ISP-Einstellungen ändert (z.B.: DNS, Proxy, ...). Achte bitte darauf, daß die ABC-Erweiterungen (siehe <ref id="docu_abc" name="docu_abc">) installiert werden müssen. Weiterhin sollte isdnlog immer aktiv sein (sonst kann die Hinauswahl um 3 Sekunden verzögert werden). Wenn die ABC-Erweiterungen nicht installiert sind schreibt isdnlog Hinweise darüber ins Logfile, welcher Provider ausgewählt worden wäre. <sect1> feature_future: Welche Features sind für die Zukunft geplant? <label id="feature_future"> <p> Eigentlich sind die meisten Features bereits implementiert und werden nun verbessert. Doch wer weiss, welche interessanten Features sich die Entwickler noch einfallen lassen werden? Wir werden sehen... <!-- Helpful docu, links, mailing list, config examples, howto's --> <sect> docu: Dokumentation, Howto's, Tips & 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-Fähigkeit: <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 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> Du solltest ebenso das ausgezeichnete Handbuch lesen! Bei einer Debian-Distribution sind die folgenden Informationen hilfreich: <tt>/usr/share/doc/isdnutils/HOWTO.gz</tt> Als Leser des deutschen Computermagazins <tt/ct/ findest Du sehr hilfreiche Artikel in diesen Ausgaben (unter anderen): <itemize> <item>ct 05/1998, Seite 224: <tt>Der erste Kontakt/Linux: Mit PPP ans Internet</tt> <item>ct 21/1998, Seite 288: <tt>Reiseleiter/Internet-Anbindung für das LAN</tt> <item>ct 25/1998, Seite 218: <tt>Bei Anruf Netz/Linux: Dial-In Server</tt> <item>ct 7/2001, Seite 228: <tt>Des Surfers Bastelstunde: Mobilfunktechnik HSCSD ausschöpfen</tt> (beinhaltet auch Informationen zur Dial-in Konfiguration ohne HSCSD). </itemize> Bei der Frage <ref id="config_links" name="config_links"> findest Du weitere hilfreiche Links zur Konfiguration von I4L (z.B.: spezielle Hilfe für SuSE-, RedHat- oder Mandrake-User). <sect1> docu_website: Wo liegt die offizielle Website für 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 über 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 für 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.Übers.: Da ISDN4LINUX eine hauptsächlich 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 für 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 unzählige Male beantwortet wurde (suche auf <url url="http://www.deja.com/"> mit Schlüsselwörtern wie ISDN, Linux, i4l, isdn4linux,...). Die Leute der Mailingliste ärgern 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">). In einem Schreiben an die Mailingliste sollten immer die folgenden Angaben enthalten sein: <itemize> <item> die Version des Kernels <item> die Versionen von I4L und hisax <item> das Modell der Karte </itemize> 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 enthält 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 <email address>/, wobei <email address> 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 <email address>/. Beachte bitte, daß es etwa 20-50 Mails pro Tag auf dieser Mailingliste gibt. Wie Du nur eine Mail pro Tag mit dem Inhalt aller Nachrichten bekommst erfährst 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 <email address>/ und zum Abbestellen: <tt/unsubscribe isdn4linux-digest <email address>/. <sect1> docu_mailarchive: Gibt es ein Archiv der ISDN4LINUX-Mailingliste? <label id="docu_mailarchive"> <p> Zur Schnellsuche mit Schlüsselwörtern kannst Du <tt><url url="http://www.deja.com"></tt> benutzen. Wähle auch ältere Archive um eine komplette Suche durchzuführen. Die Messages werden auch, nach Monaten sortiert, ungeordnet beim listserv.isdn4linux.de gesammelt. Das Archiv ist zugänglich 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 möglichen Befehle sind: <itemize> <item>index isdn4linux - Auflistung der verfügbaren Archive <item>get isdn4linux filename - bestellen der Datei filename </itemize> Die Benennung der Archive erfolgt nach dem Muster 'archiv.jahrmonat', also ist 'archiv.9610' das Archiv von Oktober 1996. <tt>Anm.d.Übers.: 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. 'archiv.0001' nicht vorhanden.</tt> Ein weiteres Archive befindet sich auf: <tt><url url="ftp://ftp.uni-oldenburg.de/pub/unix/linux/isdn/isdn4linux/ Mailing-List"></tt> <!-- Supported Hardware & hardware-specific stuff --> <sect> hardware: Unterstützte Hardware, ihre Eigenheiten und Hardware-bezogene Probleme <label id="hardware"> <sect1> hardware_support: Welche Hardware wird unterstützt? <label id="hardware_support"> <p> Unterstützt werden nur interne Karten für den ISA- oder PCI-Bus. Auch ISA Plug&Play Karten werden unterstützt, benötigen aber etwas zusätzliche 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ß Du eine passive Karte hast. Mehr über den Unterschied findest Du bei <ref id="hardware_activepassive" name="hardware_activepassive">. Z.Zt. gibt es einen Treiber für alle passiven Karten mit bestimmten Siemens Chips (HiSax Treiber). In der mit dem Treiber gelieferten Datei <tt/README.HiSax/ findest Du die neuesten Informationen über unterstützte Karten und welche Parameter dem HiSax übergeben werden müssen. 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.Diva 2.0 ISA und PCI (S0 und U Interface, nicht die PRO Version) <item>Eicon.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.x (mit ISAR =< versuche Typ 29) <item>Siemens I-Surf 2.x (mit IPAC => versuche Typ 12 asuscom) <item>Trust PCI (nur die alte Karte mit Siemens Chip; die in den Niederlanden genannte 'Wisecom' funktioniert nicht) <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 <item>USB ISDN Adapter mit dem ST5481, z.B. BeWan Gazel 128 USB </itemize> Hinweis: <itemize> <item>AVM A1+ wird nicht unterstützt <item>PCF, PCF-Pro: bis jetzt wird nur der ISDN-Teil unterstützt <item>PCC-8: noch nicht getestet <item>Eicon.Diva U Interface nicht getestet <item>Einige Karten funktionieren nur als Module, nicht fest in den Kernel eingebunden <item>Asuscom-Karte: Beachte, daß die ISA-Version ein anderer Typ ist (12) als die PCI-Version (35 mit HFC oder 36 mit Winbond chip)! <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". <item>DataFire Micro V PCI = Karte mit HFC-Chip (Typ 35) </itemize> Fü deutsche Leser: Jede Karte, die die Deutsche Telekom in der Vergangenheit herausgab, wird unterstützt. Das gilt NICHT für die TK-Anlagen! Die folgenden Karten werden definitiv nicht unterstützt, vermutlich auch in Zukunft nicht, da die Hersteller die Spezifikationen für ihre sehr proprietäre Hardware und Protokolle nicht herausgegeben haben: <itemize> <item>Fritz!X <item>Eumex 404 </itemize> Für die Eumex 404 gibt es ein inoffizielles Treiber-Binary für ISDN4LINUX mit SuSE 6.3, das hilfreich sein könnte (oder auch nicht). Benutzung auf eigene Gefahr: <url url="http://home.t-online.de/home/MetalMilitia/eumex.htm">. <sect1> hardware_activepassive: Was ist der Unterschied zwischen einer aktiven und einer passiven ISDN-Karte? <label id="hardware_activepassive"> <p> Eine aktive ISDN-Karte führt 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 ausführen. Prinzipiell werden beide Arten von ISDN4LINUX unterstützt. Da jedoch aktive Karten ein nicht standardisiertes Interface haben, kann ein Treiber nur dann erstellt werden, wenn der Hersteller die Spezifikationen für das Interface herausgibt. Ebenfalls muss die Firmware der Karte frei verfügbar sein. Im Unterschied dazu enthalten viele passive Karten den gleichen Chipset. Wenn einmal ein Treiber für einen Chipset existiert werden daher viele passive Karten unterstützt. Diese aktiven Karten werden z.Zt. von einem speziellen Treiber unterstützt: <itemize> <item>AVM B1 <item>AVM C4 <item>Eicon DIVA Server BRI PCI <item>Eicon DIVA Server 4BRI <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 Verfügung und gab eine Menge Unterstützung, was zu einem exzellenten Treiber führte. Ausserdem sind ELSA Karten in Deutschland zum Gebrauch an öffentlichen Netzen zugelassen (siehe Frage <ref id="country_certified" name="country_certified">). Für den Kauf einer aktiven Karte würden die Entwickler die PCI Serverkarte von Eicon empfehlen. Sie kann auf beiden Kanälen Faxe mit Class 2 Befehlen verschicken/empfangen und enthält ein V.90 Modem. Die AVM B1 arbeitet ebenfalls recht gut, kann jedoch nur auf einem Kanal faxen. Auch die Karten von Hypercope funktionieren recht gut mit allen verfügbaren Fax-Kanälen. Sie benötigen jedoch ein Hardware-Upgrade für den Faxbetrieb und der Linux-Treiber ist recht neu. Wenn der Faxbetrieb für Dich wichtig ist aber die Kosten für eine aktive Karte zu hoch sind, könnte Dir eine Karte mit ISAR Chipset eher dienlich sein. Es gibt z.B. die Sedlbauer Speedfax+, die man in Deutschland u.a. bei Conrad bekommt. <sect1> hardware_external: Unterstützt ISDN4LINUX externe Terminaladapter? <label id="hardware_external"> <p> Nein, aber das ist auch nicht nötig. Terminaladapter benehmen sich entweder wie ein Modem oder wie eine Netzwerkkarte. Linux unterstützt bereits sowohl Modems als auch Netzwerkkarten ohne ISDN4LINUX - also wird kein spezieller ISDN-Treiber benötigt (wodurch sich gewöhnlich die Konfiguration sehr vereinfacht). Schau Dir z.B. das Programm wvdial an. <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 <tt><url url="http://www.in-berlin.de/User/scorpio/faqkabel.html"></tt> findest. <sect1> hardware_irq: Warum sollte ich die IRQs 12 und 15 für 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 dafür aktiviert ist). Der IRQ könnte 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 dafür nicht festgelegt ist). Sogar wenn man denkt, daß einige IRQs verfügbar sind, können 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_irqsharing: Unterstützt der ISDN4LINUX-Treiber auch geteilte (Shared) Interrupts? <label id="hardware_irqsharing"> <p> Ja, die Treiber wurden so geschrieben, daß es geht. Zumindest bei der Karte AVM Fritz!PCI wurden jedoch manchmal auftretende Probleme bei Motherboards mit einem BIOS-Bug berichtet (DFI Motherboards K6BV3+, P5BV3+ K6XV3). Als Workaround kann man versuchen, die BIOS-Option <tt>CPU to PCI WRITE Buffer</tt> zu deaktivieren. <sect1> hardware_s2m: Welche S2M Karten werden unterstützt? <label id="hardware_s2m"> <p> Zumindest von diesen S2M Karten wurde berichtet, daß sie funktionieren: <itemize> <item>AVM T1 <item>Eicon.S2M-ISA oder DIVA Server PRI/PCI (siehe <url url="http://www.melware.de/">) </itemize> <sect1> hardware_pcmcia: Welche PCMCIA Karten werden unterstützt? <label id="hardware_pcmcia"> <p> Zumindest von diesen PCMCIA Karten wurde berichtet, daß 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 unterstützt (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: Läuft 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_sun: Läuft ISDN4LINUX auf einer Sun-Workstation? <label id="hardware_sun"> <p> Vermutlich nicht. Es gibt drei (interne) Möglichkeiten für ISDN in der SUN: <enum> <item> SBUS ISDN Adapter: Ältere SUN-Workstations haben ein SBUS Interface für zusätzliche Karten. Es gibt eine ISDN SBUS-Karte "X1012". Es gibt jedoch keinen Support für diese Karten, da es keine Informationen darüber gibt! <item> Eingebaute ISDN Adapter: Die Sparc-Station-LX, Sparc-Station-10 und der Sparc-Server-10 haben einen ISDNAdapter, der in das Motherboard integriert ist. Diese Workstations wurden von HISAX (Kernel 2.3.0) unterstützt. Der Code wurde allerdings schon eine längere Zeit (über neuen Monate) nicht mehr weiter entwickelt. Es gibt da alle möglichen uralten HISAX Definitionen in diesen Treibern. Es muss eine Menge getan werden, um diese Treiber wieder zum Laufen zu bringen. Der ursprüngliche Entwickler warnt jedoch davor, zuviel zu erwarten: der DBRI-Chip erlaubt kein buffern (es muss ein IRQ für jedes Byte ausgelöst werden) und raw-hdlc muss software-seits realisiert werden anstatt in der Hardware vorhanden zu sein... Der Autor von dbri.c hat die Arbeit daran beendet. Er hat jedoch für jeden, der die noch vorhandenen Fehler beseitigen will, eine Kopie des DBRI Datenblattes auf <url url="http://www.freesoft.org/Linux/DBRI"> abgelegt (Stand 10. Januar 2000). Es ist zu beachten, daß der Code der letzten Entwicklungen nicht für 32-Bit Maschinen kompiliert werden kann. <item> PCI ISDN Adapter: Moderne SUN-Workstations und Server haben heute eine ander Busstruktur. Die ULTRA Serie benutzt den PCI-Bus. Obwohl einige PC-Karten in SUNs zu funktionieren scheinen gibt es (noch) KEINE Berichte über sauber arbeitende ISDN-PCI-Karten in der SUN. Bitte schreibt mir in einem solchen Erfolgsfall. </enum> <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 für die 32-Bit B-Kanal Daten benutzt. Auf jeden Fall kannst Du auch einen Terminaladapter (= externes ISDN Modem) benutzen. Da Du dann kein ISDN4LINUX benötigst (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 hängt von den verfügbaren Slots, den freien Interrupts und IO-Addressen in Deinem Computer und den Möglichkeiten der ISDN Karte ab. Die meisten passiven Karten haben ihre Grenzen durch die unterstützten IO-Addressen (z.B. sind bei der Teles 16.x nur 3 Addressen gesetzlich zugelassen: 0xf80, 0xd80 und 0xe80) und die Gesamtzahl an Interrupts (jede Karte benötigt einen). <tt>Anm.d.Übers.: Da HiSax und auch PCI laut Definition mit IRQ-Sharing zurecht kommen, ist diese Limitierung (zumindest für PCI-Karten) eigentlich nicht mehr gegeben.</tt> Falls mehr Karten benötigt werden könnte 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 benötigt wird. Daher kann man soviele Karten benutzen wie Slots verfügbar sind. Wenn Du wirklich eine Menge Anschlüsse benötigst wäre schließ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 Spezialitäten, die mit anderen ISDN Karten nicht möglich 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 gegenüber einer anderen ISDN Karte. Da jedoch ISDN4LINUX das beim Austausch benutzte Level 3 Protokoll nicht unterstützt kannst Du diesen Modus nur wie eine Standleitung benutzen. Ebenso kannst Du einen B-Kanal aufgeben und dafür das komplette D-Kanal-Protokoll auslesen, eine tolle Sache für 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 verlässlicher und sauberer. Du aktivierst diesen speziellen Echo Modus mit: <code> hisaxctrl <treiber_name> 10 1 hisaxctrl <treiber_name> 12 1 </code> Du schaltest das wieder ab mit: <code> hisaxctrl <treiber_name> 12 0 hisaxctrl <treiber_name> 10 2 </code> Der Parameter 10 bestimmt die Anzahl der verfügbaren Kanäle, Parameter 12 wechselt den Echo Modus. <sect1> hardware_elsa: Was sollte ich über ISDN Karten von ELSA wissen? <label id="hardware_elsa"> <p> Im allgemeinen unterstützt ELSA die ISDN4LINUX Entwickler sehr gut mit Dokumentationen über den Zugriff auf ihre Karten. Daher werden diese Karten sehr gut unterstützt und sind zum Gebrauch mit ISDN4LINUX sehr empfehlenswert. Zusätzlich 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 über 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 unzulässige Werte (sie liegen im höheren Speicherbereich und müssen 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 möglich 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ß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> Was die ELSA Microlink ISDN USB betrifft: Sie arbeitet - entgegen den bisherigen Aussagen - NICHT wie ein serieller Adapter mit dem USB Communication Class Treiber. Zur Zeit wird dieser Adapter nicht von ISDN4LINUX unterstützt. <sect1> hardware_sedlbauer: Was ist bei der Sedlbauer-Karte zu beachten? <label id="hardware_sedlbauer"> <p> Die Sedlbauer-Karte gibt es in mehreren Versionen: <itemize> <item> Sedlbauer Speedwin <item> Sedlbauer Speedfax <item> Sedlbauer Speedfax PCI </itemize> Die Speedwin ist eine normale passive Karte mit keinerlei Besonderheiten. Die Speedfax besitzt eine sehr spezielle Hardwareausstattung: Es ist eine semiaktive Karte mit einem ISAR Chipsatz, der das Senden und Empfangen von Faxen und den Betrieb als 14.4-Modem ermöglicht. Das Besondere an der Karte ist, daß sie mit HiSax benutzt wird, der normalerweise nur mit passiven Karten arbeitet. Du musst jedoch, wie bei allen aktiven Karten, die Firmware laden (in diesem Fall nach dem HiSax). Die Datei ISAR.BIN mit der Firmware ist Teil der isdn4k-utils. Hinweis: Kompressionsverfahren (V42bis, MNP) sind nicht in die Firmware implementiert und werden daher beim Modem-Betrieb nicht unterstützt. Der ideale Initstring zur Modem-Einwahl ist <tt>AT%C0\N0</tt>. Falls bei einigen Faxsendern der Empfang durch Hylafax nicht funktioniert, versuchen Sie die folgenden Parameter für Hylafax einzustellen: <code> Class1SwitchingDelay: 75 </code> Die Sedlbauer Speedfax PCI ist eine Besonderheit, da sie speziell für Linux produziert wurde - es gibt für sie keinen Windows-Treiber. <sect1> hardware_teles: Was sollte ich vor dem Kauf einer ISDN Karte von Teles wissen? <label id="hardware_teles"> <p> Zuerst die neuesten Nachrichten: Nach Berichten des deutschen Magazins c't, Ausgabe 02/2001, hat Teles seine Aktivitäten im ISDN-Bereich aufgegeben. Deshalb ist diese FAQ eigentlich nicht weiter von Interesse. Ich behalte sie trotzdem einstweilen bei um Teles' Verhalten gegenüber ihren Kunden aufzuzeigen. Der Autor hat seit 1994 persönliche Erfahrungen mit Teles. Eine der meist gestellten Fragen zu Teles-Karten: Die Teles Karte 16.3c hat einen defekten FIFO und benötigt daher für den Gebrauch der ttyI* Devices die Eingabe von <tt/AT&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 benötigt 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 über Teles im allgemeinen (diese sind die persönliche Ansicht des Autors dieser FAQ und niemand ausser mir ist dafür verantwortlich) (<tt>Anm.d.Übers.: Diese Ansichten teile ich ebenfalls voll und ganz!</tt>): Die Geschäftspraktiken von Teles sind sehr Kunden- und Entwickler- unfreundlich verglichen mit anderen Firmen. Selbstverständlich kümmern sich die Entwickler vordringlich um Karten, für die Support geleistet wird und deren Spezifikationen frei verfügbar sind. Bisher hat sich Teles gegenüber den Entwicklern von I4L sehr unfreundlich verhalten. Es wurde von Teles weder irgenwelche Unterstützung geleistet noch wurden Informationen über den Zugriff auf ihre Karten veröffentlicht. Die Entwickler haben von Anfang an eine Menge an privatem Engagement investiert um diese Karte zum Laufen zu bringen ohne irgendeine Unterstützung zu bekommen. Der Treiber ist also ein Resultat von rein privater Arbeit. Trotzdem brüstet sich Teles auf ihrer Website damit, daß 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 führte dazu, daß sich eine re-branding Firma (!) selbst um eine Genehmigung für den Gebrauch von I4L mit einer Teles Karte in Deutschland bemühen musste. Aus Verbrauchersicht sollte man sich die Preise für die Hotline ansehen bevor man Hardware von Teles kauft! Der Autor der FAQ (<tt>und der Übersetzer</tt>) weigert sich, eine Hotline zu benutzen, die 216,- DM pro Stunde kostet. Berichte über die Qualität und die Wartezeiten waren nicht immer positiv. Diese Firma gab über Jahre hinweg (meines Wissens 1995-2000) noch nicht einmal Treiber für andere Betriebssysteme wie z.B. Windows kostenlos heraus. Erst seit April 2000 kann man die Treiber über das Internet beziehen. Vorher musste man zum Download eines Treibers in Deutschland eine sehr teure Nummer (0190, DM 1,20/Minute) anwählen. Nicht, daß es überhaupt ratsam wäre, Windows zu benutzen. Ich wollte es nur erwähnen... Warnung: Teles hat ihre Karten sehr oft ohne Bekanntgabe geändert ohne den Modellnamen zu ändern. Nach dem Kauf einer Teles Karte kannst Du eventuell feststellen, daß Deine brandneue Karte nicht von I4L unterstützt wird! (Wie es mehrere Male geschehen ist...) Die Entwickler werden versuchen, neue Teles Karten zu unterstützen sobald Informationen über den Zugriff auf die Karte verfügbar sind und keine anderen Prioritäten vorliegen. Natürlich kannst Du jederzeit einen Patch einsenden. <sect1> hardware_fritz: Was ist beim Konfigurieren einer Fritz!Karte (auch bekannt als: AVM A1, Teledat 150, BT Speedway) zu beachten? <label id="hardware_fritz"> <p> Die Fritz!Karte gibt es in mehreren Variationen. Da die PCI-Karte und die ISA/PNP-Karte den gleichen Typ angeben (27), wird hisax bei der Angabe einer IO-Adresse eine ISA/PNP-Karte und bei keiner Angabe einer IO-Adresse eine PCI-Karte annehmen. Beachte also genau, was Du angibst. Die aktuelle Fritz! PCI Karte (v2.0) wird jetzt von einem neuen Treiber unterstützt. Dieser wurde jedoch noch nicht ernsthaft getestet. Die Karte kann mittels lspci identifiziert werden: Die Karten-ID ist 0e00. Wenn der Interrupt der Karte mit anderen Karten geteilt wird und die ISDN-Karte nicht funktioniert kann das am Motherboard liegen. Dazu mehr unter <ref id="hardware_irqsharing" name="hardware_irqsharing">. Ein interessanter Aspekt: Die Fritz!Karte ist z.Zt. die einzige passive Karte mit einem existierenden CAPI-Treiber und damit imstande Faxe zu senden/empfangen. Weitere Informationen dazu gibt es unter <ref id="feature_capi" name="feature_capi"> und bei <url url="http://www.avm.de/ftp/cardware/fritzcrd/linux/index.htm">. <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 unterstützt. Sie ist zur Zeit eine der wenigen ISDN Karten mit denen Du unter ISDN4LINUX Faxe versenden kannst oder die das CAPI 2.0 Interface unterstützen. Die neuesten Treiber bekommst Du auf <url url="ftp://calle.in-berlin.de/pub/capi4linux/">. <p> Zum Downloaden der Firmware benötigen Sie die beiden Perl-Scripts von: <url url="ftp://calle.in-berlin.de/pub/capi4linux/firmware/">. Diese Scripts bewirken den Download und das Auspacken der Firmware: <url url="ftp://ftp.in-berlin.de/pub/capi4linux/firmware/b1/">. Zum Gebrauch der AVM an einem Anlagenanschluss musst Du 'DSS1 P2P' zum Ladebefehl der Firmware hinzufügen: <code> avmcapictrl load /usr/lib/isdn/b1 t4 0 DSS1 P2P </code> Es gibt eine Mailingliste für 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 <Deine Email Addresse></tt> im Text). <sect1> hardware_hypercope: Was ist Besonderes an den Hypercope Karten? <label id="hardware_hypercope"> <p> Diese Karten bieten einige spezielle Eigenschaften in ihrer Firmware und werden neuerdings durch einen Linux-Treiber unterstützt. Sie gehören z.Zt. zu den wenigen ISDN-Karten, die das CAPI 2.0 Interface unterstützen. Zusätzlich lassen sie sich sehr gut zum Faxen unter ISDN4LINUX nutzen (nach einem Upgrade durch eine Faxkarte - das gilt für die HYSDN Ergo2 und HYSDN Metro4). Weitere Informationen zum Hersteller und zur Hardware bekommt man auf <url url="http://www.hypercope.de">. Die Konfiguration ist so ähnlich wie bei der AVM B1. <sect1> hardware_icn: Was ist Besonderes an der ICN Karte? <label id="hardware_icn"> <p> Dies war die erste von ISDN4LINUX unterstützte aktive Karte. Der Hersteller (<tt><url url="http://www.think.de/"></tt>) hat die I4L Entwickler immer unterstützt. Die ICN benötigt keine Interrupts (polling). Daher kann man den PC mit vielen von ihnen ohne Interrupt-Konflikte ausrüsten. Die neueste Firmware sollte auf <tt><url url="ftp://ftp.think.de/pub/isdn4linux/firmware/"></tt> zur Verfügung stehen. Leider wird die ICN nicht mehr hergestellt. <sect1> hardware_isurf: Was sollte ich über die I-Surf-Karten von Siemens wissen? <label id="hardware_isurf"> <p> Da gibt es einige interessante Sachen: <itemize> <item> Zwei Versionen: Es gibt zwei unterschiedliche Versionen (Version 1.0 und Version 2.0) mit unterschiedlichen Chipsets. Beide arbeiten gut. Du musst allerdings den Typ korrekt bestimmen (29 für Version 1.0, 12 für Version 2.0). <item> PnP Bug: Wegen eines Bugs im PnP-Chip müssen für die I-Surf 1.0 die folgenden PEEK und POKE Zeilen in Deiner Datei <tt>isapnp.conf</tt> stehen um die PnP-Register richtig zu initialisieren: <code> (MEM 0 (BASE 0x0c8000) (MODE bu) (UPPER 0x0c8400)) # (MEM 0 (BASE 0x0c8000) (MODE br) (UPPER 0x000400)) (REG 0x31 (PEEK)) (REG 0x31 (POKE 0)) (REG 0x31 (PEEK)) (ACT Y) )) </code> <item> Memory mapping: Da die I-Surf 1.0 Memory mapping für den ISA-Bus benutzt musst Du darauf achten, daß der benutzte Speicherbereich im BIOS nicht als Shadowed oder Cached eingetragen ist. <item> Firmware: Vor dem Gebrauch muss die Firmware geladen werden: <code> hisaxctrl <id> 9 ISAR.BIN </code> (Du findest die Datei ISAR.BIN in den isdn4k-utils oder auf der I-SURF CD.) <item> Fax: Die I-Surf 1.0 kann zum Senden und Empfangen von Fax eingestellt werden (siehe <ref id="feature_fax" name="feature_fax">). </itemize> <!-- 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 für 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 Gerät den Bus aktiviert, kann das andere Gerät 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ß Du über 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 für 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 rückgängig und vertausche Leitung a2 und b2. Wenn das immer noch nicht läuft, 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 prüfen, daß 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 ähnlich. 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 äusseren mit den inneren Leitungen - das würde die RX und TX Leitungen kreuzen und nichts mehr würde funktionieren. In der Kabel FAQ findest Du mehr Details darüber, welche Leitung wie anzuschließen ist. Wenn beide Geräte über 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-/Empfängerpaare erhalten). Jetzt brauchst Du nur einen neuen Stecker und natürlich Klammern für 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 stürzen sogar ab). Das kann Deine Logdatei um bis zu 1 MB in 3 Tagen vergrößern. Die PBX <tt/Ackermann Euracom 181/ (Discriminator 0xaa) und <tt/Ascom/ (Discriminator 0x44/0x47) scheinen dafür 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 und isdnlog neu kompilierst. Beachte bitte, daß nun isdnlog keine ankommenden Datenpakete mehr loggen kann, da die PBX die Pakete übergeben muss. Zum Loggen aller Pakete muss die PBX umgangen werden. Achte darauf, daß die PBX hängen bleiben kann, wenn die ISDN Karte nicht auf ihre Requests antwortet - übergehe die PBX in diesem Fall. Es kann auch sein, daß 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 Gerät (z.B. das ISDN Telefon) auf dem internen Bus an und schaust nach, was I4L im Logfile schreibt. Wenn eine Hinauswahl misslingt liegt es meist daran, daß Du die MSN fü die Hinauswahl nicht korrekt angegeben hast. Dann lehnt die PBX das Wählverlangen ab. Bei ankommenden Gesprächen solltest Du beachten, daß manche Telefonanlagen eine 0 vor die Nummer jedes hereinwählenden Gerätes setzen. Also musst Du die Einstellungen der Secure-Optionen dementsprechend ändern. Zuletzt solltest Du daran denken, daß Du Deine PBX so einstellen musst, daß sie ankommende Gespräche auf den internen ISDN Bus 'routen' muss. Bei einer Point-to-Point Konfiguration ('Anlagenanschluss') kannst Du Deine Karte nicht - parallel zur PBX - direkt an den S0 Bus anschließ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. Besitzer der <tt>Ackermann Euracom</tt> finden Hinweise zur Konfigurations-Software auf der deutschen Seite: <url url="http://www.ganzfix.de"> <sect1> hardware_telestrouble: Die PNP-Tools funktionieren nicht mit meiner Teles 16.3 PNP Karte! <label id="hardware_telestrouble"> <p> Es ist möglicherweise 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 TE 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 Quickstep1000 ISA Karte löst 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 verändern. 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 über 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 Hinauswählen? <label id="config_dialout"> <p> Siehe Abschnitt <ref id="dialout" name="dialout">. <sect1> config_dialin: Wie konfiguriere ich das Einwählen? <label id="config_dialin"> <p> Siehe Abschitt <ref id="dialin" name="dialin">. <sect1> config_suse: Ich kann meine Karte in YaST nicht auswählen? <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 dafür bestimmten Zeile ein, z.B.: <tt>type=27 protocol=2</tt> für die Fritz!PCI und Euro ISDN. Besorge Dir einen neueren Kernel wenn der gewünschte Typ noch nicht unterstützt 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 benötigen keine manuelle Konfiguration, wenn der korrekte Kartentyp angegeben wird. ISA PNP Karten benötigen etwas manuelle Konfiguration: <enum> <item>Setze mit 'make menuconfig' (oder 'make config') die folgenden Kerneloptionen: <itemize> <item>ISDN = 'M' (als Modul - sonst funktioniert PNP nicht!) <item>HiSax = 'M' (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 > /etc/isapnp.conf</code> <item>Prüfe ob pnpdump die Konfigurationsdatei <tt>/etc/isapnp.conf</tt> richtig vorbereitet hat. <itemize> <item>INT0 - der Interrupt der Karte (Default für Teles 16.3 PNP: 10). Die Interrupts 3 und 4 sollten nicht verwendet werden, da sie für die seriellen Ports reserviert sind (was leider der serielle Treiber vergessen haben kann). Gleiches gilt für die Interrupts 12 und 15, die durch PS/2-Maus und zweiten IDE-Controller bzw. USB-Anschluß belegt werden. <item>IO0, IO1 - die IO Ports der Karte (Default für Teles 16.3 PNP: 0x580 and 0x180) (Achtung: diese Werte müssen passend für 64-bit sein (enden auf 0, 4, 8, or c)! Frühe Versionen der PNP Karten können 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 für 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_startstop: Wie starte und beende ich die Aktivierung von ISDN? <label id="config_startstop"> <p> Es gibt mehrere Möglichkeiten: <itemize> <item> Reboot: ein Neustart des Computers wirkt immer. Wenn I4L fest in den Kernel eingebunden wurde ist das tatsächlich die einzige Möglichkeit. Die anderen Verfahren wirken nur, wenn I4L als Modul eingerichtet wurde. <item> Manuell: Entlade die von I4L benutzten Module mit rmmod und lade sie wiederum mit modprobe. <item> Runlevel: Schalte mit telinit auf einen Runlevel ohne ISDN und schalte dann wieder zurück zum Ausgangslevel. <item> Scripts: In den meisten Distributionen findest Du Start/Stop-Scripts. Bei einer Suse 7.0 stoppt dieser Befehl ISDN: <code> rcroute stop rci4l stop rci4l_hardware stop </code> Dieser Befehl startet ISDN wieder: <code> rci4l_hardware start rci4l start rcroute start </code> </itemize> <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 können und wichtige Meldungen auf dem D-Kanal verpassen könnten. 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 enthält 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 Spezialitäten zu beachten: <itemize> <item>Du musst für jeden installierten Kartentyp den passenden Treiber und dabei jeden dieser Treiber mindestens einmal mit den korrekten Einstellungen starten. <item>Für den Betrieb von mehreren Karten mit dem gleichen Treiber (z.B. sollte HiSax für ELSA und ASUS Karten funktionieren) müssen die Konfigurationswerte für alle Karten an den Treiber übergeben werden. Beachte bitte, dass Du für mehr als 2 Karten Module benutzen musst um die Parameter zu übergeben. Du kannst z.B. mit dem folgenden Befehl hisax für zwei Sedlbauer-Karten laden: <code> modprobe -v hisax protocol=2,2 type=28,28 </code> <item>Gleichzeitige Einwahl mehrerer Personen: Näheres bei der Frage <ref id="dialin_manyparallel" name="dialin_manyparallel">. <item>Wählen über mehrere Karten: Näheres bei der Frage <ref id="dialout_manycards" name="dialout_manycards">. </itemize> <sect1> config_manychannels: Wie kann ich die maximale Anzahl der Kanäle in I4L erhöhen? <label id="config_manychannels"> <p> Erhöhe den Wert ISDN_MAX_CHANNELS in <tt>/usr/src/linux/include/linux/isdn.h</tt> und übersetze den ISDN-Teil neu. Vergiss nicht, die zusätzlichen Geräte 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> Eine GSM-Verbindung geht zuerst über ein spezielles Sendeprotokoll zum GSM Provider. Dieses hat ein Adapter mit der Bezeichnung IWF (interworking function) dann in das entsprechende Sendeprotokoll für Analog- oder ISDN-Verbindungen umzusetzen. Welches analoge oder digitale Sendeprotokoll da benutzt wird hängt davon ab, auf welche Art das mobile Telefon die GSM-Verbindung anfordert. Eine analoge Verbindung ist wegen der langen Modemangleichung nicht sehr attraktiv. Da ISDN, HDLC und X.75 von den IWF-Adaptern noch nicht unterstützt werden, bleiben nur V.110 und V.120 übrig. V.120 hat zwar eine bessere Flow Control und Fehlerberichtigung aber zur Zeit wird nur V.110 von ISDN4LINUX unterstützt. Auf dem Dial-Up Server musst Du asyncPPP mit dem normalen pppd für ein ttyI* Device einrichten (syncPPP wird nicht funktionieren). Neben dem Eintragen der MSN musst Du die Übertragungsrate mit <tt/AT&R9600/ auf 9600 setzen (<tt>/usr/src/linux/Documentation/isdn/README</tt> gibt Dir Einzelheiten zu dem Thema). Schalte beim Gebrauch von <tt/mgetty/ die automatische Rufannahme ab mit <tt/ATS0=0/; pppd wird mit den Optionen <tt/noccp/ und <tt/require-pap/ aufgerufen. Im Gerät, das an das Mobiltelefon angeschlossen ist, wird eine ISDN V.110 Verbindung wie folgt angefordert: <code> AT+CBST=71,0,1+CHSN=1,0,0,0 </code> Bei einem Nokia 7110 musst Du eventuell den folgenden undokumentierten Befehl benutzen: <code> AT+CBST=75,0,1 </code> Wenn die Träger-Eigenschaft von ISDN4LINUX mit '88 90 21 48 06 bb' angegeben wird, ist die Einstellung korrekt (88 90 21 bedeutet V.110, 48 bedeutet ASYNC 9,6kbit, 06 bedeutet Flowcontrol RX/TX und bb bedeutet 8 Bit 1 Stopbit No Parity). Wird ein ankommender Ruf mit dem Service-Indicator-Byte 2 = 0 angezeigt und dadurch nicht angenommen (bei manchen falsch eingestelleten Telefonanlagen), so lässt sich das mit dem Befehl <tt/ATS19=0/ abstellen. Eine höhere Bandbreite von 19.2kbit (HSCSD) kann mit folgendem Befehl angefordert werden: <code> AT+CBST=81,0,1+CHSN=3,0,0,0 </code> Es ist jedoch abhängig von Deinem GSM Provider, ob er diese Übertragungsrate anbietet. Wenn ja, sollte der Dialin Server entsprechend eingestellt werden. Ein Mini-Howto dazu findest Du auf: <url url="http://www.oltom.com/Linux/Docs/GSM%20over%20V.110%20Mini-HOWTO.txt"> <sect1> config_h323: Wie konfiguriere ich ISDN4LINUX als Voice-over-IP-Gateway für H.323 Clients? <label id="config_h323"> <p> Du musst das Linux H.323 - ISDN Gateway installieren. Du findest es auf <url url="http://www.telos.de/linux/H323/">. Beachte bitte, daß nicht jedes ISDN-Gerät Voll-Duplex-Audio unterstützt. Vielleicht leistet Deine Hardware nur uni-direktionale Sprachübertragung. <sect1> config_point2point: Wie richte ich eine Point-to-Point Verbindung ein? <label id="config_point2point"> <p> Der wichtigste Punkt: die Point-to-Point Verbindung funktioniert nur bei dem einzelnen Device, das damit verbunden ist. Daher sollte auch nichts anderes als Deine ISDN-Karte damit verbunden sein. So versetzt Du HiSax in den Point-to-Point Mode: <code> hisaxctrl <treiber_id> 7 1 </code> Zusätzlich kannst Du mit dem Befehl ' AT&Lxxx' den Bereich der Telephonnummern angeben auf die ISDN4LINUX an den ttyI* Devices lauschen soll. Wenn Sie Ihre ISDN-Karte absolut nur zum Auslesen parallel zu Ihrer Telefonanlage mit einer Point-to-Point-Verbindung betreiben wollen müssen Sie die RX-Kontakte (Pin 3 und Pin 6 im Western-Stecker) lösen, sodaß der NTBA die ISDN-Karte nicht erkennt. Dann konfigurieren Sie den HiSax normal, nicht im Point-to-Point-Modus. <sect1> config_links: Welche hilfreichen Links gibt es zu ISDN4LINUX? <label id="config_links"> <p> Hier folgen zur Zeit verfügbare 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>Französisch: <url url="http://www.linux-france.org/article/connex/ISDN/"> und <url url="http://www.linux-france.org/prj/inetdoc/guides/rnis/"> <item>Suse Support Datenbank: <url url="http://sdb.suse.de/sdb/de/html/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 SuSE (und zum Offline-Lesen): <url url="http://www.schlenn.de/isdn4linux/"> <item>Tips zur Konfiguration unter Red Hat Linux: <url url="http://www.webideal.de/rh-isdn/"> <item>Tips zur Konfiguration unter Linux-Mandrake: <url url="http://www.mandrakeuser.org/connect/cisdn.html"> <item>fli4l, eine vorbereitete Linux-Version zur Benutzung eines alten PCs als Router: <url url="http://www.fli4l.de"> (tolle Seite!) <item>Scripts und Installationstips von verschiedenen Leuten: <tt><url url="http://www.rosat.mpe-garching.mpg.de/˜web/ISDN.html"></tt> <item>Dokumentation zu ABC Erweiterungen: <tt><url url="http://i4l.mediatronix.de/"></tt> <item>Vbox Entwicklung: <tt><url url="http://innominate.org/projects/vbox/index.php3"></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 Gebührenübermittling: <tt><url url="http://www.auf-der-er.de/chargeint.html"></tt> <item>Homepage von kISDN (läuft nur mit Qt/KDE): <tt><url url="http://www.millenniumx.de/kisdn.html"></tt> <item>Konfiguration nicht nur für England (folge dem Link zum Linux-Setup): <tt><url url="http://www.oakhaven-consultants.co.uk"></tt> <item>SOftwaremakros zur Einstellung der Ackermann Euracom (nicht für ISDN4LINUX): <tt><url url="http://www.ganzfix.de"></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 ist ein Speicherproblem. Es bedeutet, daß Du zuwenig <bf>unfragmentierten</bf> Speicher hast. Während 2.0.x Kernel mit kleiner Speicherausstattung/langsamer Hardware funktionieren mögen (das Anrufbeantworter-System des Autors ist ein 386er und läuft mit 4MB RAM), kannst Du auch mit 32M RAM mit dem Problem der Speicher-Fragmentierung konfrontiert werden. Das Problem wurde seit der Kernelversion 2.2.14 verringert indem ISDN4LINUX's Speicherbelegung auf den Gebrauch von vmalloc umgestellt wurde. 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 Ansätze: <itemize> <item> Bleibe bei Kernel 2.0.x wenn Du einen 486er hast. <item> Ändere 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 übersetze den Kernel neu. <item> Verringere die Werte von ISDN_MAX_DRIVERS und ISDN_MAX_CHANNELS in <tt>include/linux/isdn.h</tt> und übersetze den Kernel neu. </itemize> <sect1> trouble_debug: Wie bekomme ich die meisten Debug-Informationen? <label id="trouble_debug"> <p> Dazu gib folgende Befehle ein: <code> hisaxctrl <id> 1 0x33ff hisaxctrl <id> 11 0xf4f killall isdnlog cat /dev/isdnctrl > /tmp/ilog </code> Achtung: Das erzeugt eine Unmenge Output! <sect1> trouble_strategy: Mein ISDN4LINUX funktioniert nicht! Wie löse ich das Problem am besten? <label id="trouble_strategy"> <p> Empfohlen werden die folgenden Schritte: <enum> <item>Prüfe, ob beim Bootvorgang alles funktioniert. Gibt es ungewöhnliche Fehlermeldungen in /var/log/messages? Laufen alle Programme, die beim Booten gestartet werden sollten (zu überprüfen mit ps oder fuser /dev/xxx)? HiSax startet nicht, wenn etwas nicht in Ordnung ist. Informationen, was Du prüfen kannst, bekommst Du unter <ref id="trouble_boot" name="trouble_boot">.Der alte Telestreiber scheint jedoch zu starten, auch wenn er nicht funktioniert. Schau Dir die Fragen unter "Fehlerbehebung bei Teles" an. <item>Stelle sicher, daß Du den ISDN-Treiber als Modul eingebunden oder fest im Kernel integriert hast - niemals beides zusammen! <item>Versuche, Deine Anrufnummer von einem Telefon aus anzurufen. Die Nummer sollte in /var/log/messages angezeigt werden. Suche nach einer Zeile wie dieser: <code> Call from 0,1,2345 -> 6789 </code> Das bedeutet, daß auf Kanal 0 ein Anruf mit dem Service-Indikator (SI) 1 (1 = Stimme; 7 = Daten) von 2345 an die MSN 6789 empfangen wurde. Jetzt weist Du wenigstens, daß Du Deine MSN auf 6789 (oder welche Nummer Du da findest) setzen musst und daß Dein ISDN4LINUX-Treiber die Befehle, die von der ISDN-Karte kommen, richtig interpretiert. Wenn Du statt der 2345 eine 0 findest bedeutet das, daß Deine Telefongesellschaft die Anrufernummer nicht sendet. Wenn Du diese Zeile nicht findest: Wurde der Treiber vielleicht falsch gestartet?! <item>Als nächsten Schritt versuchen wir, ob das Telefon oder Faxgerät läutet, wenn wir uns selbst mit einem ttyI Device über Minicom anrufen. Zuerst müssen 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 Datenübertragung mit ISDN. Öffne 2 verschiedene Konsolenfenster als root und starte in beiden Fenstern 'minicom -s'... im ersten Fenster setze 'Serial Port Setup Serial Device' auf <tt>/dev/ttyI0</tt> und im zweiten auf <tt>/dev/ttyI1</tt>. Anschließend wähle 'Exit' und starte die Modem-Emulation mit 'ATZ' und 'AT&Exxxxxx' (wobei xxxxxx Deine eigene MSN ohne Vorwahl ist). Fertig. Im ersten Fenster wählst Du Deine eigene Nummer mit ATDxxxxxx. Im zweiten Fenster solltest Du nun "CALLER NUMBER: xxxxxxx" und "RING" sehen. Nimm den Ruf im zweiten Fenster mit 'ATA' an und es erscheint die Meldung 'CONNECT 64000/X.75' 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 'Fehlerbehebung bei Modem-Emulation' <item>Als sechsten Schritt versuche, das Netzwerk-Interface oder ipppd einzurichten. Erfahrungsgemäß bereitet das den Anfängern (und nicht nur den Anfängern!) die meisten Probleme. Wenn Du mit asyncPPP zufrieden bist (über asyncPPP siehe die Frage 'pppd, ipppd, syncPPP, asyncPPP - was ist das? Was sollte ich benutzen?'), kannst Du, um die Sache zu vereinfachen, den normalen pppd mit Modem-Emulation (z.B. /dev/ttyI*) benutzen. <item>Versichere Dich, daß 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 'Wo finde ich Scripts und andere Informationen zum Einrichten von I4L?'). Zum Testen kannst Du Deinen eigenen Provider benutzen oder einen der Gast-Zugänge (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ß sie die Log-Dateien sehen und auch eine funktionierende Konfiguration feststellen können. Wenn z.B. eine Verbindung über 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: Während 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ß die Karte nicht richtig erkannt wurde. HiSax wird nur geladen wenn die Hardware gefunden wird und die passenden Interrupts ausgelöst werden können. Das bedeutet, die Karte ist richtig im Computer installiert und es bestehen keine Hardware-Konflikte. Es bedeutet nicht, daß alles funktionieren wird (z.B., verdrehte oder gebrochene Kabel, falsch gesetzte Terminatoren). <item> Prüfe ob Deiner Karte ein Interrupt zugeordnet wurde, z.B. mit: <code> lspci -v </code> Ein oft vorkommendes Problem tritt ein, wenn Dein BIOS Deiner Karte keinen Interrupt zugeordnet hat. HiSax beschwert sich dann: "No IRQ for PCI card found". Abhilfe: Setze im BIOS die Option "PnP OS" auf "NO". <item>Überprüfe die korrekte Erkennung der Interrupts mit dem Befehl <code> cat /proc/interrupts </code> Das folgende Ergebnis zeigt, daß bei der Karte der Interrupt 11 eingestellt ist und bisher 3 Interrupts ausgelöst wurden: <verb> 11: 3 + hisax </verb> Bei einem Anruf an Dich selbst sollte sich die Anzahl der ausgelösten Interrupts erhöhen. <item>Überprüfe die IO-Addressen mit <code> cat /proc/ioports </code> </enum> <sect1> trouble_isdncause: Ich bekomme eine Fehlermeldung "cause: E1234" (oder so ähnlich)? <label id="trouble_isdncause"> <p> Eine Erklärung dieser Meldung bekommst Du mit dem Befehl <tt>man isdn_cause</tt>. Bei dem sehr verbreiteten Fehler "cause: E001B" sieh Dir die folgende Frage <ref id="trouble_e001b" name="trouble_e001b"> an. <sect1> trouble_e001b: Ich bekomme eine Fehlermeldung "cause: E001B"? <label id="trouble_e001b"> <p> Dies ist ein sehr verbreiteter Fehler und bedeutet (siehe <tt>man isdn_cause</tt>): EuroISDN (E), User-Seite (00), außer Funktion (1b). Zusammen genommen bedeutet das entweder, daß der Treiber keine Layer 1 Verbindung herstellen kann (Kabelproblem, Hardwarefehler, verborgene Hardwarekonflikte - siehe Bereich <ref id="hardware" name="hardware">) oder er kann keine Layer 2 Verbindung bekommen (falsche Konfiguration: kein EuroISDN, kein automatisches TEI unterstützt, Point-to-Point BRI anstelle von Multi-Device - siehe Bereich <ref id="config" name="config">). <sect1> trouble_noprotocol: Beim Start von HiSax bekomme ich die Meldung &dquot;Warning - no protocol specified&dquot;? <label id="trouble_noprotocol"> <p> Das bedeutet, daß Du das D-Kanal-Protokoll, das Du mit HiSax benutzen willst, nicht spezifiziert hast. Meistens ist die Voreinstellung falsch und Du musst angeben, daß Du das EURO-Protokoll ISDN DSS1 benutzen willst. Nur wenn Du eine Standleitung hast brauchst Du kein D-Kanal-Protokoll angeben. <sect1> trouble_euronotsupported: Beim Start von HiSax bekomme ich die Fehlermeldung: "kernel hisax: protocol euro not supported"? <label id="trouble_euronotsupported"> <p> Das bedeutet, daß Du die Option Euro Protocol ISDN DSS1 bei der Kernelkonfiguration nicht gesetzt hast. Aktiviere diese Option und kompiliere den Kernel neu. <sect1> trouble_unknownprimitive: Beim Connect-Versuch bekomme ich die Meldung: "lldata_handler unknown primitive"? <label id="trouble_unknownprimitive"> <p> Das bedeutet, daß die link level Protokolle nicht zueinander passen (z.B., Du willst mit X.75 verbinden und Dein Provider antwortet mit HDLC). Prüfe und berichtige Deine Einstellungen: <code> isdnctrl l2_prot <interface> <protocol> </code> <sect1> trouble_notelrings: Weder mein Telefon noch mein Fax klingelt wenn ich es mit ISDN4LINUX anrufe? <label id="trouble_notelrings"> <p> ISDN4LINUX setzt beim Wählen den Serviceindikator auf 'digital data'. Die Vermittlungsstelle stellt solche Anrufe tatsächlich an analoge Geräte wie Telefon oder Fax durch. Diese analogen Geräte antworten jedoch nur auf analoge Anrufe und ignorieren daher den digitalen Anruf. <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ß die Gastzugänge nicht mehr erreichbar sind: Folgende Server bieten Gastzugänge für 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) für 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 'default' route nicht Deinen Einstellungen entspricht. FTP ist für das NFS eingerichtet; versuche 'showmount -e'. Melde Dich als 'guest' ohne Passwort an. FTP als 'gast' mit dem Passwort 'gast' vermeidet die eingeschränkte 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 geändert 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 'Gast'-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 Anwählen 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 ('isdn: Device or resource busy') obwohl ich alle ISDN-Anwendungen geschlossen habe? <label id="trouble_unload"> <p> In diesem Fall zeigt der Aufruf 'fuser -v /dev/isdn* /dev/ippp* /dev/cui* /dev/ttyI*' welche Prozesse diese Geräte belegen. <itemize> <item>Benutzt irgendein Programm noch das ISDN Device? <item>Hast Du alle getty's beendet? (Sie könnten 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 'route del xxx' gelöscht? <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 'kill -9 <ipppd pid>' gekillt werden muss. Dann bleibt das Netz-Interface 'aktiv'. </itemize> Sporadische Fehler dieser Art können durch das Einfügen von sleep-Befehlen zwischen die Entlade-Befehle vermieden werden. Als wirklich allerletzte Möglichkeit gibt es zwei geheime telesctrl-Befehle um den Module Counter zurück zu setzen: <code> telesctrl id 3 1 --- dec module_count telesctrl id 4 1 --- inc module_count </code> Diese sind mit der nötigen Vorsicht und auf eigenes Risiko zu benutzen! <sect1> trouble_tcpdump: Warum funktioniert mein tcpdump nicht bei IP-Paketen, die über ISDN laufen (' truncated ip' oder ähnlich)? Wie kann ich tcpdump für ISDN patchen? <label id="trouble_tcpdump"> <p> tcpdump kommt nicht immer mit den besonderen encapsulations zurecht, die mit ISDN4LINUX möglich 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 für ftp: <tt><url url="ftp://ftp.gwdg.de/pub/misc/isdn/linux/isdn4linux-gwdg"></tt> Dort gibt es den Patch: 'tcpdump-3.0.4-1-isdn.dif.gz' 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 ändern, abhängig 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ß der Patch von Eberhard Moenkeberg auf ftp.gwdg.de mit CISCO-HDLC nicht zurechtkommt, schrieb ich meinen eigenen Patch für tcpdump-3.0.4, der das Interface fragt, welche encapsulation es benutzt und dann die entsprechende Einstellung vornimmt. Der Patch ist für die tcpdump-3.0.4-1.tar.gz Distribution, erhältlich 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 durchführen. </quote> (Der Patch war der Message beigefügt - man sollte ihn leicht im Archiv der Mailingliste finden können - 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 Änderungen: 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('ppp', device, 3) == 0) Entweder benennst Du Deine PPP-Devices pppX anstatt ipppX, oder Du änderst diese Zeile entsprechend, z.B.: else if (strncmp('ippp', 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 ändern 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 'insmod -m' geladen werden. Die Ausgabe des Befehls muss in eine Form ähnlich 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,_)+' > /etc/isdn/isdn.map cat /System.map /etc/isdn/isdn.map > /iSystem.map </code> (Die Zeile mit '|' am Ende und die nächste Zeile bilden eine Zeile!). Zum Aufspüren des Fehlers sollte dann iSystem.map anstelle von System.map benutzt werden. <sect1> trouble_lotsdebug: Meine Festplatte wird sehr aktiv wenn ISDN4LINUX läuft. Wie kann ich das abstellen? <label id="trouble_lotsdebug"> <p> Prüfe ob die erhöhte Festplattenaktivität 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 'debug' aus den Optionen für den ipppd entfernen. <sect1> trouble_oldhardware: Kann es sein, daß meine Hardware zu langsam ist? <label id="trouble_oldhardware"> <p> Eigentlich läuft ISDN4LINUX, wenn es sauber konfiguriert ist, auf viel schwächeren Maschinen als Du erwarten wirst (bei mir läuft immer noch eine ältere Version auf einem 386-25, der nur 4MB RAM besitzt). Neuere Versionen von ISDN4LINUX und des Kernels benötigen jedoch mehr Speicher. Möglicherweise ist etwas Bearbeitung nötig 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 benötigten Speichers. <sect1> trouble_outofbuffers: Ich bekomme Meldungen wie 'HSCX RME out of buffers', 'HSCX RFP out of buffers', 'HSCX B EXIR 10' 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 ausgelöst 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 Erhöhung der Anzahl und Größe der Buffer umgehen. Suche in den Header-Dateien des Sourcecodes nach Definitionen wie: <code> #define HSCX_RBUF_ORDER 1 #define HSCX_RBUF_BPPS 2 #define HSCX_RBUF_MAXPAGES 3 </code> Die ersten beiden Zeilen verändern die Größe, die dritte Zeile verändert 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 drücken (= Kaltstart). Manchmal braucht die Karte ein Hardware-Signal um richtig initialisiert zu werden. <sect1> trouble_noisdnctrl: Beim Versuch, isdnctrl zu nutzen, bekomme ich die Meldung: "/dev/isdnctrl: no such file or directory"? <label id="trouble_noisdnctrl"> <p> Prüfe zuerst, ob ein device /dev/isdnctrl0 existiert. Wenn ja, erstelle einen sybolischen Link mit dem Befehl: <code> ln -s /dev/isdnctrl0 /dev/isdnctrl </code> Wenn das Device nicht existiert musst Du das Skript <tt>scripts/makedev.sh</tt> laufen lassen. Es ist in den isdn4k-utils enthalten. <sect1> trouble_noisdnctrl2: Beim Versuch, isdnctrl zu benutzen, bekomme ich die Meldung: "/dev/isdnctrl: No such device"? <label id="trouble_noisdnctrl2"> <p> Im Gegensatz zu der Meldung "/dev/isdnctrl: No such file or directory" besagt die Meldung "/dev/isdnctrl: No such device", daß das Device /dev/isdnctrl zwar existiert aber kein ISDN-Treiber gefunden wird. Lösung: Lade die ISDN-Module (prüfe dann mit "cat /proc/modules" ob sie geladen wurden) oder binde die ISDN-Treiber fest in den Kernel ein. <sect1> trouble_xosview: xosview zeigt nach der Installation von I4L keine Netzwerk-Aktivität 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 nötig, 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 'unknown host'. <label id="trouble_unknownhost"> <p> Was ist auf der 'Win95-Box' als Nameserver eingetragen? Solange im LAN kein eigener Nameserver betrieben wird, muss natürlich 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 'no route to host'. <label id="trouble_noroute"> <p> Prüfe nach: <itemize> <item>Ist der Linux-Computer als Gateway eingetragen? (Einige "Betriebssysteme" muss man neu starten bevor die Änderungen am Netzwerk wirksam werden) <item>Hat der Router eine defaultroute vom eingerichteten Interface zum Provider (z.B. ippp0 mit syncPPP oder sl0 für diald (auch wenn die tatsächliche Verbindung über ppp0 geht benutzt diald ein slip Interface als 'Türöffner'))? <item>Schreibt der Provider den Gebrauch von Proxies vor? Dann müssen 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 über ippp0 wieder erreichbar ist. Dann wird die Addresse 0.0.0.0 nicht mehr im ifconfig für 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 Lösung: Setze einfach ippp0 auf eine willkürliche 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 überschrieben. </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 für den unveränderten Quellcode gilt ist dieser durch eine Prüfsumme geschützt. Wenn Du die Fehlermeldung bekommst, hast Du entweder selbst den Code geändert oder der Autor hat nach einer Änderung die Prüfsumme nicht aktualisiert (möglicherweise wurden die Zulassungstests mit dem geänderten Code noch nicht durchgeführt). <!-- 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ß 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 übertragen wird? <label id="msn_my2"> <p> Die übertragene MSN kann leicht durch einen Anruf bei Dir selbst (z.B. mittels Telefon) festgestellt werden. In den Log-Dateien findest Du einen Eintrag wie: 'isdn_tty: call from XXX - YYY ignored' (dazu müssen natürlich 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ßen eingestellt: <itemize> <item>Modememulation: <tt>'AT&E56789'</tt> <item>Netzwerk Interface: <tt>'isdnctrl msn <interface> 56789'</tt> <item>Bei Testanrufen an Dich selbst musst Du die Ortsvorwahl hinzufügen (z.B. 01234): <code> isdnctrl addphone <interface> in 123456789 (ohne vorangestellte 0) isdnctrl addphone <interface> out 0123456789 (mit vorangestellter 0) </code> </itemize> Es gibt dabei möglicherweise nationale Unterschiede (siehe Abschnitt<ref id="countries" name="countries">). <sect1> msn_max: Wieviele MSNs kann ich maximal mit einer ISDN-Karte nutzen? <label id="msn_max"> <p> Bei ausgehenden Rufen kann nur eine MSN benutzt werden. Nur bei ankommenden Rufen können mehrere MSNs benutzt werden. Bei ttyI* Devices kann man JEDE vorhandene MSN benutzen, indem man ein "*" als Platzhalter verwendet: <code> at&l* </code> Bei einer Point-to-Point-Verbindung sollte man die Länge des Nummernbereiches mit "?" (entsprechend der Anzahl der Ziffern) definieren. Anderenfalls könnte Deine Nummer vorzeitig angenommen werden, obwohl noch weitere Nummern gewählt wurden. Für 3 Ziffern bedeutet das: <code> at&l??? </code> Bei Netzwerk-Devices kannst Du auch ein "*" als Wildcard an das Ende der empfangenden Nummer setzen (z.B.: <tt>'isdnctrl msn <interface> 123*'</tt>). Das kann jedoch bei ausgehenden Rufen Probleme bereiten. Zur sauberen Behandlung dieses Problems solltest Du das Mapping des isdnctrl benutzen (siehe Frage <ref id="dialout_manycards" name="dialout_manycards">). <sect1> msn_mindialin: Wie kann ich den Gebrauch von MSNs bei digitaler Einwahl minimieren? <label id="msn_mindialin"> <p> In I4L haben Netz-Interfaces Priorität. Daher reicht Dir eine MSN, wenn Du folgendes Setup benutzt: <enum> <item>Konfiguriere Netz-Interfaces (sync ppp, rawip) für alle User, die sie benutzen wollen (ipppd oder rawip), mit ihrer Einwahl-Telefonnummer (Vorbedingung ist, daß diese übermittelt wird). <item>Konfiguriere ttyI* für alle anderen User (X.75, async ppp). <item>Setze die Option 'secure on'. </enum> In I4L haben Netz-Interfaces Priorität. 'secure on' stellt sicher, daß nur entsprechend eingestellte User mit einem Netz-Interface verbunden werden. User, die zwischen beiden Möglichkeiten wählen wollen, müssen andere MSNs zur Anwahl benutzen. <sect1> msn_onlyone: Wie kann ich eine MSN für alles benutzen? <label id="msn_onlyone"> <p> In Deutschland ist das kein schwieriges Problem mehr seit man 10 MSNs kostenlos von der Deutschen Telekom (<url url="http://www.telekom.de/index.html">) bekommen kann. Andere Telefongesellschaften mögen weniger MSNs kostenlos anbieten. Generell bekommt man mindestens 3 MSNs. Jedoch mag eine Minimierung des Gebrauchs von MSNs in anderen Ländern immer noch interessant sein oder wenn Du sehr viele Nummern benötigst. Auf einem normalen ISDN-Bus gibt es maximal 10 MSNs. Bei einem größeren Bedarf gibt es nur die - normalerweise teurere - Alternative der Point-to-Point ISDN Verbindung. Ankommende digitale Daten können leicht durch den Code für die 'Dienstekennung' ('digital, data') 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 für das analoge Modem. Mgetty kann analoge Daten, Faxe und sogar Stimmen als Anrufbeantworter empfangen, wenn das Modem dies unterstützt. Stelle mgetty auf 10 Klingelsignale ein. Wenn Du den Telefonhörer abnimmst und ein Faxgerät oder Modem hörst, sendest Du ein USR1 Signal (<tt>kill -USR1 <mgetty-pid></tt>) an mgetty. Wenn Dein Telefonanschluß richtig verdrahtet ist, wird das Modem die Verbindung übernehmen 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 können. 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 "Bündelanschluß". Beachte, daß in diesem Fall die MSN vielleicht nicht an Dich übertragen 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ß andere Computer in meinem LAN das Internet über meinen Linux Computer erreichen können? <label id="lan_config"> <p> Dazu gibt es verschiedene Möglichkeiten: <enum> <item>Dein LAN ist ein offizielles Klasse-C-Netz mit im Internet gültigen 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 führt. Die anderen Rechner im LAN erhalten die Adresse der Netzkarte des Linux Rechners als Gateway bzw defaultroute. <item>Du möchtest von Deinem LAN nur auf HTTP im Internet zugreifen. In diesem Fall kannst Du beliebige IP-Addressen für Dein LAN einrichten; die einzige offizielle IP ist die Deiner ISDN-Karte. Dann installierst Du einen Proxyserver auf Deinem Linux-Router und trägst ihn in allen Browsern ein. Hier brauchst Du keine defaultroute einzurichten. <item>Du möchtest 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ß 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 ermögliche ich den Usern in meinem LAN, zum Wählen 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 (siehe auch Linux-Modem-Sharing-MiniHowto auf <tt><url url="http://www.linuxdoc.org/HOWTO/mini/Linux-Modem-Sharing.html"></tt>): <code> #!/usr/bin/perl select((select(STDOUT), $| = 1)($[]); select((select(STDIN), $| = 1)($[]); exec 'cu','-E','''', '-l', '$ARGV[0]'; die '$0: Cannot exec cu: $!\n'; </code> Das muss vom inetd gestartet werden, daher muss dies in <tt>/etc/services</tt> eingetragen werden: <code> modem 20006/tcp modemd # Modem service via TCP isdn 20007/tcp modemd # ISDN service via TCP </code> Und dies muss in <tt>/etc/inetd.conf</tt> eingetragen werden: <code> modemd stream tcp nowait root /usr/sbin/tcpd /usr/sbin/modemd ttyI5 </code> Anstatt modemd kannst Du auch das Programm mserver einsetzen, das ein paar zusätzliche Funktionen aufweist (z.B., auf IP-Adressen basierende Rechte): <tt><url url="ftp://ftp.innet.be/pub/staff/carl/"></tt> Zusätzlich benötigst 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 Fähigkeit (z.B. einige uucicos). Wenn Du generell allen Anwendungen eine Art 'remote COM port' anbieten willst, gibt es COMT für Windows (95) und 'telser.device' für Amigas. Nachteil von COMT: es steht nur antiken 16Bit-Windows-Anwendungen zur Verfügung und läuft nicht einmal in der DOS-Box. COMT kannst Du bei Simtel finden: <tt><url url="http://educom.sce.fct.unl.pt/ftp/pub/shareware/win-utils/comt2.zip"></tt> Eine weitere Möglichkeit bietet DialOut/IP, es ist jedoch recht teuer (USD 70). Du findest das Programm auf: <tt><url url="http://tacticalsoftware.com"></tt> Alle, die nur ihre CrossPoint-Installation bewahren wollen, sollten wissen, daß es nun auch Unterstützung für TCP-Modem bietet, so daß CrossPoint ohne zusätzliche Software läuft. Sieh Dich bei <tt><url url="http://www.openxp.de"></tt> um. <!-- Dialout --> <sect> dialout: Konfiguration des Hinauswählens <label id="dialout"> <sect1> dialout_config: Wie richte ich das Hinauswählen richtig ein? <label id="dialout_config"> <p> Zuerst musst Du entscheiden wie Du hinauswählen willst. Du wirst Dich da nach Deinem Verbindungspartner richten müssen. Dies sind die hauptsächlichen Möglichkeiten: <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 für TCP/IP über ISDN. Es bietet sehr schnelles Hinauswählen, 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 über erweiterte Eigenheiten des Hinauswählens 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-Gerät aufbauen willst. <sect1> dialout_dialmode: Wenn ein IP-Paket über die Verbindung geschickt werden soll (was normalerweise ein Wählen auslöst), bekomme ich im Log nur die Meldung 'dial rejected: interface not in dialmode <tt/auto/' zu sehen? <label id="dialout_dialmode"> <p> Die neuen ISDN-Treiber in 2.0.36 sind auf den manuellen Wählmodus eingestellt, nicht auf die automatische Anwahl. Das wurde gemacht, um unerwartete (und unbemerkte) Wählvorgänge zu verhindern. (Lies den umfangreichen Abschnitt über diese Wähl-vorgänge und ihre Gefahren: <ref id="dod" name="dod">). Um autodial für ein bestimmtes Interface (z.B. ippp0) einzurichten, nimmst Du den Befehl <code>isdnctrl dialmode ippp0 auto</code> Die Bedeutung der Werte für dialmode ist: <descrip> <tag/off/ bewirkt, daß Du (oder das System) keine Verbindung aufbauen kannst (weder eingehende noch ausgehende Verbindungen sind möglich). Benutze diese Option um sicherzustellen, daß keine Verbindungen aufgebaut werden. <tag/auto/ bewirkt, daß sich das Interface im automatischen Wählmodus befindet und jedesmal, wenn ein Datenpaket des Netzwerkes den Verbindungsweg des Interfaces benutzen will, eine Verbindung aufbauen wird. Du solltest beachten, daß das unerwartete Wählvorgänge auslösen und zu einer hohen Telefonrechnung führen kann! Das kann durch einige demons oder andere PCs, die auf das Interface zugreifen, ausgelöst werden. Eingehende Anrufe sind ebenfalls möglich. <tag/manual/ (VOREINSTELLUNG) ist ein Wählmodus, 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ß <tt/huptimeout/ die Verbindung trotzdem automatisch beendet! Du musst dies mit: <code> isdnctrl huptimeout ippp0 0 </code> abstellen, um sicherzustellen, daß die Verbindung nur durch manuelles Auflegen beendet wird. </descrip> Wie Du einem normalen Benutzer das Hinauswählen gestattest, erfährst Du bei der Frage <ref id="dialout_permission" name="dialout_permission">. <sect1> dialout_advanced: Welche speziellen Leistungsmerkmale des Hinauswählens gibt es? <label id="dialout_advanced"> <p> Sieh Dir diese speziellen Leistungsmerkmale an: <itemize> <item> Spare Geld, indem Du kurz vor dem nächsten Gebührenimpuls einhängst: Siehe Abschnitt <ref id="chargeint" name="chargeint">. <item> Gleichzeitige Verbindungen auf mehr als einem Kanal: Siehe Abschnitt <ref id="2channel" name="2channel">. <item> Hinauswahl auf einem bestimmten Kanal: see question <ref id="dialout_fixedchannel" name="dialout_fixedchannel">. <item> Rückruf: 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 hängt ab von den Benutzerrechten an den Devices <tt>/dev/ttyI*</tt> und <tt>/dev/cui*</tt>. Du hast mehrere Möglichkeiten, 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ß 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 für die ISDN ttys. Diejenigen, die ISDN benutzen dürfen, müssen explizit in die Gruppe 'isdn' aufgenommen werden. <item>Du kannst festlegen, daß nur root hinauswählen darf, jedoch Ausnahmen für andere Nutzer mit su1 schaffen (siehe man su1). Editiere als root <tt>/etc/su1.priv</tt>. Füge diese Zeilen hinzu, wenn sie (oder ähnliche) nicht schon vorhanden sind, und erlaube damit den Nutzern XXXX und YYYY das Wählen 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 für dial und hangup: <code> ln -s /usr/bin/su1 /usr/local/bin/dial ln -s /usr/bin/su1 /usr/local/bin/hangup </code> Nun können die Nutzer XXXX und YYYY mit der Eingabe von <tt/dial/ hinauswählen und mit <tt/hangup/ auflegen. <item>Wenn Du nur einen User für die ISDN-Aktionen benutzt, kannst Du ihn zum Eigentümer 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 Möglichkeiten, die Hinauswahl einzurichten. <itemize> <item>Hinauswahl auf irgendeiner Karte (Voreinstellung: alle verfügbaren Karten bilden einen Pool, zur Hinauswahl wird eine MSN benutzt): Konfiguriere Deine Karten einfach in der Reihenfolge, die zum Wählen benutzt werden soll. Zuerst werden alle Kanäle der ersten Karte benutzt, dann alle Kanäle der zweiten Karte, usw. Beachte bitte, daß 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 ungültige 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). Dieser Befehl sollte erst erfolgen, wenn die komplette Konfiguration mittels isdnctrl durchgeführt wurde. Mit <tt/isdnctrl list/ prüfst Du die Anbindung. <item> Hinauswahl mit einer verschiedenen MSN für 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 <carddriver1> 111,222,333,, isdnctrl mapping <carddriver2> 999,888,,777 </code> Jetzt könntest Du bei der Konfiguration die Telefonnummer 0 verwenden, wenn Du eigentlich auf <carddriver1> die MSN 111 oder auf <carddriver2> die MSN 999 meinst. (Weil aber 0 eine besondere Bedeutung hat, versuche die Nummer 0 nicht zu benutzen.). Konfiguriere zum Beispiel für die Telefonnummer die 1, wenn Du tatsächlich die MSN 222 auf <carddriver1> oder MSN 888 auf <carddriver2> benutzen möchtest. Konfiguriere für die Telefonnummer die 2, wenn Du tatsächlich die MSN 333 auf <carddriver1> benutzen möchtest (<carddriver2> wird bei Benutzung die standardmässige MSN verwenden.). Konfiguriere für die Telefonnummer 3, wenn Du tatsächlich die MSN 777 auf <carddriver2> benutzen möchtest <carddriver1> wird bei Benutzung die standardmässige MSN verwenden.). <item>Hinauswahl mit einer bestimmten Karte: Nach Installation eines Patches gegen Kernel 2.2.12, den Karsten Keil auf der Mailingliste zur Verfügung stellte, kannst Du mit den Funktionen des Befehls <tt/isdnctrl mapping/ das Wählen mit einigen Karten verhindern. <code> isdnctrl mapping <carddriver1> 111,222,333,-, isdnctrl mapping <carddriver2> 999,888,-,777 </code> Das funktioniert wie in "Hinauswahl mit einer verschiedenen MSN für jede Karte" beschrieben, das "-" bewirkt jedoch, daß das Wählen nicht erlaubt ist. Das Wählen mit Telefonnummer 2 wird nun nur mit der MSN 333 mit <carddriver1> durchgeführt, während das Wählen mit der Nummer 3 nur mit MSN 777 mit <carddriver2> geschieht. </itemize> <sect1> dialout_fixedchannel: Wie erreiche ich, daß HiSax immer auf einem bestimmten B-Kanal hinauswählt? <label id="dialout_fixedchannel"> <p> HiSax besitzt dafür eine undokumentierte Eigenschaft. Setze 'P1' vor die zu wählende Telefonnummer für den ersten und 'P2' für den zweiten B-Kanal; ungefähr so: <code> isdnctrl addphone <device> out P1<your_out_number> </code> Bedenke, daß in diesem Fall ein Hinauswählen mißlingt, wenn ein anderes Gerät (Telefon, Fax) bereits den entsprechenden Kanal belegt. <sect1> dialout_dynip: Wie finde ich bei dynamischer IP-Vergabe heraus, welche IP zur Hinauswahl benutzt wird? <label id="dialout_dynip"> <p> Erstelle ein Script mit Namen <tt>ip-up</tt>. Das wird (mit den entsprechenden Parametern) bei jedem Verbindungsaufbau vom ipppd aufgerufen. Die IP-Adresse steht dort als vierter Parameter (<tt>$4</tt>). <sect1> dialout_bind: Wegen einer DNS-Anfrage wählt bind hinaus. Warum benötigt die Antwort bis zu einer Minute? Gibt es dafür ein Workaround? <label id="dialout_bind"> <p> Du benutzt vermutlich den Name-Server im 'forward' Modus und Dein ISP arbeitet mit dynamischen IPs. Die erste UDP-Anfrage geht verloren, da sie die falsche IP-Adresse besitzt. Leider wartet bind eine volle Minute bevor es die Anfrage wiederholt. Als Workaround kannst Du 4 mal die gleiche Adresse in named.conf eintragen und erreichst so, daß eine kürzere Wiederholungszeit (im 'forward' Modus wiederholt bind seine Anfragen nach folgendem Zeitschema: 60 Sekunden geteilt durch die Anzahl der Nameserver in der Sektion "forwarders" der named.conf). <code> forwarders { 10.0.0.40; 10.0.0.40; 10.0.0.40; 10.0.0.40; } </code> Bind wird dann die Anfrage alle 15 Sekunden wiederholen (in diesem Fall an 10.0.0.40). Das gleiche Prinzip gilt für zwei oder mehr Adressen. Weitere Möglichkeiten sind die Programme <tt/ip_resend/ und <tt/ip_resend_wakeup/ die Du bei <url url="http://www.baty.hanse.de/ip_resend/"> findest. <!-- Authenticate properly --> <sect> pap: Saubere Authentifikation (speziell mit PAP) <label id="pap"> <sect1> pap_optionauth: Beim Hinauswählen bekomme ich die Meldung 'pppd: peer authentication required but no authentication files accessible.' Was bedeutet das? <label id="pap_optionauth"> <p> Wahrscheinlich wurde irrtümlich die Option 'auth' 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, ähnlich wie: 'sent (0) (LCP ConfReq id=0x1 mru 1500 auth pap magic 0xcd12e9c4' <label id="pap_requestauth"> <p> Wie bei der letzten Frage wurde eine Option eingestellt, die verlangt, daß die <em>andere</em> Seite sich authentifiziert. Diese Optionen sollten vermieden werden. Mögliche Kandidaten sind: "+pap" und "+chap". <sect1> pap_rejectauth: Ich kann keine Verbindung aufbauen - sie wird von der Gegenseite abgewiesen. Im Logfile finde ich eine Meldung, ähnlich wie: 'sent (0) (LCP ConfRej id=0x1 auth pap' <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 'user XXX' und 'remotename YYY' für 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 in XXX, YYY oder ZZZ spezielle Zeichen enthalten sind, solltest Du die Wörter in Anführungszeichen setzen. 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 benötigt wird, muss /etc/ppp/chap-secrets korrekt eingestellt sein. Wichtig: das Format ist nicht das gleiche wie bei pap-secrets! Wichtig ist auf jeden Fall, zum Trennen von Username, Computer und Passwort nur den Tabulator und nicht die Leertaste zu verwenden. Lies auf jeden Fall die READMEs oder schau Dir <tt><url url="http://www.lrz-muenchen.de/˜ui161ab/www/isdn/"></tt> an. Sieh Dir ebenfalls die nächste 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/ für 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 schlägt fehl obwohl ich sicher bin, Password usw. korrekt eingetragen zu haben. <label id="pap_passwd"> <p> Stefan A. Mühlenweg <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 dafür war, daß ich drei Einträge in chap-secrets / pap-secrets (für 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 '#' enthält, wird alles Nachfolgende als Kommentar verstanden. Leerzeichen oder TABs können gleiche Probleme verursachen. Lösung: Setze das Password in Anführungszeichen! <!-- 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 'yes' beantworten. Vergiss nicht, daß 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 bei älteren Kernels problematisch und funktioniert nicht verläßlich - die Unterstützung dafür 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 'ippp' beginnen, <em>nicht</em> mit 'syncppp' oder 'isdn', da in diesem Fall die Verständigung mit dem ipppd nicht ordentlich funktionieren wird. Es sollte also <em>mindestens</em> ein 'ippp0' vorhanden sein sonst wird der ipppd nicht starten. Überprüfe Deine Interfaces mit dem Befehl <tt>ifconfig</tt>. <sect1> syncppp_config: Wie richte ich ISDN4LINUX mit syncPPP ein? <label id="syncppp_config"> <p> Synchronous PPP ist einfach eine weitere encapsulation für ISDN4LINUX. Diese encapsulation wird 'syncppp' genannt. Hier folgt ein Beispiel zur Konfiguration des link level device ippp0: <code> /sbin/isdnctrl addif ippp0 /sbin/isdnctrl encap ippp0 syncppp </code> Beachte bitte, daß syncppp sehr sensibel in Bezug auf die Benennung der Devices reagiert. Es funktionieren nur Devices deren Bezeichnung mit 'ippp'beginnt. Zumindest ein Interface sollte den Namen 'ippp0' haben (siehe Frage <ref id="syncppp_netinterface" name="syncppp_netinterface">). Alle in Gebrauch befindlichen ippp*-Devices müssen separat konfiguriert werden. Jedes ippp*-Device sollte mit einer eigenen IP-Addresse versehen werden (routing!). Mehrere ippp*-Devices können einer einzelnen MSN zugeordnet werden. Dann können mehrere Anrufer diese MSN gleichzeitig nutzen. Zum Gebrauch dieser Devices benötigst 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 Hineinwählen zu ermöglichen. 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 Verfügung, das mit <tt>ifconfig</tt> überprüft werden kann (obwohl es den gleichen Namen trägt, 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: 'useifip' 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), später 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>. Mit mehreren ipppd-Instanzen können verschiedene Konfigurationen erstellt werden. Dazu dient der Befehl <tt>'isdnctrl pppbind' </tt>. Normalerweise sollte der gesamte Verkehr über einen ipppd laufen. Die Einrichtung von mehreren ipppds ist wirklich nur empfehlenswert, wenn mehrere verschiedene Kofigurationen benötigt werden. <sect1> syncppp_busy: Wie stelle ich fest, daß 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 prüfen, ob die default route existiert. Eine weitere Möglichkeit besteht durch die Option <tt>useifip</tt>. Du findest dann im syslog Einträge wie <tt>"Local IP: x.y.z.a"</tt> und/oder <tt>"Remote IP: x.y.z.a"</tt>. In beiden Fällen besteht eine Verbindung. <sect1> syncppp_logindelay: Wie kann ich das Login beschleunigen? <label id="syncppp_logindelay"> <p> Lass Dir eine Login-Prozedur im 'Debug-Log' protokollieren und suche danach, welche Optionen der andere Computer ablehnt. Danach konfigurierst Du ipppd ohne diese nicht benötigten Optionen. Ein Seiteneffekt ist, daß solche unbenötigten Optionen die Redundanz vergröß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 möchte Verbindungen mit entfernten Maschinen aufbauen, die unterschiedliche Konfigurationen benötigen. Die einzige Art dazu, die ich fand, besteht darin, den ipppd zu beenden und einen neuen mit anderer Konfiguration für 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 für dieses Interface individuell eingestellten ipppd verbinden kannst. Mit dem (leider schlecht dokumentierten) Befehl <code> isdnctrl pppbind <interface> <Number> </code> kannst Du das Interface interface an das Device Number binden. Du löst diese Bindung wieder mit 'pppunbind'. <sect1> syncppp_pppbind: Wie funktioniert der (wenig dokumentierte) Befehl "pppbind" in isdnctrl? <label id="syncppp_pppbind"> <p> Zuerst musst Du wissen, wie ipppd seine Daten bekommt. Alle Daten, die über 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* übergeben - an eines, an dem der Systemdienst ipppd auf Daten wartet. Was die Netzwerk-Interfaces betrifft, so können alle ipppds die gerade eingegangenen Daten behandeln. Daher ist es normalerweise unmöglich, 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ßlich</em> von einem bestimmten Netzwerk-Interface empfangen, das ebenfalls speziell eingestellt wurde. Der Befehl "pppdbind" erfüllt genau diesen Zweck. Mit: <code> isdnctrl pppbind <interface> <Number> </code> wird das Interface <interface> an das Device /dev/ippp<number> gebunden. Beispiel: Die folgende Konfiguration bindet das Interface 'ippp5' an /dev/ippp2: <code> isdnctrl pppbind ippp5 2 </code> Dementsprechend löst der Befehl 'pppunbind' diese Bindung wieder auf. <sect1> syncppp_dynip: Ich möchte 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 übergibt, um ein Hinauswählen auszulösen. Eine defaultroute auf das Interface ippp sollte funktionieren. Nun musst Du Deinem Interface eine Dummy-Addresse zuteilen. Wenn Du aus irgendwelchen Gründen 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' für dieses Subnet auf das Interface ippp. Rufe ipppd mit der Option 'ipcp-accept-local' auf um das Überschreiben der Dummy-Addresse zu ermöglichen. Du musst wissen, wie ipppd die Addressen bekommt, die er einstellen muss. Wenn Du keine Option aktivierst, versucht ipppd, die Addresse des localhost zu übertragen! 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 Überschreiben der Addressen mit den Optionen "ipcp-accept-local/remote" erlauben wenn Du Deine eigene oder die entfernte Addresse ausdrücklich gesetzt hast. Versuche als Beispiel diese Optionen: <code> /sbin/ipppd :$REMOTE noipdefault /dev/ippp0 </code> wobei REMOTE die Addresse der entfernten Maschine ist (der Maschine, von der Du Deine Addresse bekommst). <sect1> syncppp_msgetdns: Mit welcher Einstellung für ipppd erreiche ich, daß die Adresse des Nameservers bei der Einwahl geholt oder angezeigt wird? <label id="syncppp_msgetdns"> <p> Mit der Option <tt/ms-get-dns/ wird die Adresse des Nameservers geholt wenn Du Deinen Internet Provider anwählst. Mit <tt/ms-dns/ zeigst Du die Adresse des Nameservers wenn sich jemand bei Dir einwählt. <sect1> syncppp_ipx: Wie kann ich IPX über den ipppd betreiben? <label id="syncppp_ipx"> <p> Übergib 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 Kanäle mittels MPPP einrichten (siehe Abschnitt MPPP). Eine weitere Möglichkeit 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> Mit dem ipppd können verschiedene Kompressionsverfahren benutzt werden. Bei Fehlern oder Zweifeln sollte man sie jedoch deaktivieren. <itemize> <item><em>Van Jacobson compression</em> (header compression) Sollte mit aktuellen Kerneln (neuer als 2.2.14) problemlos laufen. Dazu muss VJ in den Kernel kompiliert werden. Um Probleme mit dem automatischen Laden des VJ-Moduls zu vermeiden sollte man SLIP und CSLIP ebenfalls in den Kernel kompilieren. VJ wird mit den Optionen <tt>-vj -vjccomp</tt> deaktiviert. <item><em>BSD compression</em>: Wenn Dein Netzpartner das auch unterstützt läuft es gut. Da sie von VJ unabhängig ist kann man auch beide zusammen benutzen. <item><em>LZS compression</em> (manchmal auch <em>Stac compression</em> genannt). Arbeitet auch ganz gut. Es ist jedoch etwas manuelle Arbeit notwendig, um den Code in den ipppd einzufügen (siehe Paket isdn4k-util). </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 nächste 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 'LCP-conf-req SENT' (weniger als zehn) und dann ein 'Term-Req' findest. <item>Überprüfe, ob die ISDN-Karte richtig konfiguriert wurde, wenn der Computer scheinbar nicht wählt (IRQ, IO, Protokoll falsch?) <item>Erscheinen wenigstens ein paar 'RECV' Meldungen: gut! Die Karte wählt und der empfangende Computer versucht zu antworten. Vielleicht funktioniert die Authentifizierung per pap/chap nicht (siehe Frage <ref id="pap" name="pap">). Prüfe die Einstellungen des ipppd! <item>Eine Meldung sagt, daß 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 könnte ein Fehler im ipppd sein. <item>Die Fehlermeldung <tt>cause E0010</tt> ist <bf/KEIN/ Fehler! Es ist nur die informative Meldung, daß die Verbindung beendet wurde. </itemize> <sect1> syncppp_log: Wie bekomme ich ein Log des ipppd? <label id="syncppp_log"> <p> Wenn die Option "debug" für 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> (abhängig 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 füge 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> #*.=debug /tmp/debug </code> Nach der Änderung dieser Datei kannst Du den syslogd mit 'kill -1 pid of syslogd' neu starten. Die Meldungen in /tmp/debug können zur Optimierung der PPP-Optionen genutzt werden. </quote> <sect1> syncppp_nopppsupport: Beim Start des ipppd bekomme ich die Fehlermeldung 'this systems lacks ppp support' oder 'isdn driver is out of date. maybe ippp0 has no syncppp0 encapsulation'. <label id="syncppp_nopppsupport"> <p> Prüfe, ob das Device 'ippp0' existiert (z.B. mit dem Programm "ifconfig"). Hinweise zur Benennung von Net-Interfaces bekommst Du bei Frage <ref id="syncppp_netinterface" name="syncppp_netinterface">. Der ipppd <em>braucht</em> dieses Device mit exakt <em>diesem</em> Namen und <em>syncppp</em>. Wenn es nicht existiert, muss es definiert werden: <code> isdnctrl addif ippp0 isdnctrl encap ippp0 syncppp </code> (weitere Informationen in der Dokumentation zu I4L und bei der Frage <ref id="syncppp_config" name="syncppp_config">) Vielleicht hast Du den ipppd mit den Quellen eines Kernels, den Du nicht benutzt, kompiliert... <sect1> syncppp_nousabledevice: Wenn ich ipppd starten will, bekomme ich die Meldung 'Can't find usable ippp device' <label id="syncppp_nousabledevice"> <p> Diese Meldung taucht dann auf, wenn das Verbindungs-Interface hinauswählen soll, ipppd aber noch nicht läuft oder nicht verfügbar 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 auslösen können (z.B. gethostbyname()). Ohne ipppd (da zu dieser Zeit ipppd noch nicht komplett gestartet ist) kann dieser Netzwerkzugriff nicht durchgeführt werden. Versuche, die gesuchten Host-Namen in die lokale /etc/hosts zu schreiben oder sonst irgendwie zu definieren, sodaß sie ohne Zugriff auf das ISDN-/ippp-Interface aufgelöst werden können. <sect1> syncppp_framesdelayed: Ich bekomme die Meldung <tt>IP frames delayed</tt> - aber keine Verbindung. <label id="syncppp_framesdelayed"> <p> Hast Du tatsächlich hinausgewählt? 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 hinauswählen. 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 Wählbefehl stehen. Anderenfalls löscht der Kernel die Route. <sect1> syncppp_nodefaultroute: Nachdem ipppd hinausgewählt hat ist meine defaultroute verschwunden. <label id="syncppp_nodefaultroute"> <p> Das liegt am Kernel. Bei neueren Kernel (= 2.0.x) gibt es einige Änderungen beim Routing. Lösung: installiere ein Script /etc/ppp/ip-up, das in etwa so aussieht: <code> #!/bin/sh /sbin/route add default ippp0 </code> Beachte bitte, daß das bei Kernel 2.2.x NICHT funktioniert (das Routing wurde wieder geändert). Übergib 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 #! /bin/sh case $1 in on) /sbin/isdnctrl dial ippp0 # aufbauen der Verbindung sleep 5 # abwarten /sbin/route add default ippp0 # Route setzen ;; off) /sbin/isdnctrl hangup ippp0 # Verbindung beenden /sbin/route del default # Löschen der Route ;; *) echo -e '\a Usage: 'isdn on' or 'isdn off'' ;; esac </code> Beachte bitte, daß bei Kernel 2.2.x die Kommandos <tt>route add default</tt> und <tt>route del default</tt> NICHT benutzt werden dürfen. Übergib 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 nächsten Frage. Ein weiterer möglicher Grund könnte ein IRQ-Problem sein - siehe Frage 'Warum sollte ich IRQ 12 und 15 für meine ISDN-Karte vermeiden?'. Das Problem kann auch durch '#'-Zeichen in der Datei pap-secrets verursacht werden. In diesem Fall musst Du den Benutzernamen und/oder das Passwort mit Anführungszeichen einrahmen (je nachdem, was betroffen ist). <sect1> syncppp_slow: Die Verbindung mit ipppd scheint zu stehen, bricht aber schließ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: '-vj' muss *zusätzlich* zu '-vjccomp' gesetzt werden, um die VJ-Kompression völlig abzuschalten - in den Beispielscripts von ipppd ist diese Option schon nicht mehr enthalten. Auch andere Kompressionsmodi (bsd, pccomp) können Probleme verursachen. Daher solltest Du alle Kompressionsoptionen deaktivieren (siehe auch Frage <ref id="syncppp_compression" name="syncppp_compression">). Auch die Option "noccp" 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) für unseren Zugang (mit I4L ebenso wie mit externen Terminaladaptern). Wir haben dieses Problem hauptsächlich mit Kunden, die unter Windows 95 und NT die 'enthaltene' (Modem Netzwerk) Software benutzen. Es ist dabei unerheblich, ob der Kunde sich mit asynchronem oder synchronem PPP einwählt. Es spielt auch keine Rolle, welche Modememulation er auf seiner Seite benutzt. Was sie gemeinsam haben ist, daß die Verbindung mit Microsoft's Modemadapter und Microsoft's PPP hergestellt wird (obwohl mir ein Kollege kürzlich von einem ähnlichen Problem mit einem Macintosh-Kunden erzählte). 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 für Max MTU auf 576 oder sogar 296 <item>Reduziere das DefaultRcvWindow auf 2144 </itemize> Bei Windows 95 sind das zwei Einträge in der Registry, unter Linux kannst Du die Optionen 'mtu 576' und 'mru 576' für 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> fügte 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&B512 </code> der die gesendeten Pakete auf 512 Bytes begrenzt. </quote> <sect1> syncppp_mtu: Mein ipppd funktioniert. Ich bekomme jedoch laufend die Meldung 'pppd(104): ioctl(SIOCSIFMTU): Invalid argument'. <label id="syncppp_mtu"> <p> Wenn der Wert mtu nicht festgesetzt ist, wird ein Defaultwert angenommen - möglicherweise '0', der natürlich nicht korrekt sein kann. Füge <tt>'mtu 1024'</tt> zu Deinen Optionen für 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 ändert sich Deine IP-Addresse während Pakete auf die Versendung warten. Alle Pakete, die vor dieser IP-Addressänderung verschickt werden, haben dann die falsche Rückantwort-Addresse und werden nie eine Rückmeldung erhalten. Das kann viele vergebliche Wählversuche verursachen (siehe <ref id="dod" name="dod">). Mögliche Lösungen sind: <itemize> <item>Manuelle Hinauswahl mit 'isdnctrl dial ipppN' <item>Benutze diald zur Kontrolle über 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> (nimm 5 statt 7 um Warnungen in /var/log/messages zu vermeiden). Bei einer SuSE-Distribution kannst Du diese Abhilfe durch das Setzen von <tt/IP_DYNIP='yes'/ in <tt>/etc/rc.config</tt> aktivieren. <item>Erhöhe den Wert für die Wiederholung des Verbindungsaufbaus auf Deiner Windows-Maschine. Ändere in der Registry den Wert <tt>Hkey_Local_Machine\\System\\CurrentControlSet\\Services\\VxD\ \MSTCP\\MaxConnectRetries</tt> von 3 auf einen höheren Wert (5 oder 7). </itemize> <sect1> syncppp_droppacket: Was bedeutet die Meldung 'No phone number, packet dropped'? <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ß 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 Hinauswählen findet. <sect1> syncppp_leadingzero: Warum wählt mein ipppd eine Null zuviel (<tt>'ippp0: dialing 0 089XXXXXX...'</tt>)? Ich habe keine Nebenstellen! <label id="syncppp_leadingzero"> <p> Die erste Null wird nicht gewählt. Sie zeigt die Anzahl der Wählversuche, 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 täuscht ein Ethernet-Device vor. Es ignoriert IRQ und baseaddr und benötigt nur die HWaddr für die Ethernet-Encapsulation. <sect1> syncppp_lzsproblem: Ich bekomme eine Fehlermeldung: <tt>kernel check for lzs failed</tt>? <label id="syncppp_lzsproblem"> <p> Das bedeutet, daß ipppd versucht, die LZS-Kompression zu nutzen, aber kein kompiliertes Modul mit dem entsprechenden Code findet. Die Fehlermeldung hat nur kosmetische Bedeutung, da das System weiterarbeitet. Du kannst entweder die LZS-Kompression abstellen (setze <tt>noccp</tt> als Option für ipppd) oder das LZS Modul kompilieren und laden. <!-- 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 über 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/ erhältst 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ß 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 über 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 'Debug-Log' protokollieren und suche danach, welche Optionen der andere Computer ablehnt. Danach konfigurierst Du ipppd ohne diese nicht benötigten Optionen. Ein Seiteneffekt ist, daß solche unbenötigten Optionen die Redundanz vergrößern (wenn der andere Computer z.B. Fehler hat und die Optionen nicht korrekt ablehnt). Wie Du ein Logfile erstellst siehst Du in 'Wie erstelle ich ein Log für ipppd'. <sect1> asyncppp_fast: Wie kann ich meine Datentransferraten per PPP verbessern? <label id="asyncppp_fast"> <p> Du kannst mehrere Kanäle mit MPPP nutzen (siehe Frage <ref id="2channel_mppp" name="2channel_mppp">). Für alle, denen das zu teuer ist und die <em>asyncPPP</em> benutzen, gibt es einen kleinen Trick. Mit der Option 'asyncmap 0' vermeidest Du, daß Steuerzeichen (ASCII-Codes kleiner als 32) in extra Zeichen eingerahmt werden, die ihre Sonderstellung markieren sollen (derartige Mechanismen müssen zwischen beiden Partnern abgesprochen werden, andernfalls kommt es zu Missinterpretationen und Synchronisationsverlust). Wenn die andere Seite das mitmacht, verbesserst Du die Transferrate um ungefähr 12% (im Besten aller Fälle!). <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 hält alles an). <label id="asyncppp_suddendeath"> <p> Das wird vermutlich durch eine nicht korrekte Blockgröße auf Deiner Seite verursacht. Verwende für Dein ttyI*-Device den Init-String <tt/AT&B512/ oder eine noch kleinere Blockgröß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 (für 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> Höhere Datentransferraten <item> Bessere Stabilität (kleinerer Treiber = fast ohne Fehler) </itemize> Nachteile: <itemize> <item> Kein handshaking => Die Konfiguration muss vorher stattfinden (IP-Addressen,...) => sollte nicht mit mehreren Providern gleichzeitig genutzt werden <item> Autorisierung nur durch Caller ID => Einwahl nur von einer vorher bekannten Telefonnummer möglich <item> Feste IP-Addresse => muss im Voraus bekannt sein, es werden mehr IP-Addressen benötigt, kein dynamisches Zuteilen von Addressen möglich. </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 ähnliches Kommunikations-Interface, für das alle Befehle mit <em/AT/ beginnen. Das vereinfacht die Benutzung alter Software, die für Modems geschrieben wurde. <bf>Die Verbindung mit einem entfernten analogen Modem mittels ttyI* Devices ist nicht möglich!</bf> Die tatsächliche Verbindung läuft digital, nicht analog. <sect1> ttyI_dev: Welche Devices sollte ich für ausgehende/eingehende Rufe verwenden? <label id="ttyI_dev"> <p> Es sollten nur die ttyI* Devices verwendet werden. Die cui* Devices werden nur aus Kompatibilitätsgründen angelegt. Seit es mgetty gibt besteht kein Grund, die cui* Devices weiterhin zu benutzen. Bei ihrer Verwendung funktioniert das locking nicht einwandfrei (mehrere Programme könnten 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. 'ATS14=3'. <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 für die Modememulation per Init-String setzen: 'AT&Emsn/eaz'. <sect1> ttyI_speed: Welche Geschwindigkeit sollte ich für 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. <sect1> ttyI_max: Wieviele Devices werden maximal unterstützt? <label id="ttyI_max"> <p> Die maximale Anzahl kann während der Kompilierung mit einem Wert für ISDN_MAX gesetzt werden. Z.Zt. ist der Wert auf 64 voreingestellt, d.h., es werden maximal 64 ttyI Devices unterstützt. <!-- Trouble ttyI* devices --> <sect1> ttyI_nocarrier: Beim Wählen mit 'ATD.....' bekomme ich immer die Antwort 'NO CARRIER'. <label id="ttyI_nocarrier"> <p> Vor dem Wählen musst Du den String 'AT&E123456' eingeben (wobei 123456 Deiner MSN entspricht; bei 1TR6 muss die einstellige EAZ angegeben werden). <sect1> ttyI_noincall: Mein ttyI* Device/pppd registriert keine ankommenden Gespräche. <label id="ttyI_noincall"> <p> Vermutlich hast Du Deiner Modememulation nicht mitgeteilt (mit <tt>AT&E</tt>), welche MSN benutzt werden soll. Wenn Deine MSN z.B. 123456 lautet, musst Du <tt>AT&E123456</tt> eingeben. <sect1> ttyI_callphone: Warum kann ich nicht über die ttyI* Devices mit meinem Telefon oder Fax wählen? <label id="ttyI_callphone"> <p> Das kannst Du. ISDN unterscheidet jedoch die verschiedenen Dienste. Alle über die ttyI* Devices hinausgehenden Rufe benutzen den Dienst 'Digital Data', der zu Telefon und Fax inkompatibel ist. Dadurch geht der Ruf nie hinaus. Ändere die Diensteerkennung mit dem Befehl <tt>ATS18=1</tt> auf Audio, dann kannst Du das Telefon oder das Fax wählen lassen. <sect1> ttyI_noconnect: Ich bekomme keine Verbindung zu meiner ISDN Mailbox/BBS. <label id="ttyI_noconnect"> <p> Da gibt es mehrere mögliche Protokolleinstellungen. Es gibt HDLC, X.75 und mehrere mögliche Blockgrößen bei X.75. Die Blockgröße übergibst Du der Modememulation mit <tt>AT&B</tt>. Gebräuchlich ist eine Blockgröße von 2048 Byte: <tt>AT&B2048</tt>. <sect1> ttyI_forcehangup: Meine Modememulation hängt. Wie kann ich meine Karte zum Auflegen zwingen? <label id="ttyI_forcehangup"> <p> Wenn tatsächlich kein Prozess mehr Deine Modememulation benutzt, versuche dieses: <code> cu -l /dev/ttyI0 dir +++ ath0 ˜. </code> Vor und nach '+++' musst Du eine Sekunde warten, sonst erkennt Deine Modememulation die Escapesequenz nicht (wie bei einem normalen Modem). Beachte Prozesse (mit 'ps -ax'), die sowas wie 'I0' oder 'I1' in der zweiten Spalte zeigen. Sie haben ein ISDN Terminal als kontrollierendes Terminal. Du musst sie eventuell mit kill beenden. <sect1> ttyI_channelclosed: Während einer Verbindung über ttyI bekomme ich eine Meldung des Kernels: 'teles_writebuf: channel not open'. Danach wird keine Eingabe mehr von der Verbindung angenommen. <label id="ttyI_channelclosed"> <p> Das kann geschehen, wenn der Partner die großen Frames von I4L nicht annehmen kann und den B-Kanal während der Übertragung schließt. Versuche, die Frames mit 'AT&B512' zu verkleinern. <sect1> ttyI_uucp: Beim Gebrauch von UUCP mit X.75 bekomme ich immer Übertragungsfehler! <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> # 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ß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 Lösung an: <quote> Ich habe mehrere XP-User, die ohne Probleme pollen. Ich tat das Folgende: Zuerst setzte ich die Größe der zu sendenden Pakete für ttyI? auf 1024 ('AT&B1024') und anschließend die Paketgröße für 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: Unerwünschte 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 dafür definiert hast, werden alle IP-Pakete, für 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 durchführen. Das bedeutet, daß <bf>jeder</bf> Benutzer eine Hinauswahl verursachen kann. Beispiel: Du öffnest 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 ausgelöst. Der Gebrauch von dial-on-demand ist ein gefährliches (= kostspieliges) Feature: siehe Frage <ref id="dod_disaster" name="dod_disaster">. <sect1> dod_disaster: Was ist ein Gebühren-GAU? <label id="dod_disaster"> <p> Der Gebühren-GAU kann aus verschiedenen Gründen eintreten (Details unter <ref id="dod_causes" name="dod_causes">). Das Resultat ist jedoch gleich: Dein Computer wählt Deinen ISP öfter an als Dir lieb ist und erhöht dadurch Deine Telefonrechnung um einen großen Betrag (besonders dann, wenn Du nicht nur die Online-Zeit sondern auch einen Mindestbetrag/Einheitsbetrag für jede Einwahl bezahlen musst). Der Ausdruck 'großer Betrag' ist recht dehnbar. Alles ist möglich: <itemize> <item>"Billig": Jede DNS-Anfrage öffnet die Leitung und verursacht mehrere Wählvorgänge pro Tag (ja nach Deinen Programmen). Bei 10 Vorgängen pro Tag sind das etwa 300 unnötige Wählvorgänge pro Monat. <item>"Nicht ganz so billig": Irgendein Windows 95 Computer in Deinem LAN löst alle 15 Minuten einen Wählvorgang für 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ß": Dein Email-Programm ist so eingestellt, daß es alle 5 Minuten prüft, ob neue Nachrichten bei Deinem ISP bereit liegen. Das ergibt 288 Wählvorgänge pro Tag, 8640 pro Monat. <item>"Kostspielig": 'Keep alive'-Pakete verhindern, daß 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 übrig. Diese lösen beim Versuch, das Problem zu lösen, eine neue Anwahl aus. Da Du jetzt aber eine neue IP-Addresse hast, kann das Problem nicht aufgelöst werden. Die Verbindung wird schließlich beendet (abhängig von Deiner Timeout-Einstellung), wird aber sofort wieder hergestellt, da die Sockets eine weitere Anwahl auslösen. Hast Du kein Glück, so bekommst Du nie die gleiche IP-Addresse wieder und die Sache wiederholt sich endlos. Du bist fast dauernd online, jedoch musst Du zusätzlich noch für viele Wählvorgänge bezahlen: Wenn Dein Timeout auf 30 Sekunden steht, werden daraus 2880 Wählvorgänge pro Tag, 86400 pro Monat. <item>"Am kostspieligsten - Schlimmster Fall": Du konfigurierst dialout/callback falsch. Wenn Dein (der initiierende) Computer Deinen ISP anwählt und dieser dann die Verbindung abbricht (weil z.B. die Anmeldung fehlschlägt - vielleicht ist er auch falsch konfiguriert), so wählt Dein Computer sofort neu. Dies wird nur begrenzt durch die Zeit, die für das Wählen benötigt wird. Wenn wir für jeden Versuch 2 Sekunden veranschlagen (konservativ geschätzt), werden daraus 43200 Vorgänge pro Tag oder 1296000 pro Monat! </itemize> Dies ist kein Scherz, all diese Dinge sind tatsächlich passiert, sogar bei richtigen ISDN4LINUX-Experten! Schau bei Frage <ref id="dod_off" name="dod_off"> nach, wie Du jedes Risiko, daß dies Dir passiert, vermeiden kannst. <sect1> dod_causes: Wodurch wird ein Gebühren-GAU ausgelöst? <label id="dod_causes"> <p> Da gibt es viele Möglichkeiten. Bei Frage <ref id="dod_strategy" name="dod_strategy"> erfährst Du, wie Du herausfindest was gerade passiert. Bei der Frage <ref id="dod_disaster" name="dod_disaster"> erfährst Du dann, wie teuer das sein kann. Es folgt eine nicht vollständige Liste von Ursachen: <enum> <item>Du hast Deinen Kernel irrtümlich 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 Gründen vermeiden. Du erkennst diese Ursache daran, daß Du einen Wählvorgang hast aber <em/keine/ Daten übertragen werden. <item>Andere Broadcasts von den Interfaces werden von ISDN weitergeleitet. <item>Wenn IP-Verbindungen noch geöffnet sind während 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ß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 gewählt, 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 für die Kernel 2.2.x und etwas Hintergrundwissen dazu von <url url="http://www.another.de/linux/router/"> bekommen. Sieh Dir dazu auch die Frage <ref id="syncppp_1stpacket" name="syncppp_1stpacket">an. Beachte auch, daß Du die Option "defaultroute" des ipppd benutzt statt <tt>route add/del default</tt> in ip-up/ip-down. <item>TCP-Wiederholversuche lösen Hinauswahlen aus: wenn der Kernel versucht, TCP-Pakete zu senden und keine Antwort bekommt, wird er versuchen, die Sendung zu wiederholen (normalerweise alle 120 Sekunden). Prüfe, ob Du die folgenden Parameter anpassen willst: <itemize> <item>/proc/sys/net/ipv4/tcp_syn_retries <item>/proc/sys/net/ipv4/tcp_retries1 <item>/proc/sys/net/ipv4/tcp_retries2 </itemize> Dazu gehörende Dokumentation findest Du in <tt>/usr/src/linux/Documentation/proc.txt</tt>. <item>Anfragen von Deinem lokalen DNS lösen einen Wählvorgang aus: siehe Frage <ref id="dod_localdns" name="dod_localdns">. <item>Sendmail löst den Wählvorgang aus: siehe Frage <ref id="dod_sendmail" name="dod_sendmail">. <item>Windows 95 Clients lösen den Wählvorgang 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 löst den Wählvorgang aus: siehe Frage <ref id="dod_samba" name="dod_samba">. <item>Netscape löst beim Start einen Wählvorgang aus: siehe Frage <ref id="dod_netscape" name="dod_netscape">. <item>dhcpd löst Auswählvorgänge aus: Deaktivieren Sie den dhcpd und prüfen Sie Ihre Einstellungen... <item>Schließe manuell noch offene IP-Verbindungen wenn die Leitung unterbrochen wird: siehe Frage <ref id="dod_closeipconnect" name="dod_closeipconnect">. <item>Dein Computer ist abgestürzt, erzeugt aber noch Interrupts: siehe Frage <ref id="dod_onlineoncrash" name="dod_onlineoncrash">. </enum> <sect1> dod_off: Wie kann ich Dial-on-Demand verlässlich abschalten? <label id="dod_off"> <p> <enum> <item>Wenn Du immer manuell wählen willst, setze den Dialmode auf <tt/manual/ (siehe Frage <ref id="dialout_dialmode" name="dialout_dialmode">). Dann benutze <tt>isdnctrl dial <device></tt> zum Hinauswählen und <tt>isdnctrl hangup <device></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 ungültige 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>Lösche die Route zum ISDN-Device. Ein Beispiel, wie jedes automatische Wählen vermieden wird: <code> /sbin/route del default /sbin/isdnctrl system off /sbin/ifconfig ippp0 down </code> So läuft wieder alles normal: <code> /sbin/isdnctrl system on /sbin/ifconfig ippp0 up /sbin/route add $GATE-IP dev ippp0 /sbin/route add default ippp0 </code> Diese Methode hat den Nachteil, daß überhaupt kein Wählvorgang möglich ist. </enum> <sect1> dod_strategy: Wie überprüfe ich unerklärbare Wählvorgänge? <label id="dod_strategy"> <p> Das Finden der Ursache von unerwarteten Wählvorgängen ist der erste Schritt, sie zu stoppen. Dieses Finden ist jedoch normalerweise schwieriger als die Problemlösung. Hier sind Vorschläge, was Du tun kannst: <itemize> <item> Zuerst trennst Du Deinen Dialout-Server von Deinem LAN, um herauszufinden, wer für die Wählvorgänge 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 'isdnctrl verbose 3' herauszufinden, welches TCP/IP-Paket die Verbindung auslöst. 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 über TCP/IP über ISDN) - die Portnummer kann man in <tt>/etc/services</tt> nachsehen. Beachte bitte, daß nur das auslösende Paket gemeldet wird. <item> Wenn Du ipppd benutzt: erstelle ein tcpdump, das Dir die Daten der syncPPP encapsulation zeigt (dazu benötigst Du eventuell einen Patch - siehe Frage <ref id="trouble_tcpdump" name="trouble_tcpdump">). <item> Versuche, einen Systemdienst nach dem anderen zu deaktivieren und prüfe, ob sich die Sache beruhigt. named, sendmail und auch smbd (Samba) sind gute Kandidaten für 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ß die Win95-Maschine in meinem LAN automatische Wählvorgänge auslöst? <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 aufzulösen (z.B. WORKGROUP.xxx). Hier folgen Möglichkeiten, 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 löst dieser unerwünschte 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ß 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 aufgelöst werden können. Oder setze einen Primary Domain Controller in Deinem LAN ein. <sect1> dod_forwarddns: Ich habe meinen Nameserver im 'forward' Modus konfiguriert, mit einer Adresse. Nun wählt er fast jede Minute? <label id="dod_forwarddns"> <p> Von Zeit zu Zeit wird der Nameserver eine Anfrage an seinen Forwarder schicken. Das löst eine Anwahl aus. Da Dein ISP dynamische IP-Adressen benutzt wird die Anfrage mit einer falschen IP-Adresse hinaus geschickt (zum Zeitpunkt der Starts der Verbindung). Also wird keine Antwort empfangen. Bind wartet eine Minute und wiederholt den Vorgang. Wenn Deine Verbindung in dieser Zeit getrennt wurde, löst das einen neuen Wählvorgang mit wiederum einer anderen Adresse aus, usw.n... Als Workaround kannst Du die Wartezeit zwischen den Sendeversuchen verkürzen, wie es bei der Frage <ref id="dialout_bind" name="dialout_bind"> beschrieben wird. Alternativ kannst Du die Option &dquot;dialup yes;&dquot; in der named.conf setzen. Dadurch wird named beim Start nur eine Interaktion mit dem Verteiler durchführen (und dabei ein Auswählen auslösen). Danach wird named ein sehr langes Intervall (24h?) abwarten ehe er eine erneute Abfrage startet. named wird nur bei direkten Anfragen mit dem Verteiler in Kontakt treten und das passiert im Normalfall wenn Du sowieso verbunden bist. <sect1> dod_sendmail: Wie kann ich erreichen, daß 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 öffnen. Du musst die Optionen 'nodns' und 'nocanonify' aktivieren. Wenn Du einen smarthost hast, musst Du sicherstellen, daß 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 'order hosts bind' enthalten). Setze alle nicht lokalen Mailer auf 'expensive' ('define(SMTP_MAILER_FLAGS, e)') und verbiete dann sendmail, automatisch über diese <it>teueren</it> Wege zu verbinden (mit einem 'define('confCON_EXPENSIVE", 'True')'). Der Aufruf von sendmail sollte keine Zeitangabe für die Option '-q' enthalten (d.h., nur '-bd -os -q'). '-os' bewirkt, daß alle Mails in die Warteschlange eingereiht werden (was nicht verhindert, daß lokale Mails sofort ausgeliefert werden). Der einzige Haken ist, daß sendmail beim Booten Mail, die noch in der Warteschlange liegt, ausliefern will, obwohl das Netzwerk noch nicht läuft. 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 'sendmail -q' abgeschickt. <sect1> dod_samba: Das Samba-Paket löst bei mir immer Wählvorgänge 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! Durchsuche die Hilfeseiten der Samba-Konfigurationsdatei nach weiteren Möglichkeiten des Vermeidens von Auswählvorgängen (mir wurde gesagt, daß es einige spezielle Parameter dafür geben soll). <sect1> dod_netscape: Wie kann ich Netscape abgewöhnen, 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. 'file://localhost/xxx'), löst keinen sofortigen Wählvorgang aus. Alternativ kannst Du einen Cache Demon einrichten, der oft benötigte Seiten speichert. Des weiteren prüfe Deine Proxy-Einstellungen. Wenn Netscape einen kompletten Namen anstatt einer IP-Adresse beim Start bekommt, kann es versuchen, den Namen durch eine DNS-Anfrage aufzulösen. In dem Fall gib Netscape eine IP-Adresse. Auch kann es sein, daß Netscape versucht, seinen Newsserver zu erreichen. Wenn Du dieses Feature nicht benötigst, kannst Du den Newsserver, den Netscape sucht (vermutlich 'news') in Deinen lokalen DNS oder in die /etc/hosts aufnehmen und auf 'localhost' verweisen. <sect1> dod_closeipconnect: Nach dem Auflegen einer Leitung stelle ich mit <tt>netstat -nt</tt> fest, daß IP-Verbindungen noch offen sind. Wie kann ich diese manuell schließen? <label id="dod_closeipconnect"> <p> Dies mag nur mit dem RST-Revoking-Patch (auf den in Frage <ref id="dod_causes" name="dod_causes"> hingewiesen wird) funktionieren: Du kannst das Interface 'runterfahren' und dann wieder 'starten'. Dann wird es versuchen, hinaus zu wählen. Wenn Du aber vorher die anzuwählende Telefonnummer entfernt hast, erhältst Du die Meldung 'no outgoing number...' im syslog und sobald das Interface wieder gestartet ist werden alle offenen Verbindungen geschlossen. Du kannst diese durch offene IP-Verbindungen ausgelösten Wä,hlversuche vermeiden, indem Du eine spezielle Firewall-Einstellung in <tt>/etc/ppp/ip-down</tt> einfügst und sie in <tt>/etc/ppp/ip-up</tt> wieder deaktivierst. Diese Firewall-Einstellung wehrt alle TCP-Pakete, die nicht den Status SYNSENT haben, ab. Füge dies in Deine <tt>/etc/ppp/ip-down</tt> ein (bei einem 2.2.x kernel): <code> ipchains -A output -j DENY -p tcp -i 'interface' ! -y </code> Add this in <tt>/etc/ppp/ip-up</tt>: <code> ipchains -A output -j DENY -p tcp -i 'interface' ! -y </code> (Bei allen Firewall-Regeln gilt: Am besten schreibt man diese Regeln in ein Script, das dann mit einem start oder stop aufgerufen wird.). Beachte, daß diese Firewall-Regel nur ganze Pakete betrifft. Fragmente werden immer diese Firewall passieren und einen Wählvorgang auslösen. <sect1> dod_onlineoncrash: Ist es möglich, daß selbst bei einem abgestürzten Computer eine ISDN-Verbindung bestehen bleibt (und die Gebühren 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 abgestürztem Computer bestehen bleiben (die Karte hält 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 spätestens nach einer halben Minute beendet. Ein Weiterbestehen der Verbindung kann nur in dem unwahrscheinlichen Fall passieren, wenn die Maschine abstürzt, 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 Möglichkeit, Deine Kosten zu reduzieren, wenn diese auf Deiner <bf/Onlinezeit/ basieren und das Intervall zwischen zwei Einheiten (das Gebührenintervall) relativ groß ist (z.B. pro Minute). Chargeint beendet die Verbindung nur zwei Sekunden vor dem Ende eines Gebührenintervalls. Je nach Tageszeit und Datum erkennt isdnlog selbständig die Länge des Intervalls. <sect1> chargeint_config: Wie soll ich Chargeint einrichten? <label id="chargeint_config"> <p> Du kannst die Länge einer Gebühreneinheit manuell mittels isdnctrl Parameter <tt/chargeset/ bestimmen oder isdnlog so einstellen, daß es automatisch abläuft: <enum> <item>Stelle isdnlog so ein, daß es alle Informationen über Deinen Standort und Deine Telefongesellschaft hat (und dadurch die Gebühren 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 herbeiführt) nach Deinem Belieben ein. Z.B.: <code> /sbin/isdnctrl huptimeout ippp0 5 </code> Damit wird I4L nach einer 5 Sekunden dauernden Inaktivität der Leitung (huptimeout) 2 Sekunden vor dem Ende der Gebühreneinheit 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/zeitabhängiger/ 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 für jede neue Einwahl einen festen Betrag zusätzlich zu den variablen Kosten zahlen musst (das hängt von der Höhe der Gebühren 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 verändert. Die unterbrochenen FTP-, telnet- oder WWW-Verbindungen müssen dann wieder neu aufgebaut werden. </enum> <sect1> chargeint_correcttime: Wie kann ich sicher gehen, daß 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ß die Uhren der VSts selten übereinstimmen (wichtig bei Preselection und Call-by-Call), selten überhaupt die genaue Zeit anzeigen, und außerdem bei ISDN sowieso nur Minuten und keine Sekunden übertragen werden! <sect1> chargeint_nohangup: Die Verbindung wird nicht durch einen Timeout beendet. <label id="chargeint_nohangup"> <p> Chargeint legt nur auf, wenn es keine Aktivität auf der Leitung gab. Vielleicht benutzt Dein ISP einen Router (z.B. Cisco), der alle zehn Sekunden ein 'keep alive' Paket sendet. Wenn die Cisco auf ihre "keep alive" Pakete keine Antwort bekommt, wird sie das Routing einstellen. Das geschieht normalerweise nach dem 4. oder 5.'keep-alive'-Paket. Erst kürzlich (Anfang 2001) wurde die Unterstützung der 'keep-alive'-Pakete der Cisco verbessert/Korrigiert. Du kannst dieses Feature also ohne Probleme benutzen oder Deinen Provider bitten, es eben nicht zu benutzen (mittels <tt>'no keepalive'</tt> in der Cisco-Konfiguration). Möglicherweise sind es auch nicht die 'keep alive' Pakete, die die Verbindung offen halten, sondern eher OSPF Routing Updates. Das Versenden dieser Updates kann nur an der Cisco abgeschaltet werden. Du kannst 'snapshot server' auf dem BRI Interface einstellen. Das bewirkt, daß Routing Updates nur hinausgeschickt werden, wenn sie durch dieses Interface empfangen wurden. <!-- 2 and more channels: MPPP, raw bundling --> <sect> 2channel: Kanalbündelung (MPPP, raw bundling) <label id="2channel"> <sect1> 2channel_whatis: Was ist Kanalbündelung und wie kann ich es verwenden? <label id="2channel_whatis"> <p> Kanalbündelung wird von ISDN4LINUX zur Zeit in zwei Variationen unterstützt: <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. Eine dynamische Handhabung für MPPP kann mit dem Programm <tt>ibod</tt> erreicht werden - siehe Frage <ref id="2channel_mpppconfig" name="2channel_mpppconfig">. <sect1> 2channel_raw: Was ist 'raw bundling'? <label id="2channel_raw"> <p> Raw bundling arbeitet ähnlich wie rawIP, nur mit mehreren Kanälen. Daher hat es auch die theoretischen Vor- und Nachteile von rawIP. Raw bundling benötigt für jeden benutzten Kanal ein Netzwerk-Interface. Eines davon, das sogenannte Master Interface, kontrolliert das Herstellen und Abbrechen der Verbindungen. Für 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 <master_interface> </code> erstellt und konfiguriert. Für alle benötigten abhängigen Kanäle werden dann Slave Interfaces mit dem Befehl: <code> isdnctrl addslave <master_interface> <slave_interface> </code> erstellt und wie üblich konfiguriert (z.B. 'isdnctrl sdelay slave_interface delay'). <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ß ISDN4LINUX die benötigten abhängigen Kanäle selbst öffnet und schließ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 Abkürzung von "Multi Processor") steht für Multi Point to Point und bedeutet das Bündeln von mehreren Kanälen 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 benötigt, da der ipppd alle seine Kanäle selbst verwaltet. Herein kommende Daten werden vom ipppd zufällig auf alle verfügbaren Kanäle verteilt. Diese Kanäle müssen nicht unbedingt ISDN-Kanäle sein. Theoretisch können Modemverbindungen mit ISDN-Kanälen vermischt werden. Hier jedoch beschäftigen wir uns nur mit ISDN-Kanälen. <sect1> 2channel_mpppgoodbad: Was sind die Vor- und Nachteile von MPPP? <label id="2channel_mpppgoodbad"> <p> Ein Nachteil besteht darin, daß der 2.Kanal 'manuell' aktiviert werden muss. Der ipppd kann den 2.Kanal nicht nach Bedarf an- oder abschalten. Die normalen automatischen Funktionen des ipppd sind entweder unzuverlässig (automatisches Auflegen) oder funktionieren überhaupt nicht (automatische Anwahl). Das gilt nicht für die anderen Encapsulations. Die Übertragungsraten sind allerdings sehr gut (ca. 30 KB/s mit 4 Kanäen). <sect1> 2channel_mpppconfig: Wie richte ich MPPP ein? <label id="2channel_mpppconfig"> <p> Zuerst muss die Unterstützung für MPPP bei der Kompilation der ISDN-Module aktiviert werden. Dann definierst Du ein (normales) Interface für ipppd (i.a. 'isdnctrl addif ippp0', usw.). Dieses Interface wird als Master Interface benutzt. Anschließend musst Du für jeden zusätzlichen Kanal ein Slave Device einrichten (z.B.: 'isdnctrl addslave ippp0 <slave_interface>', mehr Details im I4L Manual). Die Aktivierung der Kanalbündelung erfolgt durch die Option '+mp' beim Aufruf des ipppd un durch die Bindung beider Devices an ipppd. Achte darauf, daß die Namen beider Devices mit "ippp" beginnen müssen. Zum Gebrauch der Kanalbündlung musst Du zuerst das 'Master Device' aktivieren. Anschließend werden die Slave Channels hinzugefügt: <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! Meldet addlink einen Fehler -2 so sind keine Slave Devices eingerichtet. Der Fehler -5 bedeutet, daß ippp0 nicht verbunden ist. Beachte auch, daß das Slave Device dazu im Wählmodus <tt/auto/ sein muss. Zur manuellen Steuerung benutzt Du <code> isdnctrl dial slave </code> und <code> isdnctrl hangup slave </code> Bei syncPPP gibt es keine automatische Aktivierung der Slave Devices. Sie müssen manuell hinzugefügt und wieder entfernt werden. Es gibt dafür jedoch das Programm <tt>ibod</tt>, das das automatisch erledigt. Du findest es auf: (<url url="http://www.compound.se/ibod.html">) oder in einer von Karsten Keil erweiterten Version auf: <url url="http://www.suse.de/~kkeil/xibod/">. 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ß Dein Provider den Gebrauch dieser Features erlauben muss. Es kann auch vorkommen, daß die Menge der gleichzeitig geöffneten Kanäle limitiert ist und bei Überschreitung dieses Limits alle Verbindungen abgebrochen werden. <sect1> 2channel_mpppcompile: Ich habe MPPP ausprobiert aber es funktioniert nicht. Der ipppd schreibt im debug log so etwas wie das: ' ... 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 ...' <label id="2channel_mpppcompile"> <p> Du hast vergessen, die Unterstützung für MPPP/RFC1717 in das ISDN Subsystem zu kompilieren. Kompiliere den Kernel mit dieser aktivierten Option neu. <sect1> 2channel_cantlocateippp1: Beim Versuch mit MPPP bekomme ich die Fehlermeldung 'modprobe: Can't locate module ippp1' und 'ipppd: ioctl(SIOCSIFMTU): No such device...'? <label id="2channel_cantlocateippp1"> <p> Das ist eine Eigenheit des ipppd. Er versucht, beiden Kanälen die gleiche MTU zuzuordnen und der Kernel kann kein entsprechendes Netzwerk-Device finden. Du kannst diese Meldung ohne Probleme ignorieren, MPPP sollte trotzdem funktionieren. <!-- 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 für TCP/IP (IP-Addresse, Nameserver,...) stellst Du nach Deinen Gegebenheiten ein. </itemize> <sect1> remote_mac: Ich möchte 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 unterstützt. 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 gewählten Nummer angeben (z.B. durch Einfügen eines 'X' für X.75). <sect1> remote_macpap: Ein Macintosh mit einer Leonardo Karte versucht sich einzuwählen 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 üblich eingestellt. Danach kann PAP/CHAP eingerichtet werden. <sect1> remote_cisco: Wie verhält sich ISDN4LINUX mit einer Cisco (HDLC) als Gegenpart? <label id="remote_cisco"> <p> Auf dem Cisco Router muss das Senden von 'keep alive' Paketen abgestellt werden. ISDN4LINUX muss für HDLC, transparent, mit Cisco encapsulation eingestellt werden: <code> isdnctrl l2_prot <interface> hdlc isdnctrl l3_prot <interface> trans isdnctrl encap <interface> 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 möglich (diese gelten auch für die anderen Treiber von H. Hanewinkel (CINDI, CANDI, WISPA...), zu finden auf <tt><url url="http://www.informatik.uni-bremen.de/˜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_flatrate: Was ist der Unterschied zwischen einer Standleitung und einer Flatrate? <label id="leased_flatrate"> <p> Eine Standleitung benötigt ein spezielles Setup des S0 Interfaces. Danach kannst Du damit kein anderes Ziel mehr anwählen als das für die Standleitung eingestellte. Sie ist auch sehr kostenintensiv. Eine Flatrate ist eine ganz normale Wählverbindung und das Setup wird auch entsprechend durchgeführt. Der einzige Unterschied zur normalen Wählverbindung ist die Kostenstruktur (siehe Abschnitt <ref id="dialout" name="dialout">). Beachte auch, daß bei einer Flatrate die Verbindung durch den Provider normalerweise getrennt wird, wenn Du zu lange online bleibst - also kannst Du Dich nicht darauf verlassen, dauernd online zu sein, falls es das ist, was Du wolltest. <sect1> leased_nosignal: Wie funktioniert der Aufbau und das Beenden einer Verbindung mit D64S ohne Signalübertragung? <label id="leased_nosignal"> <p> Die Daten werden einfach hinaus gesendet! Außer mit einem ping gibt es keine andere Möglichkeit herauszufinden, ob die D64S- oder 2MBit-Leitung steht oder nicht. Nur S01- oder S02-Leitungen haben einen D-Kanal mit dem Signale übertragen werden können. Die besten bekannten Lösungen benutzen diese 16kb auch für den Datentransport um auf 144kb/s anstatt 128kb/s zu kommen (I4L kann nur bis 128kb/s übertragen). <sect1> leased_hisaxconfig: Wie konfiguriere ich meine Karte mit I4L auf einer D64-Standleitung? <label id="leased_hisaxconfig"> <p> Eine spätere Version des neuen HiSax-Treibers unterstützt D64. Die Konfiguration ist normal mit den folgenden Besonderheiten. HiSax muss im leased mode laufen: <code> /sbin/hisaxctrl HiSax 5 <channel> </code> wobei HiSax mit 'id=HiSax' aufgerufen wurde und <channel> entweder 0 oder 1 sein kann. Zusätzlich zur normalen Konfiguration sind die folgenden Befehle wichtig: <code> /sbin/isdnctrl bind HiSax,<channel> /sbin/isdnctrl eaz isdn0 1 /sbin/isdnctrl addphone isdn0 out 2 /sbin/isdnctrl addphone isdn0 in 3 </code> wenn der Name des Interfaces 'isdn0' lautet. Das Interface muss auf "up" 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 'AT&E0' (Verwendung des ersten B-Kanals) und 'ATS0=1' (automatisches Antworten auf das erste Signal). Dann versetzt Du HiSax in den leased mode: <code> /sbin/hisaxctrl HiSax 5 <channel> </code> wobei <channel> 0 oder 1 sein kann. Dadurch wird ein Anruf für MSN1 auf dem konfigurierten Kanal (0 oder 1) simuliert (Als incoming number wird LEASED0 gesetzt). <sect1> leased_splitline: Kann ich mit I4L einen Kanal als Standleitung und den anderen Kanal als Wählleitung benutzen? <label id="leased_splitline"> <p> Ja und nein. Du kannst HiSax für beide Arten gleichzeitig konfigurieren. Allerdings kannst Du nicht beide gleichzeitig benutzen (Du musst die Standleitung trennen bevor Du hinauswählst). Es kann ab und zu gleichzeitig funktionieren, jedoch ist der Treiber nicht dazu ausgelegt und das Resultat ist nicht vorhersehbar. Achte auch darauf, den jeweils richtigen Kanal zu benutzen! <!-- Dialin --> <sect> dialin: Konfiguration eines Einwahl(Dial-In)-Servers <label id="dialin"> <sect1> dialin_config: Wie kann ich anderen den Zugang über ISDN ermöglichen? <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 Möglichkeiten, Dial-In einzurichten. Es kommt darauf an, wie Du möchtest, daß sich andere bei Dir einwählen. <itemize> <item>Richte Netzwerk-Devices zur Einwahl über syncppp oder rawip ein. Setze die Option <tt/secure off/ um jedem die Einwahl zu ermöglichen oder <tt/secure on/ um die Einwahl nur über ISDN-Nummern zu ermöglichen, die Du mit <tt>isdnctrl addphone <device> in <Telefonnummer></tt> einträgst. Es wurde berichtet, daß Du die Option <tt/ms-dns/ für ipppd setzen musst damit die IPCP-Verhandlung funktioniert. <item>Benutze die ttyI* Devices für 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 '' ATZ OK AT&E123456 OK AT&B512 OK </code> Die Blockgröße wurde für 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 '"" ATZ OK AT&E123456 OK AT&B512 OK' -s 38400 ttyI0 </code> Der eleganteste Weg ist der Gebrauch von iprofd. Die Benutzung dieses Systemdienstes wird möglich durch den Befehl <tt>AT&W0</tt> in der I4L Modememulation. Du startest iprofd mit einem Pfad als Parameter, z.B. <tt>'iprofd /etc/i4lprofile'</tt>. Dann öffnest Du mit minicom oder einem anderen Terminalprogramm ein ISDN tty Device und gibst den nötigen AT-Befehl manuell ein. Danach gibst Du den Befehl <tt>AT&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 ermöglichen? <label id="dialin_manyparallel"> <p> Du musst exakt so viele gettys oder Netzwerk Interfaces einrichten, wie sich Leute gleichzeitig einwählen dürfen. Diese gettys oder Netzwerk Interfaces können die gleiche MSN benutzen, da mehrere Leute gleichzeitig mit der gleichen MSN verbunden sein können (solange freie B-Kanäle vorhanden sind). Es kann jedoch nur ein getty jeweils einem einzelnen ttyI* Device zugeordnet sein. <sect1> dialin_analogditalsamettyi: Kann ich ein ttyI*-Device so einrichten, daß es sowohl digitale als auch analoge Einwahlversuche annimmt? <label id="dialin_analogditalsamettyi"> <p> Dies ist nicht möglich, da der Digitalmodus andere Registereinstellungen erfordert als der analoge Modus. Daher musst Du für diesen Zweck zwei dazu bestimmte Devices einrichten. Beachte dabei, daß Einwahlversuche von analogen Modems nur bei den wenigen Karten möglich sind, bei denen sowohl die Karte als auch der isdn4linux-Treiber das unterstützen. <sect1> dialin_fixedip: Wie kann ich bei Einwahlen via ipppd jedem User eine feste IP zuordnen? <label id="dialin_fixedip"> <p> Spezifiziere die feste IP-Adresse in der Datei pap/chap-secrets zusammen mit dem Usernamen und Passwort (siehe man ipppd). <sect1> dialin_hdlc: Jemand möchte sich mit HDLC durch mein mgetty einwählen. 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 möglich, beim Empfang von LCP-Frames den pppd automatisch zu starten? <label id="dialin_autoppp"> <p> Ja, ist es. Dieses Feature nennt sich 'AutoPPP'. Siehe Konfiguration von mgetty. <sect1> dialin_passwd: Wie bringe ich (i)pppd dazu, bei einer Einwahl die Passwörter mit /etc/passwd statt mit /etc/ppp/pap-secrets zu vergleichen? <label id="dialin_passwd"> <p> ipppd muss mit den Optionen 'login' und 'auth' gestartet werden. In /etc/ppp/pap-secrets muss bei einer Beschränkung auf bestimmte User für jeden dieser User die folgende Zeile existieren: <code> login-name * '' * </code> Um allen Usern die Einwahl zu erlauben genügt: <code> * * '' * </code> Die letztere Wirkung tritt auch ein, wenn keine Datei pap-secrets existiert. <sect1> dialin_ignored: Ich bekomme dauernd die Meldung 'isdn_tty: call from XXX - YYY ignored'. Wieso ignoriert ISDN4LINUX (syncPPP) diesen Einwahlversuch? <label id="dialin_ignored"> <p> Da gibt es zwei mögliche Erklärungen. Entweder ist Deine eigene MSN (hier: YYY) nicht korrekt mit 'isdnctrl eaz interface YYY' eingetragen. Oder es wurde die Option 'isdnctrl secure interface on' gesetzt, ohne die Anrufe von dieser Nummer (hier: XXX) mit 'isdnctrl addphone interface in XXX' zu erlauben. <sect1> dialin_async: Eine SunISDN versucht sich in mein I4L-System einzuwählen. <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ßend ruft I4L zurück. Die Rufablehnung wird von der anderen Seite nicht erkannt und sie versucht, sich weiterhin bei I4L einzuwählen. <label id="callback_delay"> <p> Die meisten Probleme bei Callback können durch die Einstellung des callback delay mit <tt>isdnctrl cbdelay</tt> gelöst werden. Eine Sekunde auf der wählenden Seite A (den Callbackmodus auf 'out' setzen) und zwei Sekunden auf der angewählten Seite B (den Callbackmodus auf 'in' setzen) genügt in den meisten Fällen. <p> Der Grund für dieses Problem liegt in einem Designfehler des Treibers für den Verbindungslevel. A wählt B an um einen Rückruf auszulösen. B wehrt den Anruf ab und ruft A zurück und stellt so eine arbeitende Verbindung innerhalb weniger als 4 Sekunden her. Der auslösende Anruf von A nach B wird jedoch erst nach 4 Sekunden vom ISDN Dienstleister beendet (um anderen Geräten auf der B Seite eine Chance der Rufannahme zu geben). Wenn dieser Ruf beendet wird, wird leider auch die bestehende Verbindung von B nach A beendet. <sect1> callback_cisco: Aus irgendeinem Grund kann I4L nicht bei einer Cisco zurückrufen? <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 wählt möglicherweise so schnell und häufig, daß der ipppd keine Chance des Zurückrufens hat. Die Ciscos sind so programmiert (klare Aussage eines Cisco-Entwicklers): Wenn eine Cisco ein Paket empfängt, das durch eine auf 'dial on demand' eingestellte Telefonverbindung hinausgehen soll, und es ist ein B-Kanal zur Hinauswahl frei, wird sofort gewählt. Wenn in einem solchen Fall (wie bei Delta Internet seit einem halben Jahr) eine Cisco mit 8 B-Kanälen auf der anderen Seite steht und jemand ein einfaches 'ping RemoteIP' eingibt, wird die Cisco im schlimmsten Fall alle 8 B-Kanäle zum Hinauswählen benutzen. Natürlich kann sie nicht eine Telefonnummer gleichzeitig auf zwei B-Kanälen wählen (es wäre sofort "besetzt"). Die Programmierung der Cisco ist nicht so dumm, sie richtet den nächsten B-Kanal zum Hinauswählen ein bevor sie annimmt, daß der vorherige B-Kanal versagt hat. Solch eine Cisco arbeitet wie ein Maschinengewehr was das Hinauswählen betrifft. Und I4L bekommt keinen freien B-Kanal zur Einwahl wenn die Cisco das nicht will. Das Schlechte daran ist, daß eine Cisco immer (auch bei einer Konfiguration mit 'callback client' = I4L ruft zurück) erwartet, daß die andere Seite den Ruf annimmt, beide auflegen und dann der Rückruf kommt. Username und Password müssen beim Gebrauch von PPP immer vor einem Rückruf ausgetauscht werden. Dadurch stellt man sicher, daß die Person, die den Rückruf verlangt, auch dazu berechtigt ist. (Cisco scheint sich an die Regel der (Deutschen) Telekom zu halten, daß keine Informationen ohne B-Kanal-Verbindung ausgetauscht werden dürfen. Ein Rückruf-Verlangen, identifiziert nur durch die anrufende Telefonnummer, kann im Zweifelsfall als Übertragung von Informationen betrachtet werden). </quote> Torsten Hentschel <tt><htmlurl url="mailto:Torsten.Hentschel@DInet.de" name="Torsten.Hentschel@DInet.de"></tt> schrieb zusätzlich am 20. November 1996: <quote> Ich habe den Rückruf über PPP mit zwei CISCOs oft versucht. Nach meiner Erfahrung werden Versuche mit der Kombination CISCO - Linux nicht funktionieren. Eine CISCO handelt ein Rückruf-Verlangen immer per PPP aus. Dazu muss die Gegenseite zuerst den Ruf annehmen und die gesamte Verhandlung (Berechtigung,...) durchführen. Dann legen beide auf und der Rückruf wird durchgeführt. Die Befehle von isdnctrl in Linux beeinflussen nur die Netzwerk-Devices des Kernels und haben keinen oder nur wenig Einfluß darauf, wie ipppd Rückrufe durchführt. ipppd erkennt nicht, daß er einen Rückruf der Gegenseite erwarten soll. Daher lehnt er das Angebot der CISCO über PPP, daß sie zum Rückruf bereit ist, ab. Dann nimmt die CISCO an, daß sie nicht zurück rufen soll (sie erwartet ein explizites Rückruf-Verlangen während der PPP-Verhandlung zu sehen). Die CISCO bestätigt dies, wenn Du bei ihr einloggst und ihre Debug-Meldungen über 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 über telnet einloggen, nicht auf der Konsole, da sonst die CISCO das Loggen nicht über das serielle Interface durchführen kann. </quote> <sect1> callback_ascend: Callback von einer Ascend funktioniert nur, wenn ich im Ascend-Menue 'Active=Yes' eingebe. Dann wählt 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 'dial broadcast' auf "no" oder "off" setzen. Anderenfalls wird das Ding mit jedem Rundruf wählen. 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 Rückruf hinauswählt. </quote> <sect1> callback_banzai: Wie kann ich eine Banzai zurückrufen? <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 'c' zu der zu wählenden Nummer hinzugefügt werden. Dadurch ist sie bereit für den Rückruf. Zur Sicherheit kannst Du die Anzahl der Wählversuche der Banzai auf 1 setzen, sodaß es keine Rufüberschneidungen gibt. Auf der I4L-Maschine habe ich folgende Einstellungen vorgenommen: <code> isdnctrl callback isdn0 in isdnctrl cbdelay isdn0 1 </code> </quote> <sect1> callback_microsoft: Unterstützt ISDN4LINUX Microsoft Callback (CBCP)? <label id="callback_microsoft"> <p> Nein, das geht mit ISDN4LINUX nicht. Da es nicht so trivial zu implementieren ist, gibt es z.Zt. keinen Plan dafür. <!-- Isdnlog --> <sect> isdnlog: Isdnlog <label id="isdnlog"> <sect1> isdnlog_rates: Wo bekomme ich die aktuellsten Gebühreninformationen? <label id="isdnlog_rates"> <p> Dies ist die Homepage der "Rate Data Crew": <tt><url url="http://rates4linux.sourceforge.net/"></tt>. Dort bekommst die neuesten Dateien mit den Gebührenraten (die sich recht schnell ändern) oder kannst einen Blick auf die neuesten Nachrichten werfen. Es gibt für diesen Bereich auch eine Mailingliste. Du abonnierst diese durch eine Email mit dem Subject "subscribe" an: <tt><htmlurl url="mailto:rates4linux-users-request@lists.sourceforge.net" name="rates4linux-users-request@lists.sourceforge.net"></tt> (mit "help" im Subject bekommst Du Instruktionen). Du schreibst an die Mailingliste mittels Email an: <tt><htmlurl url="mailto:rates4linux-users@lists.sourceforge.net" name="rates4linux-users@lists.sourceforge.net"></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 für die dekodierten Dienstetypen in Deiner 'isdnlog.conf' angegeben hast ... </quote> <sect1> isdnlog_callerid1: Warum bekomme ich nicht immer die Nummer eines Anrufers ('Caller ID') durch die Deutsche Telekom übermittelt? <label id="isdnlog_callerid1"> <p> Aus Gründen des Datenschutzes werden Telefonnummern des analogen Netzes nicht übermittelt, es sei denn, der Anrufer hat dies der Telekom ausdrücklich erlaubt (das ist kostenlos). Die Teilnehmer mit einem ISDN-Anschluß müssen andererseits ausdrücklich die Übermittlung der Nummer durch die Telekom verweigern oder beantragen, die Übermittlung auf Call-by-Call-Basis (CLIR) zu verweigern oder zu gestatten. Die Verweigerung bei Call-by-call ist kostenlos, die Übertragung bei Call-by-Call kostenpflichtig. Es scheint jedoch für die Telekom <em>extrem</em> schwierig zu sein, das beim ersten Versuch richtig einzustellen. Wenn Du Wert auf die Übertragung der Caller ID legst, solltest Du sehr genau prüfen, ob alles richtig konfiguriert wurde. <sect1> isdnlog_callerid2: Erhalte ich die Caller ID bei ausländischen Anrufen? <label id="isdnlog_callerid2"> <p> Ja, bei Anrufen aus Ländern, die das mit der Caller ID nicht ganz so streng sehen wie Deutschland (z.B. USA, Canada). <sect1> isdnlog_spoofcallerid: Ich habe gehört, daß in Wirklichkeit zwei Caller IDs übertragen werden? <label id="isdnlog_spoofcallerid"> <p> Richtig, die eine ist 'benutzer-generiert' und nicht überwacht und die andere ist 'netzwerk-generiert' (durch die Telefongesellschaft). Wie der Name schon sagt wird die erste Nummer vom Benutzer bereitgestellt während die zweite vom Netzwerk übertragen wird. Die Bereitstellung einer Caller ID ist nur mit einer PBX über eine Point-to-Point Konfiguration mit dem Feature "CLIP no screening" möglich. <sect1> isdnlog_betterlogging: Wieso zeichnet isdnlog die Nummern, die mit meinen anderen ISDN-Geräten gewählt werden, nicht auf, obwohl es die Kosten aufzeichnet? <label id="isdnlog_betterlogging"> <p> Weil die ISDN-Karte, wie alle ISDN-Geräte, separate Leitungen für das Senden und das Empfangen hat (RX und TX Leitungen). Isdnlog müsste die Daten der empfangenden Leitung lesen um die gewählte Nummer zu erkennen. Dies ist nicht möglich, zumindest nicht für 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 Empfänger. Theoretisch ist es möglich, den gesamten D-Kanal mit nur einem Empfänger (sogar mit dem ISAC) auszulesen; die D-Bits der RX-Leitung werden (etwas verzögert) auf die TX-Leitung kopiert, über die die Zugriffskontrolle (Kollisionskontrolle) des S0-Busses stattfindet. Leider ist es mit dem ISAC nicht möglich, die echo bits im TA-Modus aus einem Register auszulesen. </quote> In den nächsten Fragen findest Du vielleicht eine Lösung. <sect1> isdnlog_reversedcard: Wie erreiche ich, daß isdnlog auch die Nummern zeigt, die von anderen ISDN-Geräten gewählt werden? <label id="isdnlog_reversedcard"> <p> Da gibt es mehrere Möglichkeiten: <itemize> <item> COLP: Erstens bietet die Deutsche Telekom den Service COLP (Connected Line Identification Presentation) für ca. DM 10 pro Monat an, der alle gesendeten Daten zurück sendet. Diese können dann von isdnlog von der TX-Leitung ausgelesen werden. <item> Umgepolte Karte/Dualmodus: Alternativ bietet isdnlog die Möglichkeit, mit einer zweiten, "umgepolten" ISDN-Karte zu arbeiten. 'Umgepolt' bedeutet in diesem Fall, daß die RX-Leitung mit dem TX-Anschluss der Karte verbunden wird; die RX Leitung der Karte sollte nirgends angeschlossen (stillgelegt) werden (selbst wenn andere Doks etwas anderes sagen)! Aufgrund dieser Schaltung kann diese ISDN-Karte für 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ß 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. <item> HFC-Karten: Einige HFC-PCI-Karten verfügen über ein spezielles Feature. Bei ihnen kann man einen B-Kanal opfern und dafür das gesamte D-Kanal-Protokoll auslesen - alles mit einer Karte. Dies wird auch von ISDN4LINUX unterstützt. Die HFC-Karte sollte dann wie folgt konfiguriert werden: <code> hisaxctrl <driver_id> 1 4 hisaxctrl <driver_id> 10 1 hisaxctrl <driver_id> 12 1 </code> Dem isdnlog muss die Kommandozeilenoption '-1' übergeben werden, daßer die HFC-Option nutzt. Beachte bitte, daß ein einfacher HFC-S aus hardwaretechnischen Gründen nicht genügt, es muss ein neuerer sein. Wenn Deine Karte mit dem HiSax-Typ 35 oder 37 läft sollte es funktionieren. <item> TK-Anlage: Eine dritte (theoretische) Möglichkeit besteht für die Besitzer einer eigenen TK-Anlage, an die die anderen Geräte angeschlossen sind. Wenn die TK-Anlage alle ausgehenden Gespräche protokollieren kann, so kann man das auslesen (üblicherweise über einen seriellen Anschluß). Es gibt einen Grund, warum isdnlog dies bisher nicht unterstützt. Zur Auswertung dieser Daten muss isdnlog sofort nach RELEASE COMPLETE darauf zugreifen können, bevor irgendwelche anderen Daten über den D-Kanal geschickt werden. Die bisher getesteten Anlagen waren dazu alle zu langsam (besonders die verbreitete ISTEC). Die einzige Möglichkeit wäre, die Daten hinterher zusammenzufügen. 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 Verfügung stellen - Matthias Hessler <tt><htmlurl url="mailto:hessler@wi-inf.uni-essen.de" name="hessler@wi-inf.uni-essen.de"></tt>). </itemize> <sect1> isdnlog_rategraphic: Wie kann ich die Transferraten grafisch anzeigen? <label id="isdnlog_rategraphic"> <p> Du kannst 'xisdnload' benutzen. Clemens Perz <tt><htmlurl url="mailto:listperz@gwsnet.ttt.de" name="listperz@gwsnet.ttt.de"></tt> beschrieb am 06. Februar 1997 eine weitere Möglichkeit: <quote> Auf Sunsite fand ich ein kleines Tool für die Konsole namens netload und passte es für 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ß jede beliebige Telefonnummer übertragen 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 täuschen, die den Screening Indicator (Anzeige, daß die übertragenen Nummern auf Korrektheit geprüft werden) nicht auswerten - isdnlog (>=2.52) zeigt sowohl die korrekte als auch die vorgegebene Telefonnummer an. 'CLIP, no screening' wurde ursprünglich geschaffen um firmeninterne Rufnummern im öffentlichen Netz zu übertragen. </quote> <sect1> isdnlog_soundbusy: Ich habe ein Script erstellt um Sound mit cat auf /dev/sound oder einem anderen Gerät 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 höhere Instanz, die den Zugriff auf das Sound-Device koordiniert. Das könnte 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>/dev/null</tt>). Warum erzählt mir ISDN dann: <tt>Can't start '/usr/local/bin/play anruf.au 2>/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 ausführbar (chmod +x): <code> #!/bin/sh /usr/local/bin/play anruf.au 2>/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>-t1</tt> oder <tt>-t2</tt> startest, denn dann wird die Zeit mit der digitalen Vermittlungsstelle abgeglichen. Der Bildschirmschoner denkt, daß mehr als x Minuten vergangen sind und das bewirkt einen kurzen Blackout des Bildschirms. <!-- Audio --> <sect> audio: Umgang mit Audio über ISDN <label id="audio"> <p> Die meisten der hier aufgeführten Antworten stammen aus dem - jetzt leider nicht mehr aktuellen - vbox Manual von Matthias Hessler <tt><htmlurl url="mailto:hessler@isdn4linux.de" name="hessler@isdn4linux.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/˜ui161ab/www/isdn/"></tt> - klicke auf 'Audio!'. Die Antworten sind zwar sehr veraltet, können Dir aber vielleicht ein paar Hinweise geben? Eine aktuellere Adresse hat sich als Platz für die weitere vbox-Entwicklung etabliert: <tt><url url="http://innominate.org/projects/vbox/index.php3"></tt> <sect1> audio_links: Wo finde ich hilfreiche Links zu vbox? <label id="audio_links"> <p> Es gibt mehrere Skripts zur Verwendung mit vbox. Der Autor der FAQ ist allerdings nicht auf dem Laufenden. Das letzte Skript, über das ich Informationen habe, liegt auf: <tt><url url="http://innominate.org/projects/vbox/index.php3"></tt>. Schickt mir bitte Informationen über hilfreiche Links, HowTos oder anderes... Es gibt eine Dokumentation in den Kernel-Sources: <tt>/usr/src/linux/Documentation/isdn/README.audio</tt> <sect1> audio_format: Welches Format benutzt vbox für 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 für 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 für 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, für 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 > /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 für 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 für uLaw formatieren (für 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 > file.msg cat file.ul >> file.msg </code> Vielleicht musst Du andere Parameter für SOX eingeben. Als ersten Test kannst Du <tt>cat file.msg > /dev/audio</tt> versuchen. Du solltest dabei etwas hören können. </quote> <sect1> audio_dtmf: Wie kann ich die Erkennung von Wähltönen (DTMF) verbessern? <label id="audio_dtmf"> <p> Du kannst die Parameter DTMF_TRESH, SILENCE_TRESH und H2_TRESH in der Datei <tt>linux/drivers/isdn/isdn_audio.c</tt> anpassen. Ein DTMF-Ton wird erkannt, wenn die Amplitude der korrekten Frequenz größer als DTMF_TRESH, und die Amplitude der zweiten Harmoniefrequenzkleiner als H2_TRESH ist. Wenn ein Wählton erkannt wird obwohl nicht geaählt wurde, versuche, die Werte von DTMF_TRESH zu erhöhen und/oder senke die Werte von H2_TRESH. Probiere am besten mehrere Telefone aus - die besten Parameter erhält man erst nach einigem Tuning. <!-- Audio Troubleshooting --> <sect1> audio_e0265: Mein vboxgetty bekommt einen Modem-Timeout und meldet den Fehler E0265. <label id="audio_e0265"> <p> Vermutlich benötigst Du einen Patch, der vor einiger Zeit (08. Dezember 1999) in der Mailingliste gepostet wurde. <sect1> audio_noanswer: Mein vboxgetty beantwortet keine ankommenden Gespräche. <label id="audio_noanswer"> <p> vboxgetty benötigt '.vboxrc' im Verzeichnis des Benutzers, für 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 'cat xxx > /dev/audio' abspielen kann; wie kann ich mir dann die Nachricht anhören? <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 zurück zu kopieren :-) ). Siehe Frage <ref id="audio_recordmsg" name="audio_recordmsg">. <sect1> audio_earlyrecording: Am Anfang einer von vboxgetty aufgenommenen Nachricht hört 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 Lösung bekannt. <!-- Countryspecific pecularities --> <sect> Länder, in denen ISDN4LINUX unterstützt wird <label id="countries"> <sect1> country_which: In welchen Ländern funktioniert ISDN4LINUX? <label id="country_which"> <p> Uns sind zumindest die folgenden Länder bekannt: <itemize> <item>Australien <item>Belgien <item>Brasilien (siehe Frage <ref id="country_brazil" name="country_brazil">) <item>Dänemark <item>Deutschland <item>Finnland <item>Frankreich (siehe Frage <ref id="country_france" name="country_france">) <item>Großbritannien (siehe Frage <ref id="country_uk" name="country_uk">) <item>Indien <item>Irland <item>Israel <item>Italen (siehe Frage <ref id="country_italy" name="country_italy">) <item>Japan <item>Luxemburg <item>Niederlande (siehe Frage <ref id="country_netherlands" name="country_netherlands">) <item>Norwegen <item>Österreich (siehe Frage <ref id="country_austria" name="country_austria">) <item>Pakistan (siehe Frage < <ref id="country_pakistan" name="country_pakistan">) <item>Peru <item>Polen <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">) <item>Vereinigte Arabische Emirate </itemize> Wenn Dein Land nicht in dieser Liste steht, so bedeutet das nicht, daß I4L dort nicht funktioniert. Es bedeutet nur, daß wir bisher darüber noch keinen Bericht bekamen. Suche in der Mailingliste nach anderen Usern aus Deinem Land. <sect1> country_certified: Ist ISDN4LINUX von den Telekommunikations-Behörden für den Betrieb zugelassen? <label id="country_certified"> <p> Das kommt auf den benutzten Treiber und Dein Land an. Wir haben nur Informationen über Deutschland (sende mir Informationen über andere Länder, wenn Du welche hast). Diese gelten jedoch auch für die meisten europäischen Länder, da eine Zulassung in einem Staat der EU auch von allen anderen Staaten der Gemeinschaft akzeptiert werdem muss. Diese Treiber sind für den Betrieb in Deutschland zugelassen: <itemize> <item>Aktive Karten: die Zulassung gilt für die komplette Karte inklusive der Firmware. Daher gilt die Zulassung auch für den Betrieb dieser Karten mit ISDN4LINUX. <item>Karten der Serie Elsa Quickstep (neuer Name: Microlink PCI) <item>Eicon Diva 2.01 PCI <item>Passive Karten: alle Karten mit dem HFC-S Chipset. </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 verfügbaren EAZ nehmen. Zwei EAZs haben jedoch eine spezielle Bedeutung und können Probleme verursachen: <verb> EAZ 0: Gruppenruf (alle Telefone der Anlage läuten) EAZ 9: Gruppenruf (kein Telefon der Anlage läutet) </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 würde die 0 nicht benutzen, da es für meinen Geschmack zu wahrscheinlich ist, daß I4L alle Audio-Verbindungen an sich reissen würde. </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 für Nebenstellen ist normalerweise die letzte Ziffer der Nebenstellennummer. Als EAZ für den Linux Computer solltest Du in diesem Fall '6' benutzen. </quote> <sect1> 1tr6_spv: Was ist eine SPV? <label id="1tr6_spv"> <p> SPV steht für 'semipermanente Verbindung' und ist eine (mittlerweile überholte) Spezialität der Deutschen Telekom. Wie bei einer Standleitung ist der Verbindungspartner festgelegt, die Verbindung wird jedoch nur hergestellt, wenn sie benötigt wird (was dann allerdings viel schneller als bei einer Wählverbindung geschieht). Da die Telekom die Leitung in der übrigen Zeit für andere Verbindungen nutzen kann, ist eine SPV billiger als eine Standleitung. Diese SPV darf nicht mit der Österreicher SPV verwechselt werden. Die Österreicher SPV besteht aus einem Kanal als Standleitung und einem Kanal als Wählleitung. <sect1> 1tr6_spv: Unterstützt ISDN4LINUX SPVs? Wie? <label id="1tr6_spv"> <p> Zur Aktivierung von SPVs musst Du ein 'S' vor die zu wählende Nummer setzen. Das funktioniert recht gut mit Modememulationen und auch mit definierten Netzwerk-Interfaces. <sect> Andere Länder <sect1> country_austria: Österreich: Wir haben weder eine MSN noch eine EAZ, nur eine normale Telefonnummer. Was müssen wir für I4L angeben? <label id="country_austria"> <p> In Österreich werden ISDN-Leitungen standardmäßig <em>ohne</em> MSN installiert (im Unterschied zu Deutschland). Das bedeutet, daß bei einem Anruf für die installierte ISDN-Nummer beim Empfänger ein 'Gruppenruf' angezeigt wird. I4L meldet dann 'incoming call without CPN' ('CPN' = called party number (Nummer des angewählten Empfängers)). Lösung: Setze die empfangende 'MSN' (in Wirklichkeit: keine) auf '0', 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 *zusätzlicher* MSN). Das gleiche gilt für die Einstellungen für Dein getty. Andererseits solltest Du die hinauswählende MSN korrekt eintragen (ohne Ortsvorwahl) -- obwohl eine falsche MSN von Deinem Telefondienste-Anbieter durch die richtige MSN ersetzt wird. <sect1> country_brazil: Brasilien: Wie sieht unsere MSN aus? <label id="country_brazil"> <p> Bei Telemar ist die MSN Deine Telefonnummer ohne Ortsvorwahl. Brasilien nutzt EuroISDN. Der ISDN-Dienst DVI (von Telemar) basiert auf einer Hardware-Lösung von Teles (BRI PCI-Karte), die als NETjet-Karte konfiguriert werden muss. Da jedoch diese Karte nicht zu den in Brasilien gehandelten Motherboards kompatibel ist, bietet Telemar auch eine Teles 16.3c ISA an. Dafür findest Du eine Hilfe zur Konfiguration auf: <url url="http://www.olinux.com.br">. <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ß Du auch Sub-Addressing nutzen kannst. Wenn Deine Telefonnummer 01 41 33 67 87 lautet und Du die Subaddresse 02 nutzen willst, trägst Du als lokale Nummer des HiSax-Treibers die 6787.02 ein. <sect1> country_italy: Italien: 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 und seit Mitte 2001 inklusive der vorangestellten 0. Wenn z.B. meine Telefonnummer 72004681 und meine Ortsvorwahl 045 lauten, so ist meine MSN 04572004681. Nun wird ISDN4LINUX mit der Einstellung <tt>AT&E04572004681</tt> gut funktionieren. <sect1> country_netherlands: Niederlande: Wie sieht unsere MSN aus? <label id="country_netherlands"> <p> In den Niederlanden enthält die MSN (anders als in Deutschland) <em>auch die Ortsvorwahl</em> - allerdings ohne die vorangestellte 0. <sect1> country_northamerica: Nordamerika: Können wir ISDN4LINUX bei uns nutzen? <label id="country_northamerica"> <p> Ja. Es gilt jedoch, einige Eigenheiten zu beachten. In Nordamerika liefern die Telefongesellschaften nur einen U- anstelle eines S-Anschlusses. Das bedeutet, daß sich der Kunde den Netzwerk-Abschluss (NT-1) selbst besorgen muss. Die einfachste Lösung besteht darin, eine Karte mit einem integrierten NT-1 zu kaufen, die zu dem U-Interface passt. Als Alternative kannst Du auch einen externen NT erwerben, der zwischen U- und S-Interface sitzt, und Deine ISDN-Karte mit dem S-Interface (ohne NT-1) daran anschließen. In Nordamerika wird das Kanal-Protokoll NI-1 benutzt. NI-1 ist zwar mit DSS1 verwandt (beide sind Q.931-Protokolle), besitzt jedoch ganz verschiedene Funktionsgruppen. Mit Hilfe von Traverse Technologies (<tt><url url="http://www.ttcomms.com"></tt>) wurde die Unterstützung von NI-1 vor kurzem in HiSax, den Treiber für passive Karten implementiert. Da Traverse Technologies bei der Implementierung und Erprobung half, empfehlen wir den Kauf ihrer NETspider-U-Karte (mit integriertem NT-1) als Dank für ihre Mitwirkung bei der Open Source Entwicklung von ISDN4LINUX. Details zur Konfiguration Deines Systems mit HiSax findest Du in /usr/src/linux/Documentation/isdn/README.HiSax (Protokolltyp 4, SPID muss mit Deiner eigenen Nummer angegeben werden). Vor geraumer Zeit hat die Firma 'Spellcaster' einen eigenen ISDN4LINUX-Treiber für ihre (aktiven) Karten geschrieben. Es gibt sowohl BRI- als auch PRI-Karten. Weitere Informationen gibt es unter: <tt><url url="http://www.spellcast.com"></tt> Die aktiven Eicon DIVA Karten funktionieren ebenfalls gut in USA. Es gibt 5ESS und NI Treiber, die z.Zt. auf UltraSparc portiert werden. <sect1> country_pakistan: Pakistan: Was sollten wir als MSN eingeben? <label id="country_pakistan"> <p> Anscheinend gibt es dort keine MSN-Funktion. Daher sollte als MSN die "0" benutzt werden. <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 '0' gesetzt werden. Wenn mehr als eine MSN beantragt wurde, sollten diese wie üblich eingetragen werden. <sect1> country_switzerland: Schweiz: Wir haben weder eine MSN noch eine EAZ, nur eine normale Telefonnummer. Was müssen 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 ("6" wenn Deine Telefonnummer "123456" lautet). <sect1> country_uk: Großbritannien: Was sollen wir als MSN benutzen? <label id="country_uk"> <p> Das hängt von Deiner Art von ISDN ab. <itemize> <item> ISDN: Erlaubt keine normalen MSNs in Groß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, i.a. mit <tt>AT&E0</tt>) 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 ungültige Nummer einstellst). <item> ISDN2e: Scheint normales EuroISDN zu sein. Du bekommst MSNs, die Du benutzen und in ISDN4LINUX einstellen kannst. Die MSN besteht angeblich aus den letzten 6 Ziffern Deiner Telefonnummer (falls die Nummer kürzer als 6 Ziffern ist kannst Du versuchen, Ziffern der Ortsvorwahl dazu zu nehmen). <item> BTHH (BT HomeHighway): zusätzlich zu 2 ISDN-Anschlüssen 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. Zusätzliche MSNs sind <em>nicht</em> verfügbar (benutze darum '0' als MSN für ISDN4LINUX). Gebührenanzeige ist gegen extra Bezahlung erhältlich. Stelle in ISDN4LINUX nur Deine 'digitale' Telefonnummer als MSN ein. <item> BTBH (BT BusinessHighway): Der zusätzliche 'Papierkrieg' inklusive einer Bonitätsprüfung verschafft Dir MSNs und andere Extras gegen gesonderte Bezahlung. Darüber hinaus ist es ziemlich so wie bei BTHH. Trage in ISDN4LINUX Deine 'digitale' Nummer und/oder Deine MSNs ein. </itemize> Beachte bitte, daß BT ein unerwartetes 'Feature' bei internationalen Anrufen bietet. Bei internationalen Datenverbindungen musst Du 000<Landescode> (drei Nullen) wählen anstatt dem üblichen 00<Landescode> (zwei Nullen) für internationale Sprechverbindungen. Übrigens: bei der Einstellung einer BT Speedway Karte kannst Du die AVM Fritz Karte auswählen (entweder ISA oder PCI - je nachdem, welche Du hast; siehe Frage <ref id="hardware_fritz" name="hardware_fritz">). Du solltest Dir auch einmal die Seite <htmlurl url="http://www.wurtel.demon.nl/i4l-howto-uk.html" name="http://www.wurtel.demon.nl/i4l-howto-uk.html"> ansehen. <sect> misc: Verschiedenes <label id="misc"> <sect1> misc_standards: Welche Standards gelten für die ISDN Protocol Layers? <label id="misc_standards"> <p> Dies sind die hauptsächlichen Standards: <itemize> <item> Layer 1: ITU I.430 und ETSI 300 012-1 <item> Layer 2: ITU Q.921 und ETSI 300 125-1 <item> Layer 3: ITU Q.931 und ETSI 300 102-1 (plus einige Änderungen und Erläuterungen in ETSI 300 403) </itemize> Alle Layers werden auch in TBR3 beschrieben. Die Standards sind für Studienzwecke frei erhältlich bei <url url="http://www.etsi.org">. <sect1> misc_nonullcable: Kann ich zwei ISDN-Geräte direkt mit einer Art 'Nullmodem-Kabel' verbinden? <label id="misc_nonullcable"> <p> Das ist nur möglich, wenn eine der Karten im NT-Modus läuft (im Glossar steht, was das ist: <ref id="glossary_ntmode" name="glossary_ntmode">). Davon gibt es nur wenige. Alle anderen Karten benötigen einen NTBA oder eine TK-Anlage mit internem Bus um sich "zu unterhalten". Mehr dazu bei <ref id="feature_crossedcable" name="feature_crossedcable">. <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 ändere lib/modules/modules.isdn (oder wie auch immer die Datei heisst, die die Module auflistet und vom Script gelesen wird) entsprechend. Glücklicherweise 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 zusätzliche Hardware macht sie teurer. Dafür 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 benötigt. Abhängig von der Hardware / dem Treiber sind spezielle Aufgaben wie z.B. das Senden/Empfangen von G3-Faxen möglicherweise sehr leicht zu implementieren. Wenn Du diese Features brauchst, dann kaufe Dir eine aktive Karte. <tag/AOC-D/ "Advice Of Charge During the Call" (Gebührenübermittlung während des Gespräches). <tag/AOC-E/ "Advice of Charge at the End of the Call" (Gebührenübermittlung am Ende des Gespräches). In Deutschland ist dieser Service im 'Komfortanschluß' enthalten. <tag/BRI/ BRI steht für Basic Rate Interface und ist das am weitesten verbreitete Interface. In Europa enthält ein BRI 2 B-Kanäle für die Datenübertragung und 1 D-Kanal für die Verwaltung der Datenübertragung. Die Alternative wäre ein PRI (Primary Rate Interface). <tag/CLIP/ CLIP (Calling Line Identification Presentation = Anzeige der Anruferkennung) kann vom ISDN-Dienstleister angeboten werden. Wenn Du jemanden anrufst so wird Deine Telefonnummer an das andere Telefon übertragen. Das Gegenteil zu CLIP ist CLIR. In Deutschland ist CLIP der Normalfall. <tag/CLIR/ CLIR (Calling Line Identification Restriction = Einschränkung der Identifikation der Anruferkennung) kann vom ISDN-Provider angeboten werden: man kann (von Ruf zu Ruf) die Übermittlung der eigenen Caller ID an den Angerufenen vermeiden. Das Gegenteil von CLIR ist CLIP. In Deutschland muss das beantragt werden, ist aber kostenfrei (die Call-by-Call-Übermittlung 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 Wähl-Protokoll. Du bekommst Rückmeldungen über Deine ausgehenden Verbindungen von Deiner Telefongesellschaft. Normalerweise bekommst Du die gleiche Nummer wie vorher geliefert. Bei Anrufweiterleitung kann das jedoch auch eine andere Nummer sein. 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 Äquivalent für 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 Vorläufer des Euro-ISDN). <tag/HDLC/ Ein gebräuchliches low-level Protokoll, normalerweise für die Verbindung Deines Computers mit Deinem Internet Provider. Für die Verbindung zu einer Mailbox wird normalerweise X.75 benutzt. <tag/HSCX/ Ein Siemens-Chip, den man wie den ISAC auf vielen passiven Karten findet. Er übernimmt den seriellen Bus vom ISAC und setzt zwischen diesem und den B-Kanälen 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 für 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 verfährt er entgegengesetzt. <tag/leased line/ <label id="glossary_leased"> Deine Telefongesellschaft kann die Verbindung zwischen zwei ihrer ISDN-Benutzer fest verdrahten. Dann sind diese Teilnehmer ständig miteinander verbunden ohne jeweils den anderen anwälen zu müssen. Sie können allerdings mit dieser Leitung auch keinen anderen Anschluß anwählen. <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/NT/ NT ist eine Abkürzung für Network Terminator. Dies ist die Schnittstelle zwischen dem ISDN-Benutzer und dem ISDN Provider. Es ist eine kleine Dose an die der Benutzer seine ISDN-Karte über den sogenannten S0-Bus anschließt. In den meisten europäischen Ländern stellt der ISDN Provider die NT-Box. Die Benutzer in Nordamerika müssen sie meist selbst kaufen. Daher ist dort der NT oft in die ISDN-Karte integriert. <tag/NT mode/ <label id="glossary_ntmode"> Wenn mehrere Geräte an die ISDN-Verbindung angeschlossen sind, verhalten sich alle Benutzer-Geräte als Slave während der Netzwerk Terminator (NT) als Master die Kommunikation auf dem S0-Bus regelt. Dieses Verhalten des NT wird NT Modus genannt. Benutzer-Geräte sind normalerweise nicht dazu fähig. Daher können Benutzer-Geräte nicht miteinander kommunizieren, selbst wenn sie durch ein gekreuztes Kabel verbunden sind. Nur einige spezielle ISDN-Karten mit dem HFC Chipset können im NT Modus laufen und über ein gekreuztes Kabel direkt mit anderen ISDN Benutzer-Geräten kommunizieren. <tag/multi-device mode/ <label id="glossary_multidevicemode"> Dein ISDN-Anschluss ist entweder ein Mehrgeräteanschluss oder ein Anlagenanschluss). Der Mehrgeräteanschluss ist die normale Anschlussart für private ISDN-Benutzer oder sehr kleine Firmen. Der Benutzer kann mehrere Geräte mit dem ISDN-Anschluss verbinden. Der ISDN Provider stellt ein kleine Anzahl von festgelegten Telefonnummern (normalerweise bis zu 10) zur Verfügung. <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 softwaremäßig. Dadurch sind sie kostengünstiger, jedoch nur dort einsetzbar, wo die CPU die zusätzliche 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) für fast alle passiven Karten eingesetzt werden. <tag/PBX/ Eine PBX (Private Branch eXchange = Private Telefonanlage) dient dazu, verschiedene interne Geräte mit dem ISDN-Netzwerk zu verbinden. Das gilt normalerweise für analoge Geräte, die nicht direkt an das ISDN-Netzwerk angeschlossen werden können. Die PBX kann auch einen internen digitalen S0-Bus für den Anschluß von ISDN-Geräten zur Verfügung stellen, über den interne Gespräche ohne Umweg über die Vermittlungsstelle geführt werden können (dabei werden Gebühren der Telefongesellschaft vermieden). <tag/Point-to-Point Mode/ <label id="glossary_pointtopointmode"> Dein Interface kann entweder im Multi-Device-Mode (Mehrgeräteanschluss) oder im Point-to-Point-Mode (Anlagenanschluss) konfiguriert werden. Der Anlagenanschluss ist die normale Anschlussart für Unternehmen. Der Benutzer kann nur ein einzelnes Gerät mit dem ISDN-Anschluss verbinden, das dann alle Anrufe annehmen und behandeln muss (üblicherweise eine TK-Anlage). Der ISDN Provider wird diesem ISDN-Anschluss einen Telefonnummernbereich zuteilen. Jeder Anruf an eine Nummer in diesem Bereich wird an diesen Benutzer gehen. Der ISDN Provider überlässt dem Benutzer die Zuordnung der letzten Ziffern an einzelne Nebenstellen. Diese Anschlussart erlaubt zusätzliche Eigenschaften, ist allerdings auch kostspieliger. <tag/PRI/ PRI steht für Primary Rate Interface und wird benutzt, wenn ein einzelnes oder mehrere BRI nicht genügend Bandbreite liefern. In Europa enthält ein PRI 30 B-Kanäle für den Datenverkehr und 1 D-Kanal für 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 für 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 überlassen. Dadurch sind sie besser für spezielle Aufgaben geeignet, z.B. für das Senden und Empfangen von analogen G3-Faxen. Für ihre spezielle Hardware wird ein besonderer Treiber benötigt. Beachte aber, daß aus Marketing-Gründen manche Karten als semi-aktiv bezeichnet werden, in Wirklichkeit aber passive Karten sind (z.B. Teleint). <tag/subaddressing/ Beim Wählen kann man eine zusätzliche Nummer angeben, die Sub-Addresse. Die Subaddresse wird an die Gegenstelle übertragen, die darauf reagieren kann. Dieses Feature ist vielleicht nicht überall verfügbar, zumindest nicht kostenlos (außer in Frankreich). <tag/TEI/ TEI steht für Terminal End Identifier. Die lokale Vermittlungsstelle (bei einem internen S0 die PBX) ordnet automatisch oder permanent jedem Endgerät einen TEI zu. Das ermöglicht die Addressierung des D-Kanals. TEIs haben die folgende Werte: <itemize> <item>0-63 = permanente TEIs (z.B. 0 für Point-to-Point Verbindungen) <item>64-126 = automatisch zugeteilte TEIs <item>127 = Sendung an alle Geräte (z.B. ein eingehender Anruf) </itemize> <tag/UUS/ UUS steht für User-to-User Signalling. Es bedeutet, daß beim Anruf einige Bytes mit Benutzerdaten zusammen mit den Daten für den Verbindungsaufbau gesendet werden. Diese Eigenschaft wurde in Deutschland in der Vergangenheit zu stark ausgenutzt, sodaß die lokalen Vermittlungsstellen immer weniger freie Kanäle hatten (die Rufanmeldung bewirkt die Reservierung eines B-Kanals). Seither ist dieses Feature normalerweise kostenpflichtig und die Menge der Daten ist limitiert (abhängig von Deinem ISDN-Provider). Sieh Dir die Benutzungsbestimmungen an. Kurz gesagt, ist es nur erlaubt, wenn Du tatsächlich eine Verbindung aufbauen willst. Beachte bitte, daß laut einigen Berichten einige fehlerhafte PBX (wie die ISTEC 1003) eine Verbindung ablehnen, wenn ihnen die Unterstützung für UUS angezeigt wird. <tag/X.75/ Ein verbreitetes low-level Protokoll, normalerweise zur Verbindung Deines Computers mit einer Computer_Mailbox. Zur Verbindung mit dem Internet wird allgemein HDLC benutzt. </descrip> </article>