[gelöst] Treiber srx-pci4s0-060330 kompiliert nicht

udosw

Aktives Mitglied
Mitglied seit
20 Mrz 2004
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
Beim Versuch, den aktuellen Sirrix PCI4S0-Treiber zu kompilieren, erhalte ich nach Aufruf von make modules:

Code:
make[2]: Entering directory `/usr/src/linux-headers-2.6.17-2-486'
  LD      /usr/src/srx-pci4s0/sirrix-pci/layer1/built-in.o
  CC [M]  /usr/src/srx-pci4s0/sirrix-pci/layer1/base.o
  CC [M]  /usr/src/srx-pci4s0/sirrix-pci/layer1/management1.o
  CC [M]  /usr/src/srx-pci4s0/sirrix-pci/layer1/ipac.o
  CC [M]  /usr/src/srx-pci4s0/sirrix-pci/layer1/ipac_fsm.o
  CC [M]  /usr/src/srx-pci4s0/sirrix-pci/layer1/layer1_state.o
  CC [M]  /usr/src/srx-pci4s0/sirrix-pci/layer1/layer1.o
  CC [M]  /usr/src/srx-pci4s0/sirrix-pci/layer1/layer1dev.o
/usr/src/srx-pci4s0/sirrix-pci/layer1/layer1dev.c:55: error: expected ')' before string constant
make[3]: *** [/usr/src/srx-pci4s0/sirrix-pci/layer1/layer1dev.o] Fehler 1
make[2]: *** [_module_/usr/src/srx-pci4s0/sirrix-pci/layer1] Fehler 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.17-2-486'
make[1]: *** [modules] Fehler 2
make[1]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/layer1'
make: *** [modules] Fehler 2
eSNACC ist installiert.

Ratlos :noidea:
Udo

Ergänzung: Exakt derselbe Fehler bei der vorhergehenden Treiberversion.
 

Maik

Gesperrt
Mitglied seit
1 Apr 2004
Beiträge
1,778
Punkte für Reaktionen
0
Punkte
0
Das ist ein bekanntes Problem, dass mit dem nächsten Treiberrelease behoben wird. Du kannst das Problem glücklicherweise auch relativ einfach selbst beheben. Du musst nur in den Dateien

bchdev/main.c
dchdev/main.c
layer1/layer1dev.c
pfic/pfic.c

Zeilen die so aussehen:

Code:
MODULE_PARM(l1dev_major,"i");
so abändern:

Code:
module_param(l1dev_major, int, 0);
 

udosw

Aktives Mitglied
Mitglied seit
20 Mrz 2004
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
@Maik: Danke, das hat zunächst geholfen. Leider kommt jetzt:

make modules
make modules_install
make dev

sind IMHO jetzt OK durchgelaufen.

Nun kommt:

# modprobe sirrix_base
FATAL: Module sirrix_base not found.

:confused:

Udo
 

Maik

Gesperrt
Mitglied seit
1 Apr 2004
Beiträge
1,778
Punkte für Reaktionen
0
Punkte
0
Wurden die Module wirklich nach /lib/modules/<kernel-version>/misc kopiert? Hast du schon mal insmod mit Angabe des kompletten Pfades versucht?
 

udosw

Aktives Mitglied
Mitglied seit
20 Mrz 2004
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
Maik schrieb:
Wurden die Module wirklich nach /lib/modules/<kernel-version>/misc kopiert? Hast du schon mal insmod mit Angabe des kompletten Pfades versucht?
Komischerweise wurde nur sirrix_bch kopiert. Mit insmod konnte ich die Module aber laden.

Danach taucht bei make das nächste Problem auf:

Code:
# make    
make -C utils && make -C layer1 && make -C layer2 && make -C layer3 && make -C asn1 && make -C cc && make -C ccuser && make -C pfic && make -C dchdev && make -C eepromdev && make -C bchdev && true
make[1]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/utils'
true
make[1]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/utils'
make[1]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/layer1'
true
gcc -o /usr/src/srx-pci4s0/sirrix-pci/../sirrix-pci/bin/layer1test ../utils/string.o layer1test.o -lc -lpthread
make[1]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/layer1'
make[1]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/layer2'
true
make[1]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/layer2'
make[1]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/layer3'
true
make[1]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/layer3'
make[1]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/asn1'
true
make[1]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/asn1'
make[1]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/cc'
true
make[1]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/cc'
make[1]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/ccuser'
make -C speex  && make -C aec  && make -C mec  && make -C fir_ec  && true
make[2]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/ccuser/speex'
true
make[2]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/ccuser/speex'
make[2]: Entering directory `/usr/src/srx-pci4s0/sirrix-pci/ccuser/aec'
true
g++ -c -Wall -O -fPIC -g -I/usr/src/srx-pci4s0/sirrix-pci/.. -I/usr/local/include/esnacc -I/usr/local/include/esnacc/c -I/usr/src/srx-pci4s0/sirrix-pci/.. -I/usr/src/srx-pci4s0/sirrix-pci/.. -o aec.o aec.cpp
aec.h:240: error: extra qualification 'AEC::' on member 'doAEC'
aec.h:242: error: extra qualification 'AEC::' on member 'getambient'
aec.h:245: error: extra qualification 'AEC::' on member 'setambient'
make[2]: *** [aec.o] Fehler 1
make[2]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/ccuser/aec'
make[1]: *** [subdirs] Fehler 2
make[1]: Leaving directory `/usr/src/srx-pci4s0/sirrix-pci/ccuser'
make: *** [noasterisk] Fehler 2
...:heul:
Udo
 

Maik

Gesperrt
Mitglied seit
1 Apr 2004
Beiträge
1,778
Punkte für Reaktionen
0
Punkte
0
Entferne mal in der Datei ccuser/aec/aec.h die Zeichenfolge 'AEC::' aus den Zeilen 240, 242 und 245. Das sollte das Problem beheben. Du hast wohl eine gcc-Version, die alles sehr genau nimmt. ;)
 

udosw

Aktives Mitglied
Mitglied seit
20 Mrz 2004
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
Danke, das hat dann geklappt und ich konnte die Karte mit * zum Laufen bringen. :D

Allerdings reicht ein 100 MHz PC (auf dem mein * zu Hause problemlos läuft) nicht wirklich aus, um der Karte irgendetwas anderes als völlig verstümmelte Töne zu entlocken (mit HFC-Karte kein Problem).

Udo
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,832
Beiträge
2,027,219
Mitglieder
350,921
Neuestes Mitglied
gordon78