Bilder etc Familie Hardware Hobbies

Farbschema
Anmelden
Kennung
Passwort
 
Seite versenden
E-Mail
Von

Server Infos ...?

 

Kernelkonfigurationen und Treiber

Kernel Konfigurationen, Treiber für ISDN Karte, Startscript für Hardwaretreiber und -module

Zurück

Weiterführende Links zu diesem Thema:

  • Linux im WAN
    Artikel der c´t, der die Konfiguration von isdn4linux sehr gut beschreibt.

  • ISDN for LINUX
    Linksammlung mit weiterführenden Artikeln über Linux und ISDN und frei zugängliche Software.

  • ftp.franken.de/pub/isdn4linux/
    Sourcen für isdn4linux

  • ISDN4Linux
    Der aktuellste Link mit den neuesten downloads der Sourcen.

  • ftp.suse.de
    Achtung: hier gibts die hisax Treiber, die man zuladen muß!

Ich beschreibe die ganze Geschichte für eine AVM Fritz Card. Das ist die immer noch preiswerteste und stabilste Konfiguration unter Linux. Mittlerweile gibt es zwar Treiber für alle Karten der Welt, dann muß man halt selbst ein wenig Grundlagenforschung und Quellenstudium im Internet treiben und mit etwas Fortune klappts dann auch.

Als erstes lädt man sich den Kartentreiber runter. Diesen fügt man gemäß README in seine Kernel Quellen ein und konfiguriert die makefiles entsprechend. Hier sehe man unter /usr/src/linux/README nach. In der Regel reicht ein 'make menuconfig' in diesem Verzeichnis aus.

Den Treiber für die Karte konfiguriert man per Hand oder Menügeführt in seinen Kernel ein. Dem Kernel sollte man noch folgende Parameter mitgeben (also: einschalten), damit das mit dem Routing auch wirklich klappt:

  • TCP/IP Networking
    Um zu Routen, muß natürlich diese Option eingeschaltet sein und mindestens eine weitere echte Netzwerkkarte (z.B. eine 3Com) drin sein.

  • IP forwarding/gatewaying
    siehe oben.

  • multicasting

  • syn cookies

  • firewalling
    Diese Option ist wichtig, wenn man die Paketfilter über ipchhain bzw. ipfwadm einschalten möchte.

  • firewall packet logging
    Damit man weiß, was so abgeht...

  • masquerading
    Dringendst erforderlich, um hinter dem Rechner im LAN liegende PC's aufs Internet zugreifen zu lassen!

  • ICMP masquerading
    Nur erforderlich, wenn die anderen Rechner hinter dem Router ICMP Messages ins Internet verschicken sollen/wollen (ping, traceroute, ...).

Diese Optionen sollten engeschaltet sein. Zusätzlich sollte man den HiSAX Treiber als Modul in den Kernel ladbar machen (lsmod, insmod, delmod, modprobe). Danach einen Kernel erzeugen, nicht ohne den alten gesichert zu haben!

Alte Hasen gehen hier wie folgt vor:
Alten Kernel irgendwo auf der Boot Partition hinkopieren (/boot/stable/linuz) und über lilo diesen Kernel bootbar machen.
Danach den neuen Kernel nach /linuz kompilieren und binden.
Damit hat man denn immer noch einen Fallstrick, falls der neue Kernel nicht laufen sollte oder aus anderen Gründen nicht bootet.

Nun sollte die ISDN Karte ansprechbar sein. Dies bekommt man am besten heraus, in dem man den Treiber entweder in die /etc/conf.modules einträgt oder aber mittels modprobe den Treiber "per Hand" lädt.

Geschickterweise hat man das ganze modular aufgebaut (also den Treiber als Kernelmodul kompiliert), dann kann man das ISDN Interface beliebig laden und runterfahren ohne ständig neu booten zu müssen (schließlich haben wir ein echtes Unix, was nicht bei jedem Treiberwechsel gleich neu gestartet werden muß wie dieser M....$... ....... Krempel)

Zu diesem Zweck habe ich mir ein kleines init-Script geschrieben: isdnsubsys.
Diese Datei runterladen und als "isdnsubsys" im Verzeichnis /etc/rc.d/init.d speichern. Der entscheidende Teil ist das Laden des Treibers mit der Zeile

insmod hisax type=5 protocol=2 io=0x200 irq=5

Die Parameter sind in den README's beschrieben, wichtig ist halt der Interrupt (irq=5) und die Memoryadresse (io=0x200). protocol=2 gibt das EURO-ISDN Protokol an. Es gibt die ISDN Protokolle 1TR6 (meist USA) und DSS1 oder EURO-ISDN. Letzteres ist das von der Deutschen Telekom und anderen verwendete. Der Parameter type=5 heißt Fritz-Karte. Aber besser ist nachlesen: RTFM.

Die Zeile "telesctrl ..." ist mittlerweile in der Syntax veraltet, funktioniert aber noch. Wo nicht, sollte man den neueren "isdnctrl ..." nehmen, der ist kartenunabhängig. Die ersten Treiber waren für die Teles Karten, von denen ich nur dringendst abraten möchte.

Ansonsten hört sich Alles viel komplizierter an als es ist, und ich kann nur jedem empfehlen: Nur Mut, der Aufand lohnt!

Zurück

Die Prozedur "isdnsubsys"

#!/bin/sh
#
# Starting isdn SubSys
# 07.11.97, A. Amthor
#


. /etc/rc.d/init.d/functions
VERSION=`cat /proc/version | awk '{ print $3 }' `
SYSPATH="/sbin/"
MODULES="ppp slhc hisax"
DEVICE=ippp0; export DEVICE

MOD=$1; export MOD

if [ x$MOD = x ]
then
        echo "$0: $0 {start|stop}"
        exit 0
fi

if [ x$1 = xstart ]
then
        echo "starting isdn Subsystem for $DEVICE:"
        for mod in $MODULES
        do
                S="already loaded modules: "
                lsmod | grep $mod >/dev/null 2>&1
                if [ $? = 0 ]
                then
                        loaded="$loaded $mod"
                fi
        done
        echo "$S $loaded"
        for mod in $loaded
        do
                $SYSPATH\/rmmod $mod
        done
        # load VJ-compression module
        # if VJ compression is compiled into kernel .. you can omit this
        $SYSPATH\/insmod /lib/modules/$VERSION\/net/slhc.o

        # load isdn4linux and teles driver
        # if these modules are compiled into kernel -> remove this lines
        $SYSPATH\/insmod isdn
        $SYSPATH\/insmod hisax type=5 protocol=2 io=0x200 irq=5 

        telesctrl HiSax 1  4     # enable verbose '4' mode

        exit 0
fi
if [ x$1 = xstop ]
then
        for mod in $MODULES
        do
                rmmod $mod
        done
        exit 0
fi
echo "$0: $0 {start|stop}"
exit 1

[Letzte Änderung: 22.12.2002 00:53:25 ]
 
Was gibt's Neues: