.titleBar { margin-bottom: 5px!important; }

CAPI not installed! Loading module chan_capi.so failed

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von Joachim, 5 Jan. 2005.

  1. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ein gutes neues Jahr Euch allen!

    In /var/log/asterisk/messages finde ich die Fehlermeldung :
    CAPI not installed!
    Loading module chan_capi.so failed

    Nach neustart läuft asterisk -r auf einen Fehler weil offensichtlich asterisk nicht gestartet wurde. Gegen auf dem Linux-Prompt asterisk ein wird asterisk gestartet
    und ich kann mich mit asterisk -r draufschalten.

    Aber unter asterisk -r dann capi info kriege ich die Meldung 2 B channels free
    In /var/log/messages finde Meldungen wie kcapi: notify up contr 1 und appl 1 up

    Das sieht für mich so aus als ob alles CAPI-mäßig ok wäre.
    Wenn einen ISDN-Test mache funktioniert es auch. Soweit ich die Log-Infos verstehe läuft die kcapi . Aber chan_capi nicht.

    Ich habe diesen Fall schon mal gepostet. Da wurde mir gesagt ich solle folgendes:
    load => res_features.so
    load => chan_capi.so
    chan_capi.so=yes

    in die modules.conf eintragen. Habe ich dann auch gemacht aber das Laden vom Modul res_features.so läuft auf einen Fehler. Ist auch gar nicht da.


    Ich habe eine AVM-PCI-Fritzcard.
    Asterisk-Version: habe ein Asterisk-ISO-Image bei asterisk.de.ms gedownloaded

    Brauche ich eventuell die chan_capi garnicht ?
    Wenn nicht, wie kriege ich es dann das asterisk nach neustart auch gestartet ist?
    Wenn doch, was muss ich tun damit die chan_capi läuft?

    Auf der Seite des chan_capi Urhebers habe ich auch keine Infos gefunden.

    Bitte helft mir

    Joachim
     
  2. Netview

    Netview IPPF-Promi

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    3,366
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Dipl.-Inf.
    Ort:
    Westerwald
    Die chan_capi brauchst du auf jeden Fall!

    Die Fehlermeldung dürfte daher rühren, dass asterisk wegen der zapata.conf versucht auch die capi für eine nicht existente hfc-Karte zu loaden!

    Lösung in der zapata.conf alles auf Kommentar setzen mit ';' am Anfang bis auf das erste statement [channels].
     
  3. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    hab noch was rausgefunden.
    Wenn ich die chan_capi in modules.conf rausnehme startet asterisk garnicht mehr. Folglich ist es doch die chan_capi die ich am Ende habe.

    Bleibt die Frage warum ich asterisk nochmal manuell starten muss.

    Gruss

    Joachim
     
  4. rolandm

    rolandm Neuer User

    Registriert seit:
    23 Nov. 2004
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo,

    was sagt denn capiinfo in der LINUX shell?
    dort sollte der status der konfigurierten und gefundenen CAPI controller aufgelistet werden.
     
  5. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Starte mal explizit den capi-Treiber vor dem Aufrufen von Asterisk. Wenn chan_capi.so keine capi hat, mault er halt.
     
  6. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wie startet man denn den Capi-Treiber ?

    Danke

    Joachim
     
  7. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    das mit der zapata.conf hat nichts genutzt.
    capiinfo spukt einiges an Infos aus die darauf hinweisen das alles ok ist.

    Ich setzte dann mal meine Hoffnung darauf den Capi-Treiber vor Asterisk explicit zu starten.
    Muss mal sehen ob ich den Befehl in /etc/rc.d*/* finde
    bzw. ob es mir einer verrät :)

    Gruss und Danke

    Joachim
     
  8. Netview

    Netview IPPF-Promi

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    3,366
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Dipl.-Inf.
    Ort:
    Westerwald
    in der modules.conf:

    modules]
    autoload=yes
    noload => pbx_gtkconsole.so
    noload => pbx_kdeconsole.so
    noload => chan_modem_i4l.so
    noload => chan_modem_bestdata.so
    noload => chan_modem_aopen.so
    noload => chan_modem.so
    noload => app_intercom.so
    load => chan_capi.so
    load => res_musiconhold.so
    noload => chan_elsa.so
    noload => chan_oss.so
    [global]
    chan_capi.so=yes
     
  9. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ja, das ist auch kein wunder. Asterisk versucht alle Module zu starten, die in dem Verzeichnis /usr/lib/asterisk/modules sind.
    Da reicht einfach löschen nicht.. Du musst, um zu Verhindern, dass so ein Modul geladen wird, aus dem "load" ein "noload" machen.
     
  10. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Natürlich habe ich die chan_capi mit noload rausgenommen.

    Sorry hab mich nicht deutlich genug ausgedrückt.

    Joachim
     
  11. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    bleibt noch die Frage:
    Wie startet man den Capi-Treiber explicit vor Asterisk?

    In rc.d habe ich asterisk gefunden:
    rc0.d/K21asterisk
    rc1.d/K21asterisk
    rc2.d/S21asterisk
    rc3.d/S21asterisk
    rc4.d/S21asterisk
    rc5.d/S21asterisk
    rc6.d/K21asterisk

    Capi habe ich hier gefunden:
    rc0.d/K21isdnactivecards:DAEMON=/usr/sbin/capiinit
    rc1.d/K21isdnactivecards:DAEMON=/usr/sbin/capiinit

    rc2.d/S20isdnactivecards:DAEMON=/usr/sbin/capiinit
    rc3.d/S20isdnactivecards:DAEMON=/usr/sbin/capiinit
    rc4.d/S20isdnactivecards:DAEMON=/usr/sbin/capiinit
    rc5.d/S20isdnactivecards:DAEMON=/usr/sbin/capiinit

    rc6.d/K21isdnactivecards:DAEMON=/usr/sbin/capiinit

    Ich habe in S21asterisk capiinit vor asterisk start eingebaut aber ohne Erfolg. Meine Änderung in rc5.d/S20asterisk ist auch in den anderen Run-Level drin.

    capiinit meldet (beim Start vor Asterisk) fcpci Running fritz-pci ....

    Ich hab mal alle logs die ich in /var/log /var/log/asterisk finden konnte als attachment angefügt.

    Vielleicht kann ich im letzten Run-Level einfach den Asterisk start einbauen.

    Aber wo müsste ich dies dann einbauen?

    Danke

    Joachim
     

    Anhänge:

  12. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Mach mal, bevor du den Asterisk startest, ein lsmod und schau nach, ob das was von capi drinsteht.
    Wenn ja, läuft deine capi, wenn nein modprobe "devicetreiber"
     
  13. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Klar läuft die Capi!

    denn nachdem ich mich anmelde und asterisk einfach starte
    funktioniert ja alles.

    Ist die Frage ob die capi zu Zeitpunkt des Asterisk-Starts beim boot-vorgang gestartet ist bzw. ob nicht eventuell eine andere Ursache asterisk zum Absturz oder Nicht-Start bringt.


    lsmod liefert das hier:
    Module Size Used by Tainted: P
    fcpci 539904 2
    capi 17184 0
    capifs 3552 1 [capi]
    hisax 516100 0 (unused)
    isa-pnp 28124 0 [hisax]
    agpgart 33664 0 (unused)
    ipx 15124 0
    appletalk 19180 0
    capidrv 24512 1
    isdn 121248 0 [hisax capidrv]
    slhc 4560 0 [isdn]
    kernelcapi 29728 4 [fcpci capi capidrv]
    capiutil 22400 0 [capidrv kernelcapi]
    usb-uhci 21284 0 (unused)
    usbcore 55520 1 [usb-uhci]
    ide-scsi 9152 0
    3c59x 25160 1
    i810-tco 2964 0 (unused)
    i810_rng 2712 0 (unused)
    parport_pc 25000 1 (autoclean)
    lp 6368 0 (autoclean)
    parport 21920 1 (autoclean) [parport_pc lp]
    ext3 75680 2 (autoclean)
    jbd 43684 2 (autoclean) [ext3]
    unix 14020 59 (autoclean)

    Danke

    Joachim
     
  14. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    stell mal das laden von asterisk an den Schluss:
    rc2.d/S99asterisk
    Vielleiht reicht die Zeitspanne zwischen alsi capi initalisirung & asterisk start nicht aus.
     
  15. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi und Danke!

    umbennen in S99asterisk bzw. sleep 15 etc hat alles nicht genutzt.

    Erst als ich den /etc/rc2.d/S21asterisk wie unten abgeändert habe lief es.
    Offensichtlich funktion der mit --exec $DAEMON nicht.
    Keine Ahnung warum jedenfalls läuft es jetzt einwandfrei.

    Gruss

    Joachim



    DAEMON=/bin/echo
    EXE="/usr/sbin/asterisk"
    NAME=asterisk
    DESC="Asterisk PBX"

    test -x $DAEMON || exit 0

    set -e

    case "$1" in
    start)
    echo -n "Starting $DESC: "
    start-stop-daemon --start --chuid $NAME \
    --exec $DAEMON
    echo "$NAME."
    $EXE