CAPI not installed! Loading module chan_capi.so failed

Joachim

Neuer User
Mitglied seit
10 Dez 2004
Beiträge
146
Punkte für Reaktionen
0
Punkte
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
 
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].
 
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
 
hallo,

was sagt denn capiinfo in der LINUX shell?
dort sollte der status der konfigurierten und gefundenen CAPI controller aufgelistet werden.
 
Joachim schrieb:
In /var/log/asterisk/messages finde ich die Fehlermeldung :
CAPI not installed!

Joachim

Starte mal explizit den capi-Treiber vor dem Aufrufen von Asterisk. Wenn chan_capi.so keine capi hat, mault er halt.
 
Wie startet man denn den Capi-Treiber ?

Danke

Joachim
 
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
 
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
 
Joachim schrieb:
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

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.
 
Natürlich habe ich die chan_capi mit noload rausgenommen.

Sorry hab mich nicht deutlich genug ausgedrückt.

Joachim
 
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

  • asterisk_syslog.zip
    77.2 KB · Aufrufe: 0
Joachim schrieb:
Wie startet man denn den Capi-Treiber ?

Danke

Joachim

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"
 
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
 
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.
 
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
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.