.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Asterisk ISDN mit Sirrix-Karten" wurde erstellt von udosw, 25 Sep. 2006.

  1. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Hannover
    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.
     
  2. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    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);
     
  3. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Hannover
    @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
     
  4. Maik

    Maik Gesperrt

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

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Hannover
    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
     
  6. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    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. ;)
     
  7. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Hannover
    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