Menu

unknown symbol class_device_create

2006-01-25
2013-04-03
  • Hartmut Hünteler

    Hallo,

    alles nach Anleitung gemacht und ich bekomme diese Fehlermeldung bei
    modprobe eumex

    modprobe eumex_i4l
    liefert dann noch folgendes
    unknown symbol register_emx_interface
    unknown symbol release_emx_interface

    Ich habe hier einen AMD64, Gentoo mit im Kernel reinkompilierten USB-support (deshalb kein lsmod durchgeführt).

    dmesg | grep usb
    liefert mehrere Einträge "usbcore: ..."

    dmesg | grep hcd
    liefert mehrere Einträge mit "ehci_hcd ..." und "ohci_hcd ..."

    Heruntergeladen habe ich mir eumex-0.1.2 und zusätzlich die emx_usb.c, die ich in das entspr. Unterverzeichnis nach dem entpacken kopiert habe (die Lösung stand hier irgendwo im Forum).

    Fehlt mir irgendetwas, muss ich andere Dateien aktualisiern???

    Das Problem an der ganzen Sache: bin mit Win online und versuche den anderen Rechner ohne Windows online zu bringen ...

    vielen Dank für eure Hilfe,
    Hardy

     
    • Fabian Melzow

      Fabian Melzow - 2006-01-25

      Generell wäre die Kernelversion interessant gewesen, aber ich denke mal du benutzt Kernel 2.6.15 oder höher. Die 0.1.2 hat Probleme mit dieses Version, da es genau bei class_device_create() wieder eine Änderung gab. Die CVS-Version sollte hoffentlich funktionieren. Ich noch keine neue Version gemacht, weil da noch das Problem mit dem falschen Installationsverzeichnis mit rein soll.

       
    • Hartmut Hünteler

      Hallo Fabian,

      ich hab mal vom CVS ausgecheckt, nur mit den Dateien ging es leider nicht weiter, also noch einmal entpackt und dann drüber kopiert, brachte auch keine Besserung.

      Dann habe ich mal nachgesehen, welche Dateien nach dem 23.09.2005 verändert wurden:
      /kernel/usb/kernel2.6/eumex/emx_usb.c
      /kernel/konfig/rewr.c
      /kernel/konfig/konfig.c

      Kurzform der Fehlermeldung (wg. abtippen) beim 'make':
      ...
      make[4]: Entering directory '/usr/src/eumex/eumex-0.1.2/kernel/usb/kernel2.6'
      make -C /lib/modules/... .../kernel/usb/kernel2.6/eumex modules
      make[5]: Entering directory '/usr/src/linux-2.6.11-gentoo-r1'
      + Building modules, stage 2
         MODPOST
      *** Warning: "class_device_create" [/usr/src/eumex/eumex-0.1.2/kernel/usb/kernel2.6/eumex/eumex.ko] undefined!
      make[5]: Leaving directory ...
      ...

      Meine Kernelversion ist 2.6.11, falls es hilft ...

      Danke für Deine Hilfe,
      Hardy

       
    • yminus

      yminus - 2006-02-02

      Hallo,

      ich hab ein ähnliches Problem.
      Inzwischen nutze ich Kubuntu 5.10 Breezy Badger
      Kernel 2.6.12-10-k7 (früher Fedora, s. früherer Thread)

      Ich habe den Treiber per CVS installiert, ./autogen.sh, ./configure liefen problemlos.

      Bei make dann ein paar Warnungen:
      make  all-recursive
      make[1]: Gehe in Verzeichnis »/usr/src/Eumex«
      Making all in kernel
      make[2]: Gehe in Verzeichnis »/usr/src/Eumex/kernel«
      Making all in konfig
      make[3]: Gehe in Verzeichnis »/usr/src/Eumex/kernel/konfig«
      make[3]: Für das Ziel »all« ist nichts zu tun.
      make[3]: Verlasse Verzeichnis »/usr/src/Eumex/kernel/konfig«
      Making all in router
      make[3]: Gehe in Verzeichnis »/usr/src/Eumex/kernel/router«
      make[3]: Für das Ziel »all« ist nichts zu tun.
      make[3]: Verlasse Verzeichnis »/usr/src/Eumex/kernel/router«
      Making all in flash
      make[3]: Gehe in Verzeichnis »/usr/src/Eumex/kernel/flash«
      make[3]: Für das Ziel »all« ist nichts zu tun.
      make[3]: Verlasse Verzeichnis »/usr/src/Eumex/kernel/flash«
      Making all in usb
      make[3]: Gehe in Verzeichnis »/usr/src/Eumex/kernel/usb«
      Making all in kernel2.6
      make[4]: Gehe in Verzeichnis »/usr/src/Eumex/kernel/usb/kernel2.6«
      make -C /lib/modules/2.6.12-10-k7/build SUBDIRS=/usr/src/Eumex/kernel/usb/kernel2.6/eumex modules
      make[5]: Gehe in Verzeichnis »/usr/src/linux-headers-2.6.12-10-k7«
        Building modules, stage 2.
        MODPOST
      *** Warning: "class_device_create" [/usr/src/Eumex/kernel/usb/kernel2.6/eumex/eumex.ko] undefined!
      make[5]: Verlasse Verzeichnis »/usr/src/linux-headers-2.6.12-10-k7«
      make -C /lib/modules/2.6.12-10-k7/build SUBDIRS=/usr/src/Eumex/kernel/usb/kernel2.6/eumex_i4l modules
      make[5]: Gehe in Verzeichnis »/usr/src/linux-headers-2.6.12-10-k7«
        Building modules, stage 2.
        MODPOST
      *** Warning: "release_emx_interface" [/usr/src/Eumex/kernel/usb/kernel2.6/eumex_i4l/eumex_i4l.ko] undefined!
      *** Warning: "register_emx_interface" [/usr/src/Eumex/kernel/usb/kernel2.6/eumex_i4l/eumex_i4l.ko] undefined!
      make[5]: Verlasse Verzeichnis »/usr/src/linux-headers-2.6.12-10-k7«
      make[4]: Verlasse Verzeichnis »/usr/src/Eumex/kernel/usb/kernel2.6«
      make[4]: Gehe in Verzeichnis »/usr/src/Eumex/kernel/usb«
      make[4]: Für das Ziel »all-am« ist nichts zu tun.
      make[4]: Verlasse Verzeichnis »/usr/src/Eumex/kernel/usb«
      make[3]: Verlasse Verzeichnis »/usr/src/Eumex/kernel/usb«
      make[3]: Gehe in Verzeichnis »/usr/src/Eumex/kernel«
      make[3]: Für das Ziel »all-am« ist nichts zu tun.
      make[3]: Verlasse Verzeichnis »/usr/src/Eumex/kernel«
      make[2]: Verlasse Verzeichnis »/usr/src/Eumex/kernel«
      Making all in userspace
      make[2]: Gehe in Verzeichnis »/usr/src/Eumex/userspace«
      if [ -e /usr/local/include/usb.h -o -e /usr/include/usb.h ] && \
      [ -e /usr/lib/libusb -o -e /usr/lib/libusb.a -o -e \
      /usr/local/lib/libusb -o -e /usr/local/lib/libusb.a ]; then \
      make -C dispatcher all; fi
      make[2]: Verlasse Verzeichnis »/usr/src/Eumex/userspace«
      make[2]: Gehe in Verzeichnis »/usr/src/Eumex«
      make[2]: Verlasse Verzeichnis »/usr/src/Eumex«
      make[1]: Verlasse Verzeichnis »/usr/src/Eumex«                                                                                                                                    

      Danach zunächst:
      # modprobe eumex
      FATAL: Module eumex not found.

      Dann habe ich eumex.ko und eumes_i4l.ko von /lib/modules/2.6.12/extra nach /lib/modules/2.6.12-10-K7 kopiert (wie in einem anderen Thread im zusammenhang mit Debian gelesen)

      und wieder:
      # modprobe eumex
      FATAL: Module eumex not found.

      Danach:
      # depmod -a (auch in einem anderen Thread gelesen)

      Jetzt:

      # modprobe eumex
      FATAL: Error inserting eumex (/lib/modules/2.6.12-10-k7/eumex.ko): Unknown symbol in module, or unknown parameter (see dmesg)

      # dmesg
      eumex: Unknown symbol class_device_create

      Was lief schief?

      Danke,
      S&R

       
    • Fabian Melzow

      Fabian Melzow - 2006-02-02

      Der Fehler lag am Code, da war ein #else, wo kein's hin darf. Die aktuelle CVS-Version sollte jetzt hoffentlich funktionieren.

       
    • yminus

      yminus - 2006-02-03

      Die gute Nachricht:
      Es funktioniert!
      Zumindest kann ich emxconf starten und die Einstellungen aus der Anlage lesen und verändern.

      Die schlechte Nachricht:
      Die Änderungen der eingetragenen MSN werden nicht gespeichert. Beim Drücken auf <w> springt die Anzeige kurz auf "Einstellungen speichern", übernimmt diese aber nicht. D.h. nach dem Neuladen <a> sind die alten MSN wieder da. Ich hab ne OpenCom40DSL, die ich per Firmware-Update auf eine Eumex704PClan "umgeflasht" habe. Andere Einstellungen werden offensichtlich gespeichert. (Zur Not kann ich die MSN ja per Telefonkonfiguration ändern und dann per emxconf überprüfen, aber auf Dauer wäre es schon schön wenn auch das speichern der MSN über emxconf funktionieren würde)

      Vielen Dank und schöne Grüße,
      S&R

       
    • yminus

      yminus - 2006-02-03

      Ach ich vergaß:

      Anlage:    EUMEX704LAN                                                 |
      |       Firmware:  2.92  

      Und nochmal ein riesen Danke für das schnelle korrigieren des Fehlers. Wenn die Telekomiker nur auch mal so schnell wären...

      Schöne Grüße,
      Lars

       

Log in to post a comment.

MongoDB Logo MongoDB