Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:
Menu Content/Inhalt
Home arrow Thux Blog

Projekt: Fritzbox einmotten PART III

So, da nun die Konfiguration komplett ist, erzähle ich nun von den Problemen die ich habe und wie es ausschaut auch mein Projekt scheitern lässt.

Das Problem ist folgendes, beim abnehmen des Hörers ist der Wählton kein gleichmäßiger Piepton sondern eher ein rythmischer Beat (Eigentlich auch cool, leider nicht in diesem Fall), die Sprachqualität ist bei ausgehenden Anrufen auch komplett davon durchsetzt, was sich dann aber in ein dauerhaften Knacken äussert. Bei eingehenden Telefonaten ist die Qualität in Ordnung.

Ich habe einige Zeit gebraucht um die Ursache zu finden und wurde beim blick in den Syslog fündig. Dort fand ich tausende Zeilen von dieser Sorte hier:

zaphfc: bchan rx fifo not enough bytes to receive! (z1=1493, z2=1486, wanted 8 got 7), probably a buffer overrun.

Das Problem, welches hinter der Messages steckt ist folgendes, die HFC-S Karte kommuniziert sehr rege mit dem System, sprich mit Interrupts in einer frequenz von 8kHz, also 8000 mal in der Sekunde oder alle 125 useks und das system kann die nicht alle verarbeiten und verwirft dann welche, was nicht weiter schlimm ist, wenn es nur wenige sind. Es sollten für eine gute Sprachqualität aber mind. 99,97% aller Interrupts erfolgreich verarbeitet werden, sonst wird das Knacken in der Leitung wahrnehmbar und mindert so die Sprachqualität. Auf meinem System werden leider nur gut 92% aller Interrupts erfolgreich verarbeitet und somit ist das nicht mehr zu gebrauchen.

Um das Problem in den Griff zu bekommen, habe ich viel im Internet rumgesucht und gelesen und einige Ansätze gefunden, die ich alle Ausprobiert habe. Der erste und meist erwähnte ist der sogenannte Florz Patch (siehe PART II), der einige Funktionen im zaphfc Treiber erweitert und auch das interrupthandling verbessert. Leider brachte der Patch nicht den erhofften Erfolg.

Mein nächster Ansatz war der CentOS Kernel, den ich im verdacht hatte. Da ich auch nicht den typischen Kernel (32 Bit ohne Xen) verwende den man für eine Asterisk üblicherweise benutzt, sondern, da ich ein 64Bit System installiert habe und auch Xen VM´s nutze, den entsprechenden Kernel, in meinem Fall der 2.6.18-128.1.6.el5xen x86_64. Deshalb habe ich dann angefangen mir einen eigenen Kernel zu bauen, der anders als der Default Kernel eine Time frequency von 1000 Hz statt 250 Hz nutzt, aber auch dieser Kernel brachte nicht den gewünschten Erfolg.

Ein BIOS Update half auch nicht weiter.

Deshalb habe ich nun auf meinen ausgemusterten P4 den ich hier noch rumstehen habe, auch ein CentOS 5 64 Bit mit Xen installiert um herauszufinden, ob es sich um ein Hardware oder Software Problem handelt, bevor ich anfange noch 27 Kernels zu bauen. Ich habe also CentOS installiert, die 2. HFC-S Karte die ich hier noch rumliegen habe eingebaut und angefangen Asterisk Bristuff zu bauen. So konnte ich auch gleich noch das HowTo im PART II anpassen, da ich festgestellt habe, dass es so nicht ganz komplett war.

Nachdem ich alles fertig gebaut habe und den zaphfc Treiber geladen habe, kam der spannende Moment und siehe da, keine buffer overrun oder underrun Meldungen im Syslog. Also Konfig rüber kopiert, NTBA & Telefon angeschlossen und schauen ob es funktioniert. Nachdem ich Asterisk gestartet habe und den Hörer abgenommen habe, siehe da ein Wahlton so wie er sein sollte. Noch ein paar weitere Test mit ein- und ausgehenden Anrufen zeigten, dass alles Super funktioniert und die Sprachqualität war auch 1A, obwohl nun auch ein paar Buffer overrun Meldungen im Log auftauchten, aber immer blos 2 Stück im Abstand von jeweils 10 Minuten, was ich als vertetbar halte, da ja ansonsten alles Tutti war.

Mein Linux Homeserver auf dem die Asterisk laufen sollte, ist ein Atom PC zwecks geringem Energie verbrauch, was mir auch wichtig ist, wenn der schon 24/7 laufen soll. Deshalb kann ich jedem nur davon abraten das Intel Mainbaord mit Atom 330 D945GCLF2 für eine Asterisk installation zu nutzen, zumindest wenn man eine Lösung mit HFC-S Karten favorisiert.

Und so kann ich leider meine Fritzbox noch nicht in Rente schicken und muss nun hoffen, dass es vielleicht bald ein BIOS Update gibt, welches das Problem beseitigt.

Als nächstes werde ich es probieren einen SIP Proxy auf meinem OpenWRT Router zu installieren, um zumindest das Problem der Nichterreichbarkeit mit der Fritzbox in den Griff zu bekommen.

Stay tuned!!!11elf!

P.S. Falls hier mal ein Asterisk Profi oder jemand der vielleicht noch einen Tip für mich hat, zufällig auf diese Seite stößt, ich freue mich über jeden Kommentar.

Tags: , , , , , ,

Comments are closed.