Asterisk Zaphfc und 2.6 Kernel

Dakapo

Mitglied
Mitglied seit
10 Aug 2004
Beiträge
380
Punkte für Reaktionen
0
Punkte
16
Einen schönen guten Abend.

Ich versuche jetzt schon seit einigen Tagen den Zaphfc mit einem 2.6.10 Kernel unter Debian Sarge zum Laufen zu bekommen, aber es gelingt mir leider nicht. Ich habe auch schon nach Hinweisen im Forum gesucht, welche mich nicht weitergebracht haben.

Die Kernelsourcen liegen in /usr/src/Kernel-2.6.10 und auch ein Link /usr/src/linux-2.6 verweist auf die Sourcen.

Bei der Installation von Zaphfc kam die folgende Meldung:
Code:
rm -f zaphfc.o *.ko *.mod.c *.mod.o .*o.cmd *~
rm -rf .tmp_versions
make -C /usr/src/linux-2.6 SUBDIRS=/usr/src/bristuff-0.2.0-RC8d/zaphfc ZAP=-I/usr/src/bristuff-0.2.0-RC8d/zaptel-1.0.7 modules
make[1]: Entering directory `/usr/src/linux-2.6.10'
  CC [M]  /usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.o
/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.c: In function `hfc_findCards':
/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.c:1000: warning: use of cast expressions as lvalues is deprecated
/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.c:1000: warning: use of cast expressions as lvalues is deprecated
  Building modules, stage 2.
  MODPOST
*** Warning: "zt_register" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_transmit" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_receive" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_ec_chunk" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_unregister" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
  CC      /usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.mod.o
  LD [M]  /usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko
make[1]: Leaving directory `/usr/src/linux-2.6.10'
install -D -m 644 zaphfc.ko /lib/modules/`uname -r`/misc/zaphfc.ko
****************************************************
hfc-pci driver installed.
Press <Enter> to continue, or <CTRL> + <C> to abort.
****************************************************

Wenn ich nun Versuche die Treiber zu laden mit make loadNT bzw. make loadlinux26NT dann kommt folgende Meldung:

Code:
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# make loadlinux26NT
make -C /usr/src/linux-2.6 SUBDIRS=/usr/src/bristuff-0.2.0-RC8d/zaphfc ZAP=-I/usr/src/bristuff-0.2.0-RC8d/zaptel-1.0.7 modules
make[1]: Entering directory `/usr/src/linux-2.6.10'
  Building modules, stage 2.
  MODPOST
*** Warning: "zt_register" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_transmit" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_receive" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_ec_chunk" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_unregister" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
make[1]: Leaving directory `/usr/src/linux-2.6.10'
modprobe zaptel
WARNING: /etc/modprobe.d/zaptel line 3: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel line 4: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel line 5: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel line 6: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel line 7: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel line 8: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel line 9: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel line 10: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel.bak line 3: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel.bak line 4: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel.bak line 5: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel.bak line 6: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel.bak line 7: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel.bak line 8: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel.bak line 9: ignoring bad line starting with 'post-install'
WARNING: /etc/modprobe.d/zaptel.bak line 10: ignoring bad line starting with 'post-install'
FATAL: Error inserting zaptel (/lib/modules/2.6.10/misc/zaptel.ko): Unknown symbol in module, or unknown parameter (see dmesg)
make: *** [loadlinux26NT] Error 1

Für sachdienliche Hinweise wäre ich sehr dankbar :)

Schöne Grüsse
Dakapo
 
sehr merkwuerdig. Ich hab auf mein Testsystem auch debian sarge frisch installiert. Hab allerdings die 2.6.11er Kernelsourcen direkt von kernel.org genommen.
Weder mit der RC8c, RC8e noch mit der CVS von bristuff hatte ich Probleme.
Hat die restliche Installation (kompilieren) denn fehlerfrei funktioniert? Die Paar Warnmeldungen bekomme ich auch.

make loadlinux26NT hab ich nie benutzt, wusste bis gerade noch nicht mal, dass es das gibt. 'make loadNT' ging einwandfrei. Sagt 'make loadNT' selbiges bei Dir wie loadlinux26NT?
 
Also ich habe auch den Kernel von kernel.org geholt. Auch die 2.6.11er Version hatte ich schon ohne Erfolg getestet. make loadNT bringt die gleiche Fehlermeldung :(
 
@Dakopo

Poste doch bitte mal deine /etc/modprobe.d/zaptel
bei mir taucht kein postinstall darin auf.
Desweiteren sollte auch zaptel beim Kernel Wechsel neu
übersetzt und installiert werden nicht nur zaphfc.
 
@Karl23:
Selbstverständlich habe ich alles neu übersetzt, nicht nur zaptel.

Meine /etc/modprobe.d/zaptel:
Code:
options torisa base=0xd0000
alias char-major-196 torisa
post-install tor2 /sbin/ztcfg
post-install wcusb /sbin/ztcfg
post-install wcfxo /sbin/ztcfg
post-install ztdynamic /sbin/ztcfg
post-install ztd-eth /sbin/ztcfg
post-install wct1xxp /sbin/ztcfg
post-install wct4xxp /sbin/ztcfg
post-install wcte11xp /sbin/ztcfg
alias wctdm wcfxs
install torisa /sbin/modprobe --ignore-install torisa && /sbin/ztcfg
install wcfxs /sbin/modprobe --ignore-install wcfxs && /sbin/ztcfg

Die Fehlermeldung mit den postinstalls kommt, wenn modprobe zaptel aufgerufen wird. Die Fehlermeldung "Error inserting Zaptel..." habe ich wegbekommen durch das Einkompilieren von Library routines -> CRC-CCITT functions in den Kernel. Dafür kommt jetzt die folgende Fehlermeldung beim Aufruf von "insmod ./zaphfc.ko modes=1":

Code:
insmod: error inserting './zaphfc.ko': -1 File exists
 
Hallo

DIe Postinstall sind falsch. Modul lade Folge ist per Hand:
asterisk stoppen
rmmod zaphfc
modprobe -r zaptel
dann:
isnmod ../zaptel/zaptel.ko
insmod zaphfc.ko modes=1 (oder welche parameter auch immer)
ztcfg -vv

bei dir wird durch postinstall unmittelbar nach laden
von taptel der ztcfg aufgerufen. Dieser darf aber nur nach dem laden von
zaphfc geladen werden.

also lösche /etc/modprobe.d/zaptel.bak und /etc/modprobe.d/zaptel
dan klappst auch mit
make loadNT oder ähnlich. depmod -a nicht vergessen
 
Hmm, ich habe jetzt alle Schritte durchgeführt, wie Du sie beschrieben hast, aber leider ohne einen Erfolg :(
Die Dateien sind gelöscht und Asterisk läuft nicht.

Code:
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# rmmod zaphfc
FATAL: Kernel does not have unload support.
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# modprobe -r zaptel
FATAL: Error removing zaptel (/lib/modules/2.6.10/misc/zaptel.ko): Kernel does not have module unloading support
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# insmod ../zaptel-1.0.7/zaptel.ko
insmod: error inserting '../zaptel-1.0.7/zaptel.ko': -1 File exists
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# insmod zaphfc.ko
insmod: error inserting 'zaphfc.ko': -1 File exists
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# ztcfg -vv

Zaptel Configuration
======================

SPAN 1: CCS/ AMI Build-out: 399-533 feet (DSX-1)

Channel map:

Channel 01: Individual Clear channel (Default) (Slaves: 01)
Channel 02: Individual Clear channel (Default) (Slaves: 02)
Channel 03: D-channel (Default) (Slaves: 03)

3 channels configured.

asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# make loadNT
make -C /usr/src/linux-2.6 SUBDIRS=/usr/src/bristuff-0.2.0-RC8d/zaphfc ZAP=-I/usr/src/bristuff-0.2.0-RC8d/zaptel-                                             1.0.7 modules
make[1]: Entering directory `/usr/src/linux-2.6.10'
  Building modules, stage 2.
  MODPOST
*** Warning: "zt_register" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_transmit" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_receive" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_ec_chunk" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_unregister" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
make[1]: Leaving directory `/usr/src/linux-2.6.10'
modprobe zaptel
insmod ./zaphfc.ko modes=1
insmod: error inserting './zaphfc.ko': -1 File exists
make: *** [loadlinux26NT] Error 1
 
FATAL: Kernel does not have unload support.

Autsch ... da solltest Du Deinen Kern mal korrekt konfigurieren :)
Schau mal, ob du den "Loadable Module Support" (CONFIG_MODULES=y) überhaupt drin hast und mach dann dort mal noch das "Module Unloading" an (CONFIG_MODULE_UNLOAD=y)

ist zaptel wirklich auch schon geladen? (lsmod)
 
So, das mit dem CONFIG_MODULE_UNLOAD habe ich behoben, aber viel weiter bin ich noch immer nicht :-/

Code:
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# rmmod zaphfc
ERROR: Module zaphfc does not exist in /proc/modules
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# modprobe -r zaptel
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# insmod ../zaptel-1.0.7/zaptel.ko
insmod: error inserting '../zaptel-1.0.7/zaptel.ko': -1 Invalid module format
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# insmod zaphfc.ko modes=1
insmod: error inserting 'zaphfc.ko': -1 Invalid module format
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# ztcfg -vv

Zaptel Configuration
======================

SPAN 1: CCS/ AMI Build-out: 399-533 feet (DSX-1)

Channel map:

Channel 01: Individual Clear channel (Default) (Slaves: 01)
Channel 02: Individual Clear channel (Default) (Slaves: 02)
Channel 03: D-channel (Default) (Slaves: 03)

3 channels configured.

Notice: Configuration file is /etc/zaptel.conf
line 8: Unable to open master device '/dev/zap/ctl'
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# make loadNT
make -C /usr/src/linux-2.6 SUBDIRS=/usr/src/bristuff-0.2.0-RC8d/zaphfc ZAP=-I/usr/src/bristuff-0.2.                                                           0-RC8d/zaptel-1.0.7 modules
make[1]: Entering directory `/usr/src/linux-2.6.10'
  CC [M]  /usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.o
/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.c: In function `hfc_findCards':
/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.c:1000: warning: use of cast expressions as lvalues is d                                                           eprecated
/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.c:1000: warning: use of cast expressions as lvalues is d                                                           eprecated
  Building modules, stage 2.
  MODPOST
*** Warning: "zt_register" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_transmit" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_receive" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_ec_chunk" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
*** Warning: "zt_unregister" [/usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko] undefined!
  CC      /usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.mod.o
  LD [M]  /usr/src/bristuff-0.2.0-RC8d/zaphfc/zaphfc.ko
make[1]: Leaving directory `/usr/src/linux-2.6.10'
modprobe zaptel
FATAL: Error inserting zaptel (/lib/modules/2.6.10/misc/zaptel.ko): Invalid module format
make: *** [loadlinux26NT] Error 1

Auffällig ist, dass jetzt etwas von einem ungültigen Modul-Format gesagt wird...

Achso: lsmod zeigt jetzt kein einziges Modul an. Vorhin standen zaptel und zaphfc noch drinnen, also bevor ich den Kernel neu kompiliert habe mit den CONFIG_MODULE_UNLOAD.
 
- Du hast den Rechner auch neu gestartet? ;)
- Kern und bristuff sind mit der gleichen gcc-Version kompiliert?
- Du verwendest auch wirklich einen 2.6er Kern? ;)

was sagt "modinfo zaptel" und was sagt "uname -a" ?
 
Also modinfo zaptel:
Code:
asterisk:/etc/rcS.d# modinfo zaptel
filename:       /lib/modules/2.6.10/misc/zaptel.ko
author:         Mark Spencer <[email protected]>
description:    Zapata Telephony Interface
license:        GPL
vermagic:       2.6.10 386 gcc-3.3
depends:

uname -a
Code:
Linux asterisk 2.6.10 #3 Wed May 25 20:03:13 CEST 2005 i686 GNU/Linux

Hab alles gleich kompiliert und auch neugestartet. Ja, wirklich 2.6er Kernel und ich möchte auch nochmal bemerken, das mit dem 2.4er Kernel alles einwandfrei funktioniert :(
 
Hmmm..... wenn er jetzt nicht mit dem module-format ein problem hätte würd ich sagen, nimm mal 2.6.11, evtl. 2.6er bug. aber so.

Wenn Du das Modul laden willst -- mach mal dmesg danach -- steht da etwas mehr drin (oder im syslog)?

Ansonsten: /usr/src/linux-2.6 zeigt auch auf das korrekte Kernelverzeichnis (genau wie /lib/modules/2.6.10/build) ?
 
In dmesg steht auch nicht so viel mehr:

Code:
zaptel: disagrees about version of symbol struct_module

Hi ei ei... Soon Mistkram... Kann doch nicht so kompliziert sein
 
heh, die Meldung liest sich ja nett :)
Hmm... kann jetzt sein, dass da irgendwas von wegen Kern und bristuff-Version jetzt nicht 100% zusammenpasst. Kenn ich mich jetzt aber auch nicht aus -- ich nix bristuff-Nutzer :)

Falls kein anderer hier Rat weiss, kannst Du ja auch mal auf irc.freenode.net in #asterisk-drinkers vorbeischauen und kapejod & die anderen bristuff-Nutzer dort mal fragen.
 
Die Meldungen, welche Du nach meinen Posting gepostest hast
bedeuten, das deine Module fest im Kernel sind.
Du brauchst nur nach dem ztcfg -vv
asterisk:/usr/src/bristuff-0.2.0-RC8d/zaphfc# ztcfg -vv

Zaptel Configuration
======================

SPAN 1: CCS/ AMI Build-out: 399-533 feet (DSX-1)

Channel map:

Channel 01: Individual Clear channel (Default) (Slaves: 01)
Channel 02: Individual Clear channel (Default) (Slaves: 02)
Channel 03: D-channel (Default) (Slaves: 03)

3 channels configured.

direkt asterisk starten.

Kein make loadNT aufrufen.
 
Ja, jetzt läuft Zaphfc wieder. Asterisk auch beinahe...
Hier bricht es ab:
Code:
 [app_rxfax.so]
May 25 23:24:05 WARNING[23609]: loader.c:258 ast_load_resource: /usr/lib/asterisk/modules/app_rxfax.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
May 25 23:24:05 WARNING[23609]: loader.c:440 load_modules: Loading module app_rxfax.so failed!

Hat jemand ne Idee, wie ich das noch flicken kann? Ich geh jetzt erstmal ins Bett... :)
 
etc/asterisk/modules.conf
noload app_rxfax.so
 
Hehe, das wäre die radikale Methode um Asterisk erstmal wieder zum Laufen zu bringen und habe ich auch übergangsweise gemacht, aber auf kurz oder lang möchte ich ja gerne das Fax-Modul nutzen :)
 
Dann bau dir einen modularen Kernel
übersetze den bristuff neu
zaptel erzeugt dann auch die richtige /etc/modprobe.d/zaptel.
Deine COnfig erscheint irgenwie durcheinander.
 
Zwei unterschiedliche Kompilerversionen

Hallo,

bekomme bei "make loadNT" im syslog die Fehlermeldung:

asterisk kernel: zaptel: version magic '2.6.12-ct-1 preempt 586 gcc-4.0' should be '2.6.12-ct-1 preempt 586 gcc-3.3'

Ich hab bereits versucht jeweils eine der zwei Kompilerversion los zu werden. Weder gcc-3.3 noch gcc-4.0 krieg ich weg.

Wie kann ich make mitteilen das gcc-4.0 verwendet werden soll (muss)?
Oder gibts eine ander Lösung.

Besten Dank im Voraus

Hans
 
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.