Probleme bei der Installation von spidev

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,

    ich habe mich extra in diesem Forum angemeldet, weil ich mit meinem Latein am Ende bin.

    Habe jetzt schon alles Mögliche versucht, um das spidev Modul auf meinen Raspberry zu bekommen - leider ohne Erfolg.

    In Kürze:
    Ich bin nach diesem

    http://www.100randomtasks.com/simple-spi-on-raspberry-pi

    Tutorial vorgegangen und stecke zum Schluss bei "sudo python setup.py install" fest.
    Da bekomme ich dann folgenden Fehler:

    Habe ewig gegoogelt und probiert, bin aber ziemlicher Laie und krieg's allein einfach nicht gebacken.
    Bitte um Hilfe!

    Als übergeordnetes Problem will ich zwei LED-Matrizen per daisy chain betreiben, damit mein kleiner Cam-Rover in eine Richtung kommunizieren kann.

  • Sieht so aus, als wenn Du die falschen Sourcecodes benutzt. Zudem beachtest Du nicht, dass der neue Raspbiankernel über device tree (DT) die Module lädt. Die Anleitung ist da leider falsch bzw. zu alt. Du könntest versuchen DT zu deaktivieren. Dazu einfach in die /boot/config.txt folgendes eintragen:

    Code
    device_tree=

    Weiterführende Infos zum DT gibts hier im Forum: Gerätetreiber und device tree (DT)

  • Das mit dem device tree hab ich auch schon mitbekommen, als ich nach nem Update des Kernels kein Bild mehr über die Webcam bekam. Deshalb hab ich zur letzten Version downgegradet, die diesen DT noch nicht verwendet bzw. aktiviert hat. Der sollte jetzt (eigentlich) nicht mehr das Problem sein. Den Befehl kann ich zur Sicherheit natürlich trotzdem einfügen.

    Aber was ist mit dem Rest? Was soll ich stattdessen benutzen? Bitte möglichst simpel - wie gesagt, ich bin blutiger Anfänger und will nur die daisy chain zum laufen bringen.
    Ohne die bevorzugten Methoden und mit nur einer Matrix klappt das schon ganz gut (identisches Bild auf beiden Matrizen), für alles mit mehr als einer Matrix brauch ich aber entsprechende Module, die ich leider nicht installiert bekomme. Ich schätze, dass spidev alle meine Probleme lösen würde.

  • Tach'schen

    ich hatte im Forum der Pi Foundation gelesen, dass das Hardware SPI Python Modul seit längerer Zeit nicht mehr funktioniert (es wird wohl daran gearbeitet). Auf github findet man jedoch ein Fork, bei dem der Fehler schon behoben wurde. Mit dem offiziellen 3.18.7+ kernel ließ sich das auf meinem Raspi Model B fehlerfrei installieren:

    Code
    git clone https://github.com/Gadgetoid/py-spidev
    cd py-spidev
    sudo python setup.py install

    Ich betreibe einen MCP3008 ADC mit LDR damit -- funktioniert tadellos.

  • Danke für den Hinweis.
    Leider aber auch hiermit gleicher Fehler. :s:@

  • Hm, kann den Fehler hier nicht reproduzieren, bei mir lässt sich das Modul mit Kernel 3.18.7+ ohne Probleme installieren. Der Fehler ist in einer der Kernel-Header Dateien, denn der der gcc compiler beschwert sich wie Du gesehen hast über die types.h:

    Code
    /usr/src/linux/include/linux/types.h:14:26: error: conflicting types for 'fd_set'

    Welcher Kernel/Distri ist denn auf Deinem System installiert? Eventuell hilft ja ein apt-get upgrade.

    Aber vorsicht, falls Du noch nicht auf den neuen device-tree umgestellt hast, dann musst Du auch noch Deine /boot/config.txt ändern!

  • Hallo zusammen,


    Kallisto & Luetzel:
    -Was sagt denn

    Code
    uname -a
    gcc --version


    bei Euch?


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (21. Februar 2015 um 10:00)

  • Nachdem es mit der aktuellen Kernel auch nach Abschaltung des Device Tree kein Bild von meiner Webcam gab (und die Installation wie gesagt auch dort fehlschlug), hab ich wieder zu letzten funktionierenden Kernel-Version gedowngradet:

    Code
    Linux WebcamRobot 3.12.36+ #737 PREEMPT Wed Jan 14 19:40:07 GMT 2015 armv6l GNU/Linux


    "gcc --version" gibt aus:

    Code
    gcc (Debian 4.6.3-14+rpi1) 4.6.3

    Einmal editiert, zuletzt von Kallisto (21. Februar 2015 um 11:37)

  • Hallo Kallisto,

    das Abschalten des Device Tree unter Kernel 3.18 ist natürlich keine Lösung, da Du damit auch die Kamera-Schnittstelle deaktivierst.

    Schau mal hier herein:

    https://raspiprojekt.de/anleitungen/ha…evice-tree.html

    Da steht, mit welchem Befehl Du die Kamera-Schnittstelle aktivierst. Probiere es am besten nochmal mit dem aktuellen Image. Dann solltest Du den gleichen Erfolg wie Luetzel erzielen.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (21. Februar 2015 um 11:48)

  • Okay, um hier mal gleiche Ausgangsbedingungen zu schaffen:
    Das mit der Webcam kriege ich schon in den Griff, deshalb habe ich
    - rpi-update
    - update
    - upgrade
    - dist-upgrade
    ausgeführt. Mein Pi ist nun auf dem neuesten Stand. Geändert hat es nichts. Er gibt immernoch den gleichen Fehler aus. Ich glaub ich brauch nen Spezialisten für mein Problem. :wallbash:

  • Hallo Kallisto,

    lese Dir doch bitte einmal den in #10 verlinkten Beitrag. Daraus geht eindeutig hervor, dass Du auch die Schnittstelle der Kamera aktivieren musst - nicht pauschal alle Device Trees abschalten!

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (21. Februar 2015 um 13:47)

  • Naja, zumindet von dem rpi-update würde ich auf einem "Produktions-System" die Finger lassen. Wenn man nicht gerade Kernel-Entwickler ist, oder neue Kernel-Features testen möchte. Aber selbst dann compiliere ich den Kernel selbst und mache mir einen Backup von dem alten Image, damit man das auch wieder rückgängig machen kann.

    In den letzten Tagen gab es durch den Release des Pi2 mehrere offizielle Firmware-Updates, die über das Raspbian repo verteilt wurden. Verlass Dich lieber auf die offizielle Firmware, anstatt rpi-update zu benutzen.

    Weil sich der Fehler so nicht finden lässt, würde ich mal versuchen py-spidev auf ein frisch installiertes Image zu ziehen.

  • Ja, wie gesagt, das bekomm ich schon hin. Liegt (auch) an Mjpg Streamer, der (noch) nicht mit dem aktuellen Kernel ohne Patch läuft. Aber das ist nebensächlich, ich will vor allem das spidev-Problem lösen. Es sei denn es gibt ne Möglichkeit besagte LED-Matrizen wirksam ohne dieses Modul zu betreiben... ist ja für mich nur Mittel zum Zweck.


  • Es sei denn es gibt ne Möglichkeit besagte LED-Matrizen wirksam ohne dieses Modul zu betreiben... ist ja für mich nur Mittel zum Zweck.

    Ohne hardware SPI geht das sicherlich, wurde durch 'bit-banging' mit reinem Python Code gelöst - ist aber langsamer. Siehe >hier<. Wie man über 'bit-banging' Deine LED-Matrix ansteuert weiss ich jedoch nicht.

  • Weil ich keinen Ausweg mehr sah habe ich nun nochmal ein frisches Image installiert. Dort ging alles problemlos. Keine Ahnung, was da kaputt war...
    Danke an alle, die mir helfen wollten.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!