Howto: Debian + Asterisk 1.6.2.7 + HFC-S mit DAHDI

Ich habe jetzt folgendes Problem. Sobald ich zaphfc geladen habe nach dem kompilieren etc. Kackt meine LAN Verbindung ab und geht nicht mehr.

Ist das problem bekannt? Jemand eine Idee?
 
dahdi 2.2.0.x und kernel 2.6.32

Die Dahdi Sourcen 2.2.0.x und der Larrys Patch compilen, solange es nur um das
"TASK_INTERRUPTIBLE undeclared" Problem geht.
Hierzu muss nur ein
#include <linux/sched.h>
in alle problemtischen Sourcen eingefügt werden.

dahdi 2.3 und vzaphfc kram von googlecode funktioniert bei mir überhaupt nicht. Ausserdem fehlt da der florz Patch, der in Larrys Patch noch enthalten ist und mit der master/slave config (HW Patch vorrausgesetzt) für halbe Interruptlast sorgt.
 
So, das hier löppt:

dahdi-linux-2.2.1 von asterisk.org und der LarryPatch dahdi-linux-2.2.0.2, integrieren und RUN
#include <linux/sched.h> fix für zaphfc.c
KBuild von unnötigen Ballast befreien
das ganze mit checkinstall make install in ein deb und install
Version einfrieren, damit kein update das neuere aber leere dl 2.3.0.1 installiert:
echo dahdi-linux hold | dpkg --set-selections
dahdi 2.2.1.1-1 per apt-get installieren.

asterisk-1.6.2.16
chan_dahdi.c Patch von Larry "sucks for you"
dann per checkinstall

Hierfür muss dann auch u.a. das libri dev Paket vorhanden sein, ansonsten wird das signalling nicht gefunden, die D Kanäle sind dann in proc (s.u.) nicht in use.

Vorher hatte ich schon nen asterisk 1.6 per apt-get aus squeeze drauf, der hat schonmal eine Menge dependencies mitgebracht, libpri u.a.
Leider lief der nicht, vermutlich weil der dahdi-linux 2.3 haben möchte.
Der Versionskonflikt dahdi<->dahdi-linux ist dabei wohl zu vernachlässigen:
Squeeze liefert: d:2.2.1.1 und dl:2.3.0.1
Bei mir läuft das d aus squeeze gegen dl:2.2.1, und ich das hatte vorher schon mit dl: 2.2.0.1 am fliegen.

PS:
- Der in Larry patch enthaltener dahdi_echocan_oslec lässt sich leider nicht laden (" Invalid module format")
- chan_lcr hab und will ich nicht: wieso noch ein system wenn asterisk doch allen kann
- NT Mode läuft problemlos

Das Problem der Treiber bekommt man in den Griff, sofern man ein Auge auf /proc/dahdi/* hat.
Nach Laden der Module werden die Kanäle gelistet, nach dem dahdi_cfg, dass die system.conf liest, dann auch activated und sollten Interrupts auslösen. Beides erledigt das dahdi init script. Asterisk starten, wenn hier was nicht stimmt macht keinen Sinn. Sobald Asterisk läuft, werden alle Channels als "in use" gemeldet.
# cat /proc/dahdi/*
Span 1: ZTHFC1 "HFC-S PCI A ISDN card 0 [TE] layer 1 ACTIVATED (F7)" (MASTER) AMI/CCS

1 ZTHFC1/0/1 Clear (In use) (SWEC: MG2)
2 ZTHFC1/0/2 Clear (In use) (SWEC: MG2)
3 ZTHFC1/0/3 HDLCFCS (In use)
Span 2: ZTHFC2 "HFC-S PCI A ISDN card 1 [NT] layer 1 ACTIVATED (G3)" AMI/CCS

4 ZTHFC2/0/1 Clear (In use) (SWEC: MG2)
5 ZTHFC2/0/2 Clear (In use) (SWEC: MG2)
6 ZTHFC2/0/3 HDLCFCS (In use)
 
Ich liefere noch einige config Details nach:

/etc/modprobe.d/zaphfc.conf:
Code:
options zaphfc modes=2 jitterbuffer=2 sync_slave=2 timer_card=0 debug=0

/etc/dahdi/system.conf
Code:
loadzone=de
defaultzone=de

span=1,1,0,ccs,ami
bchan=1-2
dchan=3

span=2,0,0,ccs,ami
bchan=4-5
dchan=6

echocanceller=mg2,1-2
echocanceller=mg2,4-5

Code:
...
; TE Modus (Amt)
group = 1
signalling = bri_cpe_ptmp
context = default
channel => 1-2

; NT Modus (interner S0)
group = 2
signalling = bri_net_ptmp
context = extern
channel => 4-5

eigentlich sind die Konfigs in groben noch aus zaptel / zaphfc / bristuff Zeiten unverändert geblieben. Ich hatte seinerzeit bristuff-0.4.0rc9 verwendet, das war die letzte Version, die noch /dev/zap/... wollte.

der gesamte vzaphfc kram, u.a. erkennbar an dem nt_modes Modulparameter, funktionierte im NT Modus nicht. Ich habe da gut 3-4 Tage investiert. Hatte so ziemlich alle Fehler, von denen auch andere Posts berichten:
cause 18 / 36, no tei from network / sync lost, pci performance too low etc.
Mir reicht obige Lösung, die noch gegen dahdi-linux_2.2.1.2 funktiniert, nur halt gegen > 2.3 nicht mehr.
 
kannte das Post und auch das git Repro noch nicht. Habs mal schnell gebaut und installiert.
Fazit:
- vzaphfc: card 0: sync lost, pci performance too low!
- vzaphfc: card 1: chan B1: TX FIFO has become empty
im dmesg, /proc/dahdi listet Kanäle als INACTIVE
und weils so schön ist "cause 34" in asterisk beim DIAL.

Kenn ich alles schon, leider.
Mein Fazit: alles was vzaphfc / dahdi >2.3 basiert läuft nicht mit zwei seperaten HFC-S Karten im NT und TE Modus.
 
So wie die Fehlermeldung auschaut kommt die Fehlermeldung vom vzapfhfc Treiber es ist also der falsche Treiber geladen es muss zaphfc
du musst erst den alten Treiber entladen oder löschen so wie im Beitrag mit den misdn Treiber beschrieben
 
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.