<solved> CC1101: Could not acquire lock for sending packet

Hallo,

nachdem mein Lan-Gateway immer mehr gezickt hat, habe ich mir auch ein CC1101-Modul besorgt (Danke @pmayer für den tollen Service).
Jedoch bekomme ich folgende Fehlermeldungen:

Aug 22 21:06:26 alarmpi docker[14161]: 08/22/19 21:06:26.914 Module HomeMatic BidCoS: TI CC110X "My-CC1101":  Critical: Could not acquire lock for sending packet. This should never happen. Please report this error.
Aug 22 21:06:26 alarmpi docker[14161]: 08/22/19 21:06:26.915 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Warning: Timing problem. Sending took more than 100ms. Do you have enough system resources?
Aug 22 21:06:26 alarmpi docker[14161]: 08/22/19 21:06:26.916 Module HomeMatic BidCoS: TI CC110X "My-CC1101": Info: Sending (My-CC1101): 0E3FA011DEAD795DCA720201C80000 Planned sending time: 08/22/19 21:06:21.479

Ab und zu schafft es das Modul auch was zu senden. Dann schaltet sich das Licht nach gefühlten 2 Minuten doch noch.

Beim stöbern im Forum bin ich darüber gestolpert, dass eventuell der Interrupt Pin schuld sein kann (CC1101 Übertragunsprobleme). Da ich vorher schon einen Fehler mit GPIO1 hatte (Homegear im docker container - Probleme beim Zugriff auf CUL), welchen ich nicht in /sys exportiert hatte, stelle ich mir die Frage, ob ich auch den Interrupt Pin exportieren muss?

Ich nutze übrigens das Docker Image (Stable) auf einem Raspberry Pi 3B+. Der sollte doch genügend Dampf haben…

Hat jemand eine Idee, in welche Richtung ich schauen muss?

Hey @avanc,

danke für den Kauf. In deiner Config ist der GPIO-Pin angegeben, den du brauchst:

[TI CC1101 Module]
id = My-C1101-Module
default = true
 
deviceType = cc1100
device = /dev/spidev0.0
responseDelay = 100
 
interruptPin = 0
gpio1 = 25

Das ist die Standardconfig für das Modul.
Ich gebe zu, dass ich mich mit Docker nicht genug auskenne um das passend zu beurteilen…

Gruß,
Patrik

Ist interrupt Pin auch ein GPIO, welcher über /sys/class/gpio… zugreifbar ist? Oder wo kommt der her?
Welche Funktionen haben denn die beiden Pins? Ich versuche das Problem ein wenig einzugrenzen…

Als nächsten Schritt werde ich mal direkt ein Raspbian ohne Docker probieren.

Sollte es sein, ja.

Der GPIO schaltet zwischen Senden und Empfangen um. interruptPin dienst nur zur Definition von GDO0/GDO2 des CC1101. Bei meinem Modul sind beide raus geführt. GDO0 auf GPIO25 und GDO2 auf GPIO24.

Danke für die Details.

Ich habe es jetzt am Laufen bekommen. Das Problem war, das /sys im Container read-only gemounted war. Daher konnte homegear auch direction und edge nicht setzen. Habe nun folgendes im docker Aufruf hinzugefügt:

docker run ... -v /sys:/sys ...

Ist zwar aus Sicht der Kapselung nicht ganz optimal, aber jetzt läufts erstmal :slight_smile:

2 Likes