Treiber Prism2_usb für MA111 bauen (ctvdr3)

  • Hallo Leute,


    ich raff's irgendwie nicht ;(


    Also, ich will einen Treiber für die Netgear WA111 bauen, damit ich über WLan ans Netz kann.
    Dazu wollte ich auch ein kleines HowTo schreiben, aber ich krieg die Treiber nicht mal richtig hin.


    Was ich bis jetzt so angestellt habe:


    Developer Environment laden:

    Code
    apt-get install dpkg-dev gcc g++ libc6-dev make patch debhelper


    Treiber sourcen laden:

    Code
    cd /usr/local/src
          wget _ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-0.2.1pre25.tar..gz


    Zum Compiliern des Treibers werden die Kernelsources benötigt:
    apt-get install kernel-source-2.4.27-ctvdr-1
    -> Kernelheaders installieren
    apt-get install kernel-headers-2.4.27-ctvdr-1


    Dabei habe ich festgestellt, dass 2 Verzeichnisse angelegt werden für die Sourcen und die Headers.
    Ich hab das dann einfach zusammen copiert. Dann kommt auch das ./configure des linux-wlan-ng klar.


    Weitere Feststllung ist, dass ein Link falsch ist (zumindest für diesen ctvdr Kernel)

    Code
    /lib/modules/2.4.27-ctvdr-1/build -> /usr/src/kernel-source-2.4.27


    Dann habe ich noch Installiert:
    - wireless-tools
    - linux-wlan-ng - utilities for wireless prism2 cards


    Das abschliessende Ausführen von "make all" im Verzeichnis /usr/local/src/linux-wlan-ng-0.2.1pre25 macht mir auch keine Fehlermeldungen.
    Das "make install" kopiert die Files auch nach /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng

    Code
    /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/p80211.o
    /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_cs.o
    /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_pci.o
    /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_plx.o
    /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_usb.o


    Ein abschliessendes

    Code
    modprobe /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_usb.o
    modprobe : Can't locate module /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_usb.o

    ...macht einen Fehler.


    Mannomann ... ich hab ja sogar schon mal ein Debian Paket für'n VDR gebaut gekriegt - und es hat sogar funktioniert. Aber dies hier will einfach nicht.


    Ich habe ja auch schon die alternative probiert, und die Debian Binaries zu dem Treiber geladen (linux-wlan-ng-modules-2.4.27-1-386 - drivers for wireless prism2 cards).
    Das benötigt allerdings auch den anderen Kernel. Das Resultat dabei war dann allerdings, dass der VDR nicht mehr gestartet ist. Geforscht habe ich da nicht weiter - einfach mal schnell wieder neu installiert.


    So, jetzt bräuchte ich ein wenig Hilfe, um den Knoten in meinem Hirn wieder auseinander zu bekommen.


    Vieleicht wäre es ja die Krönung ein Debian Binary Paket für den ctvdr-1 Kernel zu bauen und zur Verfügung zu stellen.


    Schönen Gruss,
    Barney

    c't VDR v.4.0 - (2.6.12-rc4-ct-2) - HP Pavillion PIII 733 - 256 MB - 15GB Seagate Barracuda - Nexus-S

    Einmal editiert, zuletzt von barney-s ()

  • holl dir doch die sources zum debian package und übersetzt es passend auf den kernel


    einfacher wirds nicht werden


    die source einträge in die sources.list (gibst bei debian)

    p5n7a-vm - debian lenny - vdr 1.7.9 - plugins: live, text2skin, epgsearch, xineliboutput cvs, streamdev-server - 2x tt s2-3200 - xine-vdpau 284 + df v9 patches - output vdr-sxfe
    p5n7a-vm - debian lenny - vdr 1.7.9 - plugins: text2skin, xineliboutput cvs, streamdev-client - xine-vdpau 284 + df v9 patches - output vdr-sxfe

  • Hi,


    Zitat

    Zum Compiliern des Treibers werden die Kernelsources benötigt:
    apt-get install kernel-source-2.4.27-ctvdr-1
    -> Kernelheaders installieren
    apt-get install kernel-headers-2.4.27-ctvdr-1


    Dabei habe ich festgestellt, dass 2 Verzeichnisse angelegt werden für die Sourcen und die Headers.
    Ich hab das dann einfach zusammen copiert.


    Zum Kernel kompilieren brauchst Du normalerweise nur die kernel-source-2.4.27-ctvdr-1, das hat schon seinen Grund warum das zwei verschieden Pakete sind, da muß nichts zusammenkopiert werden.
    Bei dem kernel-headers Paket handelt es sich, wie der Name schon sagt um die Headerdateien des Kernels, die man, vereinfacht gesagt, installiert wenn man irgendwas kompilieren will, daß diese Headerdateien benötigt, ohne den kompletten Kernel Source installieren zu müssen.


    Zitat

    Weitere Feststllung ist, dass ein Link falsch ist


    Um das zu beheben einfach im Makefile EXTRAVERSION = -ctvdr-1 angeben, dann sollte das klappen.


    Was mir sonst noch einfällt, Link von /usr/src/kernel-source-2.4.27-ctvdr-1 auf /usr/src/linux gesetzt?
    /boot/config-2.4.27-ctvdr-1 nach /usr/src/linux/.config kopiert und einmal 'make oldconfig' aufgerufen?


    Ciao


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Moin ;D


    Ich will ja keinen neuen Kernel bauen. Laut Treiber informationen ist das nicht notwendig.


    Allerdings will das "make config" des Treibers die "version.h" der Kernelsourcen haben. Deshalb habe ich den kram dann zusammenkopiert.


    Ich habe dann allerdings noch was gefunden:
    Der treiber ist in die modules.conf eingetragen.
    Allerdings fehlte der zusätzliche Pfad in den sich die Treiber verewigt haben.
    Also noch einen Eintrag in /etc/modutils/paths:

    Code
    echo "/lib/modules/2.4.27-ctvdr-1/linux-wlan-ng" >> /etc/modutils/paths


    Danach geht's auch schon besser, allerdings erzählt er was von falscher Kernelversion:

    Code
    vdr306:/etc/modutils# insmod prism2_usb
    Using /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_usb.o
    /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_usb.o: kernel-module version mismatch
            /lib/modules/2.4.27-ctvdr-1/linux-wlan-ng/prism2_usb.o was compiled for kernel version 2.4.27
            while this kernel is version 2.4.27-ctvdr-1.


    Da ich eigendlich für den richtigen Kernel kompiliert habe, dachte ich mir, dass ich den Treiber mal "force" die Kernelversion zu ignorieren.


    Ich glaub ich muss das nochmal clean aufsetzen, oder hat jemand noch'ne Idee.


    Achso, zu der Idee mit dem Debian Sourcepaket:
    Da wird leider nur eine alte Version bereitgestellt: linux-wlan-ng-0.2.0+0.2.1pre21, vieleicht werd' ich's damit auch noch mal versuchen.


    Schönen Gruss,
    Barney

    c't VDR v.4.0 - (2.6.12-rc4-ct-2) - HP Pavillion PIII 733 - 256 MB - 15GB Seagate Barracuda - Nexus-S

  • Hi,


    Zitat

    Ich will ja keinen neuen Kernel bauen.


    O.K., das ist natürlich was anderes, aber...


    Zitat

    allerdings erzählt er was von falscher Kernelversion:


    Aus diesem Grund wirst Du wahrscheinlich nicht drum rum kommen, denn die Sourcen sind ein Kernel 2.4.27 wo hingegen der ctvdr Kernel ein Kernel 2.4.27-ctvdr-1 ist, warum das inzwischen nicht mal geändert worden ist, ist mir schleierhaft, dadurch hast Du immer das Problem, wenn Du Module kompilierst ohne einen neuen Kernel zu bauen, das da immer ein Version mismatch geliefert wird. X(


    Wie ich schon schrieb:

    Zitat

    Um das zu beheben einfach im Makefile EXTRAVERSION = -ctvdr-1 angeben


    Möglicherweise gibt's da auch noch andere Methoden, die ich allerdings bis jetzt nicht kenne, außerdem war es immer schneller und einfacher einen neuen Kernel zu kompilieren, als sich hier im Forum mit der "tollen" Suchfunktion was raus zu suchen. :D


    Ciao


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Moin,


    also die EXPRAVERSION habe ich in das Makefile des Kernels eingebaut.
    Ein "make oldconfig" im Kernelsourceverzeichenis ebenfalls. Die Links habe ich auch umgebogen/erstellt.


    Die Meldung mit dem Kenelmissmatsch ist jetzt weg. Aber die "unresolved symbols" bleiben.


    Ich hab hier nochmal die Voraussetzungen aus dem README der Treibersourcen:


    Dann ist mir ist da heut' früh noch was beim compilieren der Treiber aufgefallen.
    Die "unresolved symbols" beim Treiberladen sind genau die Module, die beim Compilieren Warnings rausgeben:

    Irgendwo ist da echt der Wurm drinne.... Ich wer'd wohl mal die alten Debian Sourcen nehmen und probieren.


    Puhh, das ist immer soviel was ich hier Poste, ich hoffe es wird nicht unübersichtlich ... ?(


    Schönen Gruss,
    Barney

    c't VDR v.4.0 - (2.6.12-rc4-ct-2) - HP Pavillion PIII 733 - 256 MB - 15GB Seagate Barracuda - Nexus-S

    Einmal editiert, zuletzt von barney-s ()

  • Falls Du da durch komsmt, bitte melden und vieleicht ein Paket machen? ;)


    Ich habs mit den hostap-treibern versucht, da aber der CT-Kernel ohne versionsinfos bei den modulen gebaut ist, die hostap-treiber diese aber brauchen bin ich nicht weiter gekommen.


    Mit den linux-wlan-ng treibern geht meine Karte zwar auf normalen Debian, aber eigentlich wollte ich ihn als AP aufsetzen und dann halt gleich hostap nehmen.


    Werd mich noch ne weile mit hostap rumschlagen oder falls Du schon durch bist einfach Deine Module nehmen...

    Debian 11 Bullseye, ASRock J3455-ITX, DVB-S2 quattro, Raspi 3+ (Kodi-VNSI), 1 Raspi A+ (VOMP)

  • :deppenalarm:
    Ich hab's erstmal aufgegeben (mangels Zeit) und vorerst (zur freude meiner Frau ;D) ein Kabel verlegt.
    Vieleicht nehme ich mich des Problemes später nochmal an. Vieleicht wenn der leidensdruck meiner Frau hoch genug ist, damit das Kabel weg kommt :rolleyes:


    :closed:

    c't VDR v.4.0 - (2.6.12-rc4-ct-2) - HP Pavillion PIII 733 - 256 MB - 15GB Seagate Barracuda - Nexus-S

  • Eine Idee habe ich nun noch. Für LinVDR ist ein 2.6.10'er Kernel mit einkompilierten hostap-treibern.
    Den werde ich noch versuchen...

    Debian 11 Bullseye, ASRock J3455-ITX, DVB-S2 quattro, Raspi 3+ (Kodi-VNSI), 1 Raspi A+ (VOMP)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!