[GELÖST] zaphfc: bchan rx fifo not enough bytes to receive!

Frittenbude

Neuer User
Mitglied seit
23 Dez 2005
Beiträge
73
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich habe gerade folgende Fehlermeldung in /var/log/messages entdeckt:

Dec 29 11:33:04 gateway kernel: zaphfc: bchan rx fifo not enough bytes to receive! (z1=6208, z2=6201, wanted 8 got 7), probably a buffer overrun.
Dec 29 11:33:04 gateway kernel: zaphfc: bchan rx fifo not enough bytes to receive! (z1=6208, z2=6201, wanted 8 got 7), probably a buffer overrun.
Dec 29 11:33:24 gateway kernel: zaphfc: bchan rx fifo not enough bytes to receive! (z1=3326, z2=3319, wanted 8 got 7), probably a buffer overrun.
Dec 29 11:33:24 gateway kernel: zaphfc: bchan rx fifo not enough bytes to receive! (z1=3326, z2=3319, wanted 8 got 7), probably a buffer overrun.
Dec 29 11:33:37 gateway kernel: zaphfc: dropped audio (z1=1061, z2=1044, wanted 8 got 17, dropped 9).

Zu selbigem Problem habe ich hier im Forum eine etwas ältere Diskussion gesehen, die aber wohl nicht zu einer endgültigen Lösung gekommen ist.

Die beste Möglichkeit soll demnach wohl sein, RTAI einzusetzen. Um ehrlich zu sein weiß ich aber nicht, wie dabei vorzugehen ist oder ob ich das nicht schon laufen habe.

Hier noch ein paar Infos zu meinem System und meiner Vorgehensweise bei der Asterisk-Installation:

Hardware
- Via Epia CL6000 (600 MHz - Samuel2)
- 512 MB RAM
- HFC-S PCI (später zusätzlich ein HFC-S USB, wenn der Rest läuft)

OS:
- Clarkconnect 3.1 (auf Redhat bzw. Fedora Core 3 basierend)
- Kernel 2.6.9-19

Asterisk:
Habe die Bristuff-Installation verwendet (0.3.0-PRE-1d ) und in der Makefile von asterisk die Zeile "PROC=i586" unkommentiert, da das Kompilieren auf dem VIA-System nicht funktioniert.

Ansosten habe ich nur Änderungen an den Asterisk-Configs sowie zaptel.conf und zapata.conf vorgenommen.

Der Treiber für HFC-S PCI wird problemlos kompiliert und im NT-Modus geladen.

Probleme gibt's aber - wie in einem anderen Thread schon angedeutet - mit häufigem Knacken in der internen ISDN-Leitung und Bufferoverrun-Meldungen in den /var/log/messages.
Vielleicht ist noch anzumerken, dass ich derzeit am HFC-S-Adapter nichts angeschlossen habe (dürfte aber nicht die Fehlermeldungen verursachen).

Wäre echt klasse, wenn mir jemand hierbei weiterhelfen könnte.

Gruß,
Frittenbude
 
Zuletzt bearbeitet:
Das ist wohl ein Fall für den Florz-Patch. Dabei ist auch noch festzuhalten, dass je schwachbrüstiger die Hardware, desto schneller geht das Ganze ohne den Patch auch in die Knie ...
Frage an die Florz-Patch-Gemeinde: Kann der letzte Patch für die PRE1 problemlos in die PRE1d gepatcht werden ?

Gruß

o_dapenguin
 
o_dapenguin schrieb:
Frage an die Florz-Patch-Gemeinde: Kann der letzte Patch für die PRE1 problemlos in die PRE1d gepatcht werden ?

Nein, der Patch muss gepatched werden 2x aus 1.2.0 1.2.1 machen und die Fehlermeldung die dann kommt, ignorieren, dann gehts.
 
Danke für die Rückmeldungen.

@ kombjuder:

Kannst Du mir was es mit dem 2x patchen auf sich hat. Ich bin in der ganzen Asterisk-Sache noch nicht so drin wie ihr. Daher ist mir das nicht klar.

Gruß,
Frittenbude
 
Frittenbude schrieb:
Danke für die Rückmeldungen.

@ kombjuder:

Kannst Du mir was es mit dem 2x patchen auf sich hat.

Der Originalpatch ist eine gepacktes Archiv, das 3 Dateien enthält. In der Datei Makefile findest du zweimal 1.2.0 am Dateianfang, die änderst du in 1.2.1. Dann gehts. Es kommt zwar noch eine Fehlermeldung. Die habe ich ignoriert und es geht problemlos.
Vielleicht kann ja da einer der Linux-Gurus was dazu sagen.
 
Danke,

ich habe den Patch gerade mal runtergeladen und nach der Anleitung auf Deiner Webseite in meinem bristuff/zaphfc-Verzeichnis entpackt. Gab folgende Fehlermeldung:

[root@gateway zaphfc]# zcat zaphfc_0.3.0-PRE-1_florz-10.diff.gz | patch -p1
patching file Makefile
Hunk #1 FAILED at 1.
1 out of 2 hunks FAILED -- saving rejects to file Makefile.rej
patching file zaphfc.c
patching file zaphfc.h

Habe dann einfach die Datei Makefile.rej editiert. Insgesamt gab es dort 4 Einträge mit 1.2.0, die ich in 1.2.1 geändert habe.
Ich werde die Datei jetzt mal in Makefile umbenennen und kompilieren lassen.

Mal schauen, was passiert.

Gruß,
Frittenbude
 
Frittenbude schrieb:
Ich werde die Datei jetzt mal in Makefile umbenennen und kompilieren lassen.

Das klappt nicht! Im .rej sind nur die Fehler drin.
Du musst makefile verwenden. Das unveränderte ist in .orig
 
Den Fehler habe ich inzwischen bereinigt. Habe es vorhin mal durchlaufen lassen und es wurde ohne Fehler beendet.
Allerdings kann ich im zaphfc-Verzeichnis merkwürdigerweise keine Kompilierung mehr ausführen.

Ich erhalte die Meldung:
Link /usr/src/linux-2.6 to your kernel sources first!
make: *** [linux26] Fehler 1

Und das, obwohl der Link /usr/src/linux-2.6 nach wie vor auf die Kernel-Sources verweist. Habe in der Richtung auch keine Veränderungen vorgenommen.

Gruß,
Frittenbude
 
Frittenbude schrieb:
Und das, obwohl der Link /usr/src/linux-2.6 nach wie vor auf die Kernel-Sources verweist. Habe in der Richtung auch keine Veränderungen vorgenommen.

Dann lösch den Link und setz ihn neu. Hast du überhaupt die Kernel-Sourcen installiert?
 
Klar habe ich das. Ich hatte Asterisk ja auch schon laufen, nur eben mit den oben genannten Kernel-Meldungen.

Den Link neuanzulegen hat übrigens nichts gebracht.

[root@gateway src]# ls -lah
total 24K
drwxr-xr-x 6 root root 4,0K Dez 30 15:21 .
drwxr-xr-x 17 root root 4,0K Sep 10 23:27 ..
drwxr-xr-x 6 root root 4,0K Dez 28 22:20 AMP
drwxr-xr-x 5 root root 4,0K Dez 25 18:52 asterisk
drwxr-xr-x 6 root root 4,0K Dez 30 02:28 install-misdn
drwxr-xr-x 3 root root 4,0K Dez 24 23:44 kernels
lrwxrwxrwx 1 root root 34 Dez 30 15:21 linux-2.6 -> /usr/src/kernels/2.6.9-19.cc-i586/
[root@gateway src]# uname -a
Linux gateway.clarkconnect.lan 2.6.9-19.cc #1 Fri Jul 8 16:43:18 EDT 2005 i686 i686 i386 GNU/Linux

Sind also auch die richtigen Sources.

Gruß,
Frittenbude
 
Zuletzt bearbeitet:
Frittenbude schrieb:
Den Link neuanzulegen hat übrigens nichts gebracht.

Erst löschen und dann neu anlegen. Suse hat mit dem Überschreiben Probleme.

Ausserdem stimmt was mit deinem Patch nicht. Ich habe im Originalpatch nur 2 mal 1.2.0 gefunden.

Hast du die Links in /usr/src anlegt?
 
Ja, habe den Link gelöscht und anschließend wieder neu angelegt.
Ich habe die Kernel-Sources sogar deinstalliert und wieder neu installiert.
Den Link habe ich danach nochmals neu angelegt. Brauchte aber das gleiche negative Ergebnis.

Zum vierfachen 1.2.0:
Das lag an dem falschen Makefile, das ich vorhin im Verzeichnis von zaphfc liegen hatte.
Das Kompilieren von Asterisk usw. funktionierte ja auch ohne Fehlermeldung. Nur make in zaphfc geht nicht mit der genannten Meldung, ich hätte die Kernel-Sources nicht verlinkt. Sind sie aber definitiv.

Ist mir völlig unverständlich.

Gruß,
Frittenbude
 
Frittenbude schrieb:
Ist mir völlig unverständlich.

Dann schau dir mal die letzten Zeilen in der makfile.rej an, vielleicht wirst du daraus schlau. Da kommt genau deine Fehlermeldung im Rahmen einer Linkprüfung.
 
Diese Datei gibt es inzwischen nicht mehr, nachdem ich das Ganze vorhin noch einmal komplett neu habe durchlaufen lassen.

Vielleicht kannst Du mir noch sagen, ob folgende Vorgehensweise korrekt ist.
Ich bin folgendermaßen vorgegangen:

- Download von bristuff (neueste PRE-Version)
- Entpackt nach /tmp/bristuff
- Download von florz-Patch (neueste Version) nach /tmp/bristuff/zaphfc/
- 2x Änderung an Eintrag 1.2.0 auf 1.2.1 im Makefile vorgenommen
- Patch ausgeführt
- download.sh im bristuff-Verzeichnis ausgeführt
- kleine Änderung an Makefile im Asterisk-Verzeichnis vorgenommen (ist auf meinem Via Epia nötig - optimiert auf diese CPU)
- compile.sh im bristuff

Hat bisher hier hin auch tadellos funktioniert.
Im Verzeichnis /tmp/bristuff/zaphfc klappte dann kein make (make oder make loadNT), wegen angeblich fehlender Kernel-Sources.
Habe dann wie schon oben beschrieben die Kernel-Sources neu installiert und entsprechend verlinkt; brauchte ja auch nicht.
Daher habe ich dann den florz-Patch an entsprechender Stelle nochmal ausgeführt, wodurch make dann zwar startete, aber einen Fehler ausspuckte:

[root@gateway zaphfc]# make loadNT
make -C /usr/src/linux-2.6 SUBDIRS=/tmp/bristuff-0.3.0-PRE-1d/zaphfc ZAP= modules
make[1]: Entering directory `/usr/src/kernels/2.6.9-19.cc-i586'
CC [M] /tmp/bristuff-0.3.0-PRE-1d/zaphfc/zaphfc.o
/tmp/bristuff-0.3.0-PRE-1d/zaphfc/zaphfc.c:27:20: zaptel.h: Datei oder Verzeichnis nicht gefunden

Von der letzten Fehlermeldung abgesehen:
Ist meine Vorangehensweise denn generell korrekt?
Muss der florz Patch ausgeführt werden, bevor das bristuff-Skript ausgeführt wird? Ich vermute mal ja, oder?

Gruß,
Frittenbude
 
Frittenbude schrieb:
Von der letzten Fehlermeldung abgesehen:
Ist meine Vorangehensweise denn generell korrekt?

Ja


Muss der florz Patch ausgeführt werden, bevor das bristuff-Skript ausgeführt wird? Ich vermute mal ja, oder?

Ja

Lade dir mal die 1c und patche die. Die läuft ohne Fehler.

Wenn die Installation geklappt hat, mach dich nochmal an die 1d.
 
Hallo kombjuder,

ich habe heute Nachmittag mal Asterisk inkl. florz-Patch auf einem Fedora Core 4 -System (anderer Rechner) installiert.
Lief ohne Probleme durch. Auch das Erstellen von hfc-Treibern mit make.

Deinen Tipp werde ich mal testen.

Gruß,
Frittenbude
 
Habe jetzt endlich erfolg gehabt. Und zwar hat es mit 1c funktioniert. Es gab zwar die gleiche Fehlermeldung mit fehlenden Kernelsourcen unter dem Link /usr/src/linux-2.6.

Aber nachdem ich mir die das Makefile genauer angesehen habe, brauchte er auch einen Symlink von /usr/src/linux zu den Kernelsources.

Der florz-Patch selbst hat auch die erhoffte Besserung gebracht. Das Knacken in der Leitung ist weg und die Kernelmessages mit Bufferoverflows erscheinen auch nicht mehr.

Jetzt muss ich nur noch meinen HFC-S USB-Adapter zum Laufen bekommen.
Habe mich auch in den letzten Tagen schon dahingehend informiert. Scheinbar brauche ich mISDN dafür. Kann ich in diesem Fall auch weiterhin zaphfc über zaptel weiterbetreiben?

Gruß,
Frittenbude
 
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.