CC1101 über SPI auf Bananapi nur mit Raspbian?

hallo Forum,
nachdem ich alle Tips hier im Forum durch habe, melde ich mich mal. Ich habe den CC1101 von Pollin an einem Bananapi angeschlossen. Probleme bei der Hardware und der Homegear-konfiguration kann ich ausschliessen, da mit Raspbian für Bananapi alles läuft. Aus div. Gründen möchte ich aber lieber Armbian von Igor Pecovnik einsetzen (läuft hier einheitlich auf 3 weiteren Minis).
Leider läuft homegear aber nicht richtig, das Log zeigt:

09/24/15 00:03:34.521 Module HomeMatic BidCoS: Loading HomeMatic BidCoS device 1 09/24/15 00:03:34.523 Module HomeMatic BidCoS: Loading HomeMatic BidCoS device 2 09/24/15 00:03:34.526 Module Miscellaneous: Loading Miscellaneous device 3 09/24/15 00:03:34.527 Start listening for packets... 09/24/15 00:03:34.529 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Error in file Modules/HomeMaticBidCoS/PhysicalInterfaces/TICC1100.cpp line 665 in function uint8_t BidCoS::TICC1100::writeRegister(BidCoS::TICC1100::Registers::Enum, uint8_t, bool): Error (check) writing to register 0.
Laut Igor ist armbian SPI ready, muss aber spidev mit modprobe laden, damit spidev0.0 erscheint. spi-sun7i.ko und gpio.ko existieren aber nicht. (bei armbian mit Kernel > 4 existiert auch spidev.ko nicht).
auffallend ist, dass der Besitzer bei spidev0.0 root ist mit den Rechten 0600 bei Rasbian war das homegear, soweit ich mich erinnere.
Irgendwie sind mir die Ideen ausgegangen, was kann ich noch testen oder ändern?
Gruss
Beat

edit 11.55: sehe grade, bin irrtümlich im falschen thread, in meinem Fall ist ein Hardwarefehler wohl nicht die Ursache - Sorry

Hmm, sieht aus als hätten wir das gleichen Problem (https://forum.homegear.eu/viewtopic.php?f=16&t=330). Ich habe zwar andere Hardware aber auch ein Image von Igor und vermutlich die gleiche Fehlermeldung, sobald Du den Debuglevel auf 6 erhöhst.

hallo,
ja, bei debuglevel 6 siehts genau gleich aus.

kleine Korrektur zu meinem 1. post: sobald homegear läuft, ändert der Besitzer von spidev0.0 auf homegear mit den Rechten 0600.

jetzt bin ich einen kleinen Schritt weiter, offensichtlich braucht homegear einen älteren linux-kernel bzw. den mitgelieferten früheren spi-driver spi_sun7i. d.h. bananian > 15 (wheezy) mit spidev.ko geht nicht, aber mit bananian 14.11 (3.4.104) läufts auf Anhieb.

Hallo starfish,

Homegear nutzt den Linux-SPI-Treiber. Solange dieser einwandfrei funktioniert, funktioniert auch Homegear. Entsprechend sollte es auch mit neueren Kerneln funktionieren. Ich habe jetzt nicht recherchiert, aber sollte SPI generell mit dem neuen Bananian funktionieren?

Viele Grüße

Sathya

hallo Sathya,
ich konnte die Ursache nicht herausfinde, das Problem ist allerdings reproduzierbar. Betroffen waren die neueren distros von Bananian, und bei igors armbian gings gar nicht.

Vieleicht hängts auch mit der Aktivierung zusammen, ich hatte auch script.bin bzw. fex untersucht , spi war eigentlich eingeschaltet, teilweise nur ein kanal, aber das solte ja auch reichen - gibts noch irgendwo andere Stellen,die zu konfigurieren sind? -so genau kenn ich mich auch nicht aus.
Kann es sein, dass für homegear ein Unterschied besteht zwischen eingebauten drivern und dazuzuladenden Modulen?
Irgendwie hab ich gehofft dass irgendjemand hier im Forum die Kombination homegear//cc1101 mit einem aktuelleren Kernel bzw. image laufen hat.

Es ist zwar etwas unschön, aber mit der alten Bananian-Version läuft homegear wie ein Ührchen - auch im Zusammenspiel mit iobroker, sodass ich halt mal so weitermache.

  • übrigens gibts news von der AES-Front - oder ist dort noch alles beim Alten? (fragen kann man ja …
    Gruss
    Beat

Hallo,

viel mehr kann ich zu deinem Problem mit Bananian leider nicht sagen. Aber vielleicht gibt’s hier im Forum ja tatsächlich jemanden, der dir mehr dazu sagen kann. Ob das Modul nachgeladen wird oder nicht, macht keinen Unterschied. Ein SPI-Funktionstest wäre interessant, aber der erfordert leider etwas Arbeit. Damit zum Beispiel: https://github.com/torvalds/linux/blob/master/Documentation/spi/spidev_test.c. Das Programm kannst du mit “g++ spidev_test.c -o spidev_test” kompilieren. Geschwindigkeit ist 1 MHz. Die anderen Parameter kannst du in der Doku des TI CC1101 nachlesen. Dann kannst du zum Testen ein Register schreiben und wieder auslesen. Falls du nicht genau weißt, wie du vorgehen sollst, schreibe ich dir gerne eine Schritt-für-Schritt-Anleitung.

Viele Grüße

Sathya

hallo sathya,
sorry für die delay - ich hatte schon den spi-test gemacht bei den verschiedenen images. Soweit ich mich erinnere, lief die SPI-Kommunikation teilweise nicht. Genaueres könnte ich erst bei einem erneuten Test berichten, dazu müsste ich aber die jetzt zufriedenstellend laufende Installation platt machen - im Moment sind mir die SD-Karten ausgegangen :mrgreen:
Gruss
Beat