ISDN TA CARD, PCI BUS mit HFC Chipsatz unter Debian lenny installieren (zaphfc Treiber)Umstieg von Debian Etch auf Debian Lenny Zum Ansprechen der Karte werden die zaptel Treiber und ein bristuff gepatches asterisk verwendet.
deb http://ftp.de.debian.org/debian/ lenny main non-free contrib deb-src http://ftp.de.debian.org/debian/ lenny main non-free contrib Dann muss man auf der Kommandozeile folgendes ausführen und geduldig sein:
apt-get update apt-get upgrade reboot Kernel Headers
Jetzt muss noch sichergestellt sein, dass die Kernel-headers vorhanden sind. Wenn Ihr euch bereits einen eigenen Kernel
kompiliert habt, und das Verzeichniss in dem Ihr kompiliert habt noch vorhanden ist, habt Ihr alles was Ihr braucht.
apt-get install linux-headers-2.6.22-3-686
Gegebenenfalls (wenn Ihr eine andere Kern Version nutzt als linux-image-2.6.22-3-686) müsst Ihr die Nummer am Ende des Befehls anpassen. Mit
uname -r
könnt Ihr Euch anzeigen lassen welcher Kern auf Eurem System gerade läuft. Installation der zaphfc Treiber und des bristuff gepachten asterisk
cd /usr/src
wget http://www.junghanns.net/downloads/bristuff-0.3.0-PRE-1y-o.tar.gz tar -xzf bristuff-0.3.0-PRE-1y-o.tar.gz cd bristuff-0.3.0-PRE-1y-o ./install.sh cd zaptel make config cd .. Damit ist asterisk und der zaphfc Treiber installiert. Jetzt noch Beispielkonfigurationen für asterisk generieren. ACHTUNG: damit bereits bestehende configs in /etc/asterisk überschrieben.
cd asterisk make samples Jetzt starten wir mal den Treiber für die ISDN Karte.
modprobe zaphfc genzaptelconf -c de -d -v Diese beiden Befehle müssen nach jedem Neustart des Computers erneut ausgeführt werden. Das kann man natürlich auch skripten.
dmesg
zeigt uns an, ob und ggf. mit welchen Fehlern der Treiber geladen wurde. Mir bekannte Fehler
Diese müssen nicht sofort beim Laden des Treibers auftreten:
cat /proc/interrupts
anzeigen. Der Einsatz der Karte hat trotz diesem Fehler funktioniert. zaphfc: sync lost, pci performance too low. you might have some cpu throtteling enabled. Dieser Fehler ist gemein, den sobald er auftrat hat er den CPU sehr stark belastet. Der Fehler tritt reproduzierbar bei hoher Prozessorlast auf. Daraufhin meckert der Treiber den LOG Daemon an, also schickt ihm die Zeilen, die er ins Log schreiben soll. Und das in einer so hohen Geschwindigkeit, dass dieser Vorgang reicht um den 1,2GHz CPU des Jetway auszulasten. Es ist also ein Teufelskreis. Meine (zugegebenermassen recht plumpe) Lösung ist den zaphfc so zu verändern, dass er nicht mehr meckert. Dazu beendet man den laufenden Treiber mit
rmmod zaphfc
und kommentiert man die Zeilen 700 bis 703 in der Datei /usr/src/bristuff-0.3.0-PRE-1y-o/zaphfc/main.c aus. Evtl. ändert sich der genaue Ort dieser IF Abfrage mit einer anderen Version von bristuff, d.h. der Code steht in anderen Zeilen. Dann sucht einfach in der Datei nach "zaphfc: sync lost, pci performance too low. you might have some cpu throtteling enabled." und ändert den Code, dass er folgendermassen aussieht:
/*if (s2 & hfc_M2_PMESEL) { // kaboom irq (bit 7) printk(KERN_CRIT "zaphfc: sync lost, pci performance too low. you might have some cpu throtteling enabled.\n"); }*/ Anschliessend muss der Treiber neu kompiliert werden.
make clean make make install genzaptelconf -c de -d -v Es kann sein, dass er hier noch meckert, dass er die Kernel Headers im Verzeichniss /usr/src/linux-2.6 erwartet. Dann müsst Ihr noch einen Symlink vondem Verzeichniss in dem Euer Kernel Header tatsächlich liegt dahin setzen:
ln -s /usr/src/VERZEICHNISSEURERHEADER /usr/sr/linux-2.6
Gelegentlich bleibt der Computer hängen Das kann an allem möglichen hängen, aber ich habe die Erfahrung gemacht, dass es (zumidest bei mir) nicht mehr passiert, wenn man ACPI im BIOS ausstellt. |