[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: AVM Capi unter Debian (2.4.18)



Am Wed, 03 Nov 2004 um 22:38 GMT +0100 schrieb Uwe Kerstan:

Hallo Uwe,
>  
> Für mich sieht es eher so aus, als wenn das Modul gar nicht neu 
> compiliert wurde. Sonst würde die aktuelle Kernelversion im Modul zu
> finden sind.
>
So. Ich habe mir das ./install script noch mal genau angesehen und die
entsprechenden Schalter beim compilieren gesetzt:

    # ./install -k -r
    Removing driver for FRITZ!Card PCI...
    ./install: insserv: command not found
    ./install: rpm: command not found
    CAPI tools/libraries already removed.
    Remove completed.

Ist Modul deinstalliert?  
  
    $ ls /lib/modules/2.4.18-686/misc/fcpci.o
    ls: /lib/modules/2.4.18-686/misc/fcpci.o: No such file or directory

Ok. Dann neu compilieren:  

    # ./install -k -c
    Stopping I4L...
    Generating driver...
    (cd src.drv; make CARD=fcpci)
    make[1]: Entering directory /usr/src/fritz/src.drv'
    cc -c -DMODULE -D__KERNEL__ -DNDEBUG -D__fcpci__ -DTARGET=\"fcpci\"  -O2
    -Wall -I /lib/modules/uname -r/build/include main.c -o main.o 
    In file included from /usr/include/linux/modversions.h:117,
                     from /usr/include/linux/module.h:21,
                     from main.c:32:
    /usr/include/linux/modules/i386_ksyms.ver:10: warning: EISA_bus' redefined
    /usr/include/asm/processor.h:254: warning: this is the location of the
    previous definition
    cc -c -DMODULE -D__KERNEL__ -DNDEBUG -D__fcpci__ -DTARGET=\"fcpci\"  -O2
    -Wall -I /lib/modules/uname -r/build/include driver.c -o driver.o 
    cc -c -DMODULE -D__KERNEL__ -DNDEBUG -D__fcpci__ -DTARGET=\"fcpci\"  -O2
    -Wall -I /lib/modules/uname -r/build/include tables.c -o tables.o 
    cc -c -DMODULE -D__KERNEL__ -DNDEBUG -D__fcpci__ -DTARGET=\"fcpci\"  -O2
    -Wall -I /lib/modules/uname -r/build/include queue.c -o queue.o 
    cc -c -DMODULE -D__KERNEL__ -DNDEBUG -D__fcpci__ -DTARGET=\"fcpci\"  -O2
    -Wall -I /lib/modules/uname -r/build/include lib.c -o lib.o 
    cc -c -DMODULE -D__KERNEL__ -DNDEBUG -D__fcpci__ -DTARGET=\"fcpci\"  -O2
    -Wall -I /lib/modules/uname -r/build/include tools.c -o tools.o 
    In file included from tools.c:30:
    /usr/include/linux/malloc.h:4: warning: #warning linux/malloc.h is
    deprecated, use linux/slab.h instead.
    ld -r -o fcpci.o main.o driver.o tables.o queue.o lib.o tools.o
    ../lib/fcpci-lib.o
    make[1]: Leaving directory /usr/src/fritz/src.drv'
    Installing driver for FRITZ!Card PCI...
    ./install: insserv: command not found
    ./install: rpm: command not found
    Copying CAPI drivers...
    Copying CAPI tools...
    Copying driver module...
    install_passive-d.html' ->
    /usr/share/doc/CAPI4Linux/de/install_passive.html'
    install_passive-e.html' ->
    /usr/share/doc/CAPI4Linux/en/install_passive.html'
    
    Ready.
    
    NOTE: The format of the pppd peer scripts has been changed!
          The peer scripts have been checked/updated.
    
    Starting CAPI...
  
    #
  
Modul im Kernel installieren:

    # modprobe fcpci
    /lib/modules/2.4.18-686/misc/fcpci.o: kernel-module version mismatch
            /lib/modules/2.4.18-686/misc/fcpci.o was compiled for kernel
    version 2.4.18
            while this kernel is version 2.4.18-686.
    /lib/modules/2.4.18-686/misc/fcpci.o: insmod
    /lib/modules/2.4.18-686/misc/fcpci.o failed
    /lib/modules/2.4.18-686/misc/fcpci.o: insmod fcpci failed
    # 

Das Modul wurde also neu compiliert, allerdings nimmt er die falsche
Kernel-Verion an. Nur das er jetzt einen 2.4.18 Kernel anstatt 2.4.18-4GB
will. _Eigentlich_ müßte ich Ihm ja nur noch beibringen 2.4.18-686 zu
erkennen. Uname liefert 2.4.18-686 zurück. Ich habe in ./install die
Variable TGZVER mal auf 2.4.18-686 gesetzt, was allerdings mit dem
Schalter -k keine Auswirkungen hat.

Ich hatte bei meinen ersten Versuchen Probleme mit den
Headern, die ja in /usr/src/kernel-headers-2.4.18-686 installiert sind.
Zum Compilieren mußte ich einige Symlinks in /usr/include/linux anlegen,
da das AVM Paket die Header-Files sonst nicht gefunden hat.

Die Frage ist jetzt, woher das Modul beim compilieren 2.4.18 anstatt
2.4.18-686 ermittelt?

    
> Bei meinem fcdslsl.o Modul teste ich das immer mit:
> 
> $ od -s /lib/modules/*/misc/fcdslsl.o | grep kernel_version=
> 

   $  od -s /lib/modules/*/misc/fcpci.o | grep kernel_version=
   1643140 kernel_version=2.4.18
   1643340 kernel_version=2.4.18-4GB
   $ 

Da steht auch noch die -4GB Version drin, obwohl modprobe die nicht
anmäkelt.

Viele Grüsse,
Martin Werthmöller
 
-- 
LWsystems - Systemübergreifende IT-Beratung und Service
mw@lw-systems.de * http://lw-systems.de
Besuchen Sie uns auf der "business online" am 24. und 25.11.2004 in der Halle
Münsterland, Stand F9. * http://www.business-online-messe.de



Reply to: