$FreeBSD: stable/7/share/examples/isdn/contrib/i4b-ppp-newbie.txt 77177 2001-05-25 13:25:59Z hm $

                              PPP mit isdn4bsd
     _________________________________________________________________
   
   Version 1.01
   Datum: 22.02.1999
   Autor: [1]Dominik Brettnacher <domi@saargate.de>
   
   - Anmerkungen und Verbesserungsvorschlge sind willkommen -
   
    1. vorab
       Dieser Text soll Neulingen helfen, sich mittels isdn4bsd und BSD
       per PPP z.B. bei ihrem Provider einwhlen zu knnen.
       isdn4bsd bringt einiges an Dokumentation und
       Konfigurationsbeispielen mit, jedoch ist es nicht immer leicht,
       die entsprechenden Hinweise gut miteinander zu kombinieren, so da
       am Schlu das dabei herauskommt, was man haben mchte.
    2. Wo bekomme ich isdn4bsd?
       hier solle es keine allzu groen Probleme geben: isdn4bsd ist auf
       dem FTP-Server [2]ftp.consol.de erhltlich. Man beachte dabei, da
       man sich nicht, wie blich, als anonymous, sondern als isdn4bsd
       einloggen mu. Benutzer von Browsern geben als Adresse
       [3]ftp://isdn4bsd@ftp.consol.de und als Passwort ihre
       eMail-Adresse an.
       Wertvolle Informationen findet man in der Datei README.
    3. Welche ISDN-Karten werden untersttzt?
       Informationen darber findet man in der README-Datei.
    4. Ich benutze einen externen ISDN-Adapter - was nun?
       Externe Adapter bentigen keine direkte Untersttzung, weil sie
       ber die serielle Schnittstelle angesteuert werden. Man kann also
       das normale PPP benutzen. man ppp hilft hier sicher weiter.
    5. isdn4bsd installieren
       Wie man isdn4bsd installiert, steht in der Datei
       FreeBSD/INSTALLATION (fr NetBSD und OpenBSD analog). Eine
       Beispielkonfiguration des Kernel sieht so aus:
[...]
#
# i4b passive ISDN cards support (isic - I4b Siemens Isdn Chipset driver)
# note that the ``options'' and ``device'' lines must BOTH be defined !
#
# Non-PnP Cards:
# --------------
#
# AVM A1 or AVM Fritz!Card
options "AVM_A1"
device    isic0 at isa? port 0x300 net irq 15 flags 4 vector isicintr
#
# ISDN Protocol Stack
# -------------------
#
# Q.921 / layer 2 - i4b passive cards D channel handling
pseudo-device  "i4bq921"
#
# Q.931 / layer 3 - i4b passive cards D channel handling
pseudo-device  "i4bq931"
#
# layer 4 - i4b common passive and active card handling
pseudo-device  "i4b"
#
# ISDN devices
# ------------
#
# userland driver to do ISDN tracing (for passive cards only)
pseudo-device   "i4btrc" 4
#
# userland driver to control the whole thing
pseudo-device   "i4bctl"
#
# userland driver for access to raw B channel
#pseudo-device   "i4brbch"       4
#
# userland driver for telephony
#pseudo-device   "i4btel"        2
#
# network driver for IP over raw HDLC ISDN
#pseudo-device   "i4bipr"     4
# enable VJ header compression detection for ipr i/f
#options       IPR_VJ
#
# network driver for sync PPP over ISDN
pseudo-device  "i4bisppp"     1
pseudo-device  sppp      1
#
#---------------------------------------------------------------------------
[...]
       Nachdem ein neuer Kernel kompiliert und das System neugestartet
       wurde, kann es weiter gehen.
    6. Konfiguration isdnd.rc
       Die fr ISDN wichtigste Konfigurationsdatei ist
       /etc/isdn/isdnd.rc. Mit man isdnd.rc erhlt man Informationen ber
       die Einstellungen, die man dort vornehmen kann. Im Folgenden ein
       Beispiel:


#==============================================================================
# SYSTEM section: isdnd global configuration parameters
#==============================================================================
system

# accounting
# ----------

acctall         = on                    # generate info for everything
acctfile        = /var/log/isdnd.acct   # name & location of accounting file
useacctfile     = yes                   # generate accouting info to file

# monitor
# -------

monitor-allowed = no                    # global switch: monitor on/off
monitor-port    = 451                   # default monitor TCP port

# Monitor rights are granted due to the most specific host/net spec, i.e. in
# the example below host 192.168.1.2 will have the rights specified on that
# line, even so it belongs to net 192.168.1.0/24 as well.
#
# A monitor specification may either be:
#
#  - the name of a local (UNIX-domain) socket; this MUST start with a "/"
monitor         = "/var/run/isdn-monitor"
monitor-access  = fullcmd
monitor-access  = channelstate, logevents
monitor-access  = callin, callout

# ratesfile
# ---------

ratesfile       = /etc/isdn/isdnd.rates # name & location of rates file

# regular expression pattern matching
# -----------------------------------

#regexpr        = "connected.*KTS"      # look for matches in log messages
#regprog        = connectKTS            # execute program when match is found

# realtime priority section
# -------------------------

rtprio          = 25                    # modify isdnd's process priority

###############################################################################
entry
name                    = lf
usrdevicename           = isp
usrdeviceunit           = 0
isdncontroller          = 0
isdnchannel             = -1
local-phone-incoming    = 012345678
remote-phone-incoming   = 876543210
local-phone-dialout     = 012345678
remote-phone-dialout    = 876543210
remdial-handling        = first
dialin-reaction         = accept
dialout-type            = normal
b1protocol              = hdlc
idletime-incoming       = 240
idletime-outgoing       = 30
earlyhangup             = 5
ratetype                = 0
unitlength              = 90
unitlengthsrc           = rate
dialretries             = 3
dialrandincr            = on
recoverytime            = 25

connectprog             = is-up
disconnectprog          = is-down

       Wichtig sind hier fr den Neuling die vier *-phone-* Eintrge, die
       jeweils die lokale Rufnummer und die der Gegenstelle fr ein- und
       ausgehende Verbindungen angeben.
   
    7. ISDN-Verbindungen aufbauen
       um ISDN-Verbindungen aufzubauen, bedarf es einiger Befehle, die
       beim Systemstart aufgerufen werden. Man kann sie zum Beispiel am
       Ende von /etc/rc.local unterbringen. Hier gibt es aber durchaus
       noch andere Lsungen:
       [...]
       # start ISDN
       echo -n 'ppp / ISDN...'
       echo -n 'isdnd...'
       /usr/local/bin/isdnd
       echo -n 'ifconfig...'
       ifconfig isp0 link1 0.0.0.0 1.1.1.1 netmask 0xffffff00
       ifconfig isp0 down
       echo -n 'sppp...'
       spppcontrol isp0 myauthproto=pap myauthname="xxx"
       myauthsecret="xxx" hisauthproto=none
       echo -n 'ifconfig...'
       ifconfig isp0 up
       echo -n 'setting routes...'
       route add default -interface isp0
       echo '.'
       ndern mu man hier eventuell die Zieladresse des Providers (im
       Beispiel 1.1.1.1). Man bekommt diese entweder vom Provider, oder
       aber man mu einen Versuch daransetzen, sie selbst herauszufinden.
       Wie das funktioniert, steht in der Datei FAQ des isdn4bsd-Paketes.
       Auch am Aufruf von spppcontrol (Vorsicht: spppcontrol bis
       hisauthproto=none ist eine Zeile!) mu noch etwas umgestellt
       werden:
          + myauthproto steht fr das Authentifizierungsprotokoll.
            Mglich sind pap oder chap.
          + myauthname ist der PPP-Benutzername.
          + myauthsecret ist das PPP-Kennwort.
       Wenn man nun die Befehle in /etc/rc.local ausfhrt, kann man mit
       einem ping auf eine beliebige Adresse auerhalb des lokalen Netzes
       eine Verbindung ffnen. Sie wird automatisch nach einiger
       Inaktivitt (siehe isdnd.rc) wieder geschlossen.
   
    8. Es funktioniert nicht - was kann ich tun?
       Es gibt einige Mglichkeiten zur Fehlerdiagnose:
          + dmesg gibt Aufschlu darber, ob die Karte richtig erkannt
            wurde.
          + ifconfig (siehe rc.local) kann mit dem Parameter debug
            aufgerufen werden und gibt dann einiges an Informationen aus.
          + die Nachrichten in /var/log/messages knnen auerdem
            hilfreich sein
   
    9. wer kann mir helfen?
          + die erste Adresse fr ISDN-Probleme ist die Mailingliste
            [4]freebsd-isdn@freebsd.org - man bestellt sie, indem man
            eine Mail mit dem Text subscribe freebsd-isdn an
            [5]majordomo@freebsd.org schickt.
          + auch die deutschsprachige Mailingliste kann hilfreich sein.
            Mit einer Mail an [6]majordomo@de.freebsd.org, die im Text
            subscribe de-bsd-questions enthlt bestellt man sie.
     _________________________________________________________________

References

   1. mailto:domi@saargate.de
   2. ftp://isdn4bsd@ftp.consol.de/
   3. ftp://isdn4bsd@ftp.consol.de/
   4. mailto:freebsd-isdn@freebsd.org
   5. mailto:majordomo@freebsd.org
   6. mailto:majordomo@de.freebsd.org
