Update auf 0.6.12-857: CC1101 kann nicht mehr geöffnet werden

Ich habe per apt auf die aktuelle Version aktualisiert. Vorher hat alles einwandfrei geklappt. Seit dem Update erhalte ich folgende Fehler, sodass nichts mehr funktioniert. Ich habe bereits nach ähnlichen Problemen gesucht und keine der Lösungen hat funktioniert. Auch das Starten als root hat nicht geklappt. Folgende Fehler erscheinen wenn ich homegear als root starte:

01/12/17 16:28:16.825 Loading device 1
01/12/17 16:28:16.825 Start listening for packets...
01/12/17 16:28:16.829 Failed to open direction file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.829 Failed to open direction file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.829 Failed to open edge file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.829 Failed to open edge file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.829 Error in file Systems/IPhysicalInterface.cpp line 331 in function virtual void BaseLib::Systems::IPhysicalInterface::openGPIO(uint32_t, bool): Failed to open value file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.829 Error in file Systems/IPhysicalInterface.cpp line 331 in function virtual void BaseLib::Systems::IPhysicalInterface::openGPIO(uint32_t, bool): Failed to open value file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.829 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Error: Couldn't listen to rf device, because the GPIO descriptor is not valid: /dev/spidev0.0
01/12/17 16:28:16.829 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Error: Couldn't listen to rf device, because the GPIO descriptor is not valid: /dev/spidev0.0
01/12/17 16:28:16.830 Initializing RPC client...
01/12/17 16:28:16.830 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Connection to TI CC1101 closed unexpectedly... Trying to reconnect...
01/12/17 16:28:16.830 Starting XML RPC server RPCServer1 listening on 0.0.0.0:2001...
01/12/17 16:28:16.830 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Connection to TI CC1101 closed unexpectedly... Trying to reconnect...
01/12/17 16:28:16.833 Failed to open direction file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.833 Failed to open direction file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.833 Starting XML RPC server RPCServer2 listening on 0.0.0.0:2002, SSL enabled...
01/12/17 16:28:16.833 Failed to open edge file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.833 Failed to open edge file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.833 RPC Server (Port 2001): Info: RPC Server started listening on address 0.0.0.0 and port 2001
01/12/17 16:28:16.833 Error in file Systems/IPhysicalInterface.cpp line 331 in function virtual void BaseLib::Systems::IPhysicalInterface::openGPIO(uint32_t, bool): Failed to open value file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.833 Error in file Systems/IPhysicalInterface.cpp line 331 in function virtual void BaseLib::Systems::IPhysicalInterface::openGPIO(uint32_t, bool): Failed to open value file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/12/17 16:28:16.833 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Error: Couldn't listen to rf device, because the GPIO descriptor is not valid: /dev/spidev0.0
01/12/17 16:28:16.833 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Error: Couldn't listen to rf device, because the GPIO descriptor is not valid: /dev/spidev0.0
01/12/17 16:28:16.863 Starting XML RPC server RPCServer3 listening on 0.0.0.0:2003, SSL enabled, authentication enabled...
usw.

Folgende Pakete haben sich seitdem geändert. Nach dem Update von homegear habe ich php nachinstalliert, da scheinbar die Abhängigkeit weggefallen ist und es deswegen deinstalliert wurde.

Start-Date: 2017-01-12  13:00:36
Upgrade: libhomegear-base:armhf (0.6.7-1545, 0.6.12-857), homegear-homematicbidcos:armhf (0.6.7-1545, 0.6.12-857), x11-common:armhf (7.7+7, 7.7+16), homegear:armhf (0.6.7-1545, 0.6.12-857)
Remove: php5-readline:armhf (5.6.29+dfsg-0+deb8u1), libonig2:armhf (5.9.5-3.2), php5-cli:armhf (5.6.29+dfsg-0+deb8u1), php5-json:armhf (1.3.6-1)
End-Date: 2017-01-12  13:05:05

Start-Date: 2017-01-12  13:18:47
Commandline: apt install php5-cli
Install: php5-readline:armhf (5.6.29+dfsg-0+deb8u1, automatic), libonig2:armhf (5.9.5-3.2, automatic), php5-cli:armhf (5.6.29+dfsg-0+deb8u1), php5-json:armhf (1.3.6-1, automatic)
End-Date: 2017-01-12  13:20:00

Dummerweise kann ich nicht mehr auf die alte Version zurück, da die Pakete scheinbar aus dem Homegear-Repo gelöscht wurden. Es wäre sehr sinnvoll, wenn die in Zukunft weiterhin drin bleiben würden, damit man wie ich in diesem Fall wieder auf die alte Version zurück kann und nicht in einer kalten Bude hocken muss…

Vorschläge?

Hi @dasc,

das ist natürlich Mist. Bist du die Schritte hier noch mal nachgegangen? https://doc.homegear.eu/data/homegear-homematicbidcos/configuration.html#texas-instruments-cc1101

Weil es sieht danach aus, dass entweder das SPI-Modul nicht geladen ist oder auf bestimmte Pins nicht zugegriffen werden kann.

Ich gehe mal davon aus, dass du einen Pi einsetzt. Hast du das Raspbian auch geupdatet?
Ansonsten mal sudo apt-get update und danach sudo apt-get dist-upgrade machen. Dann die Schritte aus dem Link oben gegen checken.

homegear hat mittlerweil PHP7 einkompiliert, da unter anderem Raspbian immer noch PHP5.x mitliefern.

so long,
p

Ja, die Schritte bin ich bereits ohne Erfolg durchgegangen. Ich konnte aber inzwischen auf die alte Version downgraden, da die deb-Dateien noch im cache-Ordner von apt waren. Damit läuft es wieder einwandfrei, ohne weitere Änderungen. Die Bude ist jetzt wieder warm. Von daher ist es erstmal nicht mehr so dringend.

Es muss also definitiv mit der neuen Version zusammenhängen.

Ich habe wie üblich ein aptitude update && aptitude full-upgrade gemacht.

Folgende Pakete habe ich wieder downgegraded, ansonsten ist das System aktuell:

dpkg -i /root/homegear_0.6.7-1545_armhf.deb /root/libhomegear-base_0.6.7-1545_armhf.deb /root/homegear-homematicbidcos_0.6.7-1545_armhf.deb

Hmm,

auf dem Server liegen glaub ich auch noch die alten, sind aber nicht mehr verlinkt.

Hast du mal ein ls -la /dev/spidev*? Ich hab irgendwie ein Berechtigungsproblem in verdacht. Ansonsten muss @sathya ran.

Interessant, bei der alten (jetzt installierten) Version kommt folgendes raus:

root@raspberrypi:~# ls -la /dev/spidev*
crw-rw---- 1 homegear homegear 153, 0 Jan 12 17:41 /dev/spidev0.0
crw------- 1 root     root     153, 1 Jan 12 17:41 /dev/spidev0.1

Bei der neuen Version war auch 0.0 ziemlich sicher wie 0.1 von den Besitzrechten und Berechtigungen. Hatte mich gewundert wie das funktionieren soll, habe allerdings nicht weiter drüber nachgedacht, weil es ja vorher auch funktioniert hat und die Geräte ja vom System angelegt werden.

Allerdings hat es bei der neuen Version auch nicht geklappt wenn ich homegear als root ausgeführt habe.

Wenn ich was konkretes ausprobieren soll, gerne. Ich weiß ja jetzt wie ich wieder zurück komme.

Hmm,

ich denke @sathya ist da der richtige Mann, bevor ich noch weiter rumstochere. Die Rechte von spidev0.0 werden auf jeden Fall erst durch homegear, wenn es läuft, geändert. Das passiert während das konfigurierte Device initialisiert wird.

Wenn du probieren willst, kannst du mit dd oder Win32DiskImager mal eine Kopie deiner Karte des RPi ziehen und auf einer “neuen” dann rumspielen.

Bei mir sieht es, mit 0.7-1508 absolut gleich aus:

root@homegearpi:/home/pi# ls -la /dev/spi*
crw-rw---- 1 homegear homegear 153, 0 Jan  1  1970 /dev/spidev0.0
crw------- 1 root     root     153, 1 Jan  1  1970 /dev/spidev0.1

Schau mal in deinem Log weiter oben. Da sollte was von Info: Setting up physical interfaces and GPIOs... stehen… Ist da alles ok?

Hallo @dasc,

so ein Mist. Der dev-Zweig des HomeMatic-BidCoS-Moduls wurde nicht korrekt mit dem master-Zweig gemerged. Es gab eine Signaturänderung bei der Methode, welche für das Setzen der Berechtigungen und das Exportieren der GPIOs verantwortlich ist. Durch das Fehlschlagen der Merge, hatte das Modul noch die alte Signator und die Methode wurde nicht aufgerufen. Dadaurch, dass die GPIOs nicht exportiert waren, ging es auch nicht als root. Alle Nutzer von USB-Geräten sind von dem Problem nicht betroffen.

Das Problem ist jetzt behoben und Version 0.6.13 kompiliert gerade.

Viele Grüße

Sathya

1 Like

Cool, dann werde ich auf das Update warten und mir das dann anschauen und berichten.

Ich habe hier auch das Problem, dass garnichts mehr geht weil auf /dev/spidev0.0 nicht mehr zugegriffen werden kann. Wann wird Version 0.6.13 etwa verfügbar sein? Grade war noch kein Update vefügbar und meine Frau meckert schon, weil hier kaum noch was funktioniert :frowning:

01/13/17 17:23:38.378 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Connection to TI CC1101 closed unexpectedly... Trying to reconnect...
01/13/17 17:23:38.381 Failed to open direction file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/13/17 17:23:38.382 Failed to open edge file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/13/17 17:23:38.382 Error in file Systems/IPhysicalInterface.cpp line 331 in function virtual void BaseLib::Systems::IPhysicalInterface::openGPIO(uint32_t, bool): Failed to open value file for GPIO with index 1 and device "cc1100": Unable to retrieve path.
01/13/17 17:23:38.382 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Error: Couldn't listen to rf device, because the GPIO descriptor is not valid: /dev/spidev0.0
01/13/17 17:23:39.383 Error in file Systems/IPhysicalInterface.cpp line 331 in function virtual void BaseLib::Systems::IPhysicalInterface::openGPIO(uint32_t, bool): Failed to open value file for GPIO with index 1 and device "cc1100": Unable to retrieve path.

Edit: Es geht wieder, danke :slight_smile:

Update ist online.

nur mal so am Rande: Wenn man den RPI ernsthaft nutzt und ohne ihn das Haus kalt bleibt, würde ich vor einem Update/Änderung ein Backup des Boot-USB-Sticks ziehen. SD-Karte empfiehlt sich dann eh nicht.

1 Like

Hallo,

ich bin noch relativ neu bei Homegear, aber hänge mich hier mal mit an, da ich ein recht ähnliches Problem habe.

Ich hatte eine ältere Homegear Version am laufen und ein Update auf die aktuelle Version durchgeführt. Nach dem Update erhalte ich jetzt folgende Fehlermeldung

01/17/17 23:17:50.330 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Couldn't open rf device "/dev/spidev0.0": Permission denied
01/17/17 23:18:02.337 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Couldn't open rf device "/dev/spidev0.0": Permission denied
01/17/17 23:18:02.337 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Connection to TI CC1101 closed unexpectedly... Trying to reconnect...
01/17/17 23:18:02.338 Critical: At least one of the physical devices could not be opened... Exiting...

Zum Testen habe ich auch noch das “Raspbian 8 with Homegear preinstalled” Image aufgespielt, allerdings erhalte ich hier die gleiche Fehlermeldung…

Woran kann das liegen? Wie bekomme ich homegear wieder zum laufen?

Viele Grüße
Erdbaer

Hallo @Erdbaer,

poste doch einmal die Ausgabe von:

ls -l /dev | grep spi

nach dem Start von Homegear.

Welche Version von Homegear hast du installiert? Eigentlich sollte das Problem behoben sein.

Viele Grüße

Sathya