[gelöst] audio_open: error in open: No such device or address???

mobaer

Neuer User
Mitglied seit
14 Jun 2005
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Hallo!
Ich habe folgendes Problem mit Asterisk in Verbindung mit der Sirrix Pci4s0:
Bei jedem Anruf (egal welcher Port, ob von intern oder extern) bekomme ich folgende Fehlermeldungen:
Code:
Sep 28 16:44:30 ERROR[6198]: audio_utils.c:911 audio_open: error in open: No such device or address
Sep 28 16:44:30 ERROR[6198]: chan_sirrix_helper.c:2256 cc_force_chan: could not open connection to B-Channel
Sep 28 16:44:30 WARNING[6198]: chan_sirrix.c:2629 cc_handle_setup_indication: srxpvt=0x81a0ad0, no channel available, get_chan() == 0
Der Anrufer erhält sofort ein Besetzzeichen.
Beim kompilieren etc traten bei mir keine Fehler auf, kann das an meiner sirrix.conf liegen?
 
Zuletzt bearbeitet:
So wie es aussieht lag das wohl an den udev-rules für die pci4s0.
Ich musste bei mir in der sirrix.rules
Code:
SUBSYSTEM="sirrix"
durch
Code:
SUBSYSTEM[b]==[/b]"sirrix"
ersetzen.
Dass die rules nicht richtig geladen werden habe ich zufällig bei einem reboot entdeckt.
 
Das hängt daran, dass sich bei udev zwischendurch mal das Format der Regeln geändert hat. Dummerweise hat das kuam jemand mitbekommen und viele nutzen wohl immer noch alte udev-Versionen. Deshalb findet man im Netz noch sehr oft Regeln im alten Format und auch viele Treiberpakete sind noch nicht auf dem neuesten Stand.
 
Tja nur leider war das nicht die Lösung meines Problems....
nach einem erneuten reboot stehe ich wieder vor dem Ursprungsproblem, warum auch immer... Weiss jemand Rat??
Kann mir jemand von euch erklären, was es nun eigentlich alles zu laden gilt und in welcher Reihenfolge, die Docs von Sirrix sind da leider doch recht undeutlich. Ich gehe davon aus, dass in einem System mit udev folgendes gemacht werden muss:

sirrix.rules ->etc/udev/rules.d/sirrix.rules
sirrix.permissions ->etc/udev/rules.d/sirrix.permissions

zusätzlic muss vor dem start von * noch ein
"make dev"
im sirrix-pci-folder und jeweils ein modprobe für
sirrix_base
sirrix_pfic
sirrix_bch
gemacht werden, oder? dann sollte das ganze doch funktionieren...
Ich habe da wohl einfach ein Problem mit der Reihenfolge...
 
Wenn dein udevd wirklich läuft (kannst du mit 'ps aux' prüfen), sollte das 'make dev' nicht nötig sein. Das Modul 'sirrix_bch' muss AFAIK vor 'sirrix_pfic' geladen werden.

Bei vielen Distributionen gibt es übrigens Möglichkeiten, die Module beim Booten automatisch zu laden. Bei Debian muss man die Module z.B. einfach nur in der Datei '/etc/modules' eintragen. Im Notfall kann man sich dafür aber auch einfach ein eigenes init-skript schreiben.
 
Danke für deine Hilfe Maik! Mit Debian habe ich mich noch nicht allzusehr beschäftigt, bisher eher mit Fedora und RH, da hilft mir das wirklich sehr.
Das mit udev scheint bei mir nicht wirklich zu funktionieren, auch wenn udevd läuft, asterisk bringe ich nicht zum laufen, ohne vorher nochmal die Module manuell nachzuladen (make dev und modprobe) Ich werde jetzt nochmal schauen wie es mit /etc/modules läuft.
Das komische bei udev ist: Ich erhalte keine Fehlermeldung in den Logs, im Gegensatz zu vorher, als ein "=" gefehlt hat. Es sollte also eigentlich mit Udev laufen.
Danke soweit schon mal, der audio_open fehler rührt also tatsächlich von falsch geladenen Modulen, oder der Reihenfolge, das werde ich jetzt nochmal ausführlich testen.
 
Udev sollte die devices auch erst nach dem Laden der Module anlegen. Lass also mal das 'make dev' weg und lade mal einfach so die Module. ;)
 
You made my day!
Das wars! Danke!
Jetzt kann ich mich endlich richtig um die Extensions kümmern ;)
 
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.