Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPIO.21 funktioniert nicht mehr als Eingang nach Update von 1.3.2 auf 2.2.1. #233

Open
volkergi opened this issue Nov 8, 2024 · 10 comments

Comments

@volkergi
Copy link

volkergi commented Nov 8, 2024

Hallo,
ich muss nochmal das Thema Eingänge hervorkramen.

Ich kontrolliere sehr viele Ein-/und Ausgänge des Raspis4 seit vielen Jahren mit dem rpi2 Adapter ver.1.3.2. Seit dem Update auf die Version 2.2.1 funktioniert der GPIO.21 nicht mehr. Weder mit aktivem noch mit deaktiviertem "SoftwarePullup" Die Pins werden bei mir extern mit Spannung versorgt. Der Status wird bei Neustart des Adapters einmal eingelesen und dann nicht mehr aktualisiert. (High oder Low je nach eingestelltem Softwarepullup).
Auch ein komplett neu installiertes, aktuelles IOBroker Setup Nodejs.v20.18.0, NPM:10.8.2, JsController: 6.0.11 unter bookworm zeigt den gleichen Fehler. Leider ist ein Rückschritt auf den alten Adapter nicht mehr möglich so dass mein Setup nicht mehr funktioniert.

libgpiod-dev:
Installed: 1.6.3-1+b3

Debug Protokoll des Adapters:
rpi2.0
2024-11-08 11:49:04.938 debug Port 18 direction: outlow
2024-11-08 11:49:04.931 debug Setting state for port 16 to true
2024-11-08 11:49:04.929 debug Port 16 direction: in
2024-11-08 11:49:04.923 debug Setting state for port 12 to true
2024-11-08 11:49:04.922 debug Port 12 direction: in
2024-11-08 11:49:04.920 debug Port 8 direction: outlow
2024-11-08 11:49:04.904 debug Setting state for port 7 to true
2024-11-08 11:49:04.884 debug Port 7 direction: in
2024-11-08 11:49:04.883 debug GPIO chip undefined initialized
2024-11-08 11:49:04.883 debug Got chip: class DefaultDevice extends classes_1.Device {}
2024-11-08 11:49:04.882 debug Got 4 from Raspberry Pi 4 Model B Rev 1.5.
2024-11-08 11:49:04.881 debug STDERR:
2024-11-08 11:49:04.880 debug CPU Info: Raspberry Pi 4 Model B Rev 1.5
2024-11-08 11:49:04.869 debug class DefaultDevice extends classes_1.Device {}
2024-11-08 11:49:04.519 debug Creating gpio.26.isInput
2024-11-08 11:49:04.491 debug Creating gpio.25.isInput
2024-11-08 11:49:04.459 debug Creating gpio.24.isInput
2024-11-08 11:49:04.434 debug Creating gpio.23.isInput
2024-11-08 11:49:04.402 debug Creating gpio.21.isInput
2024-11-08 11:49:04.372 debug Creating gpio.20.isInput
2024-11-08 11:49:04.336 debug Creating gpio.19.isInput
2024-11-08 11:49:04.302 debug Creating gpio.18.isInput
2024-11-08 11:49:04.270 debug Creating gpio.16.isInput
2024-11-08 11:49:04.237 debug Creating gpio.12.isInput
2024-11-08 11:49:04.209 debug Creating gpio.8.isInput
2024-11-08 11:49:04.176 debug Creating gpio.7.isInput
2024-11-08 11:49:04.162 debug wlan disabled -> clean up.
2024-11-08 11:49:04.162 debug -1
2024-11-08 11:49:04.162 debug CURRENT = wlan false
2024-11-08 11:49:04.156 debug SETSTATE FOR rpi2.0.uptime.uptime VALUE = 29.23
2024-11-08 11:49:04.155 debug ---> POST: for uptime in [object Object]

@granturism0
Copy link

@volkergi: Ich habe das gleiche Problem und musste ein komplettes Rollback aus dem Backup machen.
Aus meiner Sicht betrifft dies aber noch andere Ports u.a. bspw. GPIO13.

@Garfonso
Copy link

Hm. Liegt das wirklich an bestimmten GPIOs oder vielleicht an dem, was dran hängt?
Besteht bei einem von euch die Möglichkeit, da welche zu tauschen, oder ist das zu viel Aufwand?
Der Adapter behandelt alle gleich.

Etwas könnte noch sein, dass die GPIOs extern anders konfiguriert wurden.

Vielleicht mal die Ausgabe von gpioinfo angucken? (Und nicht hier einfach hinknallen, ihr könnt da eh mehr mit anfangen, als ich :-P . Gucken ob die problematischen GPIOs da ne andere Ausgabe haben). Falls es den Befehl nicht gibt mit sudo apt install gpiod installieren.

@granturism0
Copy link

@Garfonso: Danke für deine Feedback.
Das mit dem Umhängen, ja wenn auch sehr umständlich, habe ich schon probiert.
Intersant ist, dass es mit der Version 1.3.2 super funktioniert und nach der Umstellung nicht mehr. Wie auch @volkergi schreibt, werden beim Neustart die Eingänge einmalig sauber gelesen, aber dann nicht mehr, heisst irgendetwas funktioniert, aber die Status-Änderungen kommen nicht mehr rein.

Was ich auch versucht habe ist:
Ich habe alle meine GPIOs im Adapter mal komplett entfernt resp. ein komplett neues System aufgesetzt und auch keine Migration gemacht. Wenn ich dann nur einige meiner GPOIs dazunehme funktioniert das Ganze, also bspw. auch der GPIO13. Eränze ich meine Liste immer mehr, dann funktionieren plötzlich auf vorher funktionierenden GPIOs einige nicht mehr.
Es scheint so, dass das System irgendwann nicht mehr alle GPIOs behandelt, als hätte es eine Beschränkung auf der Anzahl der GPOIs.

Sollten ich oder @volkergi irgendwelche Daten liefern können, dann einfach sagen was.

Danke für eine Unterstützung, denn ich bin im Moment leider somit an die Version 1.3.2 gebunden :-(

@volkergi
Copy link
Author

volkergi commented Nov 18, 2024

Ich hatte zum Glück noch einen Reserveeingang mit Optokoppler auf der Platine (GPIO7) den ich jetzt anstatt dem GPIO21 benutze. Das ist aber natürlich nur ein workaround. Den Port 13 habe ich ausgerechnet nicht in Benutzung so dass ich das nicht testen kann. An der Portconfig liegt es nicht, die habe ich mehrfach getestet und oben im Log sieht man ja auch das der GPIO21 als Eingang definiert ist. Auch hatte ich das System zum Testen komplett neu aufgesetzt, allerdings mit dem gleichen Fehlerbild. Der Fehler tritt bei den Eingängen mit Software Pullup und Pulldown auf, nur dann halt andersrum. Ich habe auch sicherheitshalber nochmal den Pegel am Eingang kontrolliert, der Optokoppler schaltet sicher zwischen 3,2V und 0,2V mit externem Pullup. Wenn man schnell an und aus schaltet wird manchmal der Status erkannt, das sieht aber eher zufällig aus. Interessant ist der Hinweis von @granturism0, dass der Fehler scheinbar nur bei einer höheren Anzahl von genutzten Eingängen auftritt, da ja auch bei mir mehrere GPIOs als Ein und Ausgänge konfiguriert sind. Ich hoffe ich konnte zur Lösung etwas beitragen.

@Garfonso
Copy link

Und mit gpioinfo seht ihr keine Unterschiede zwischen den Ports?

@volkergi
Copy link
Author

Und mit gpioinfo seht ihr keine Unterschiede zwischen den Ports?
"gpioinfo" listet mir die korrekten Zuordnungen der Eingänge und Ausgänge wie sie auch im Debug Fenster und in den Einstellungen des Adapters gezeigt werden:

    line  13:     "GPIO13"       unused   input  active-high
    line  14:       "TXD1"       unused   input  active-high
    line  15:       "RXD1"       unused   input  active-high
    line  16:     "GPIO16" "opengpio_0_16_watch" input active-high [used]
    line  17:     "GPIO17"       unused   input  active-high
    line  18:     "GPIO18" "opengpio_0_18_output" output active-high [used]
    line  19:     "GPIO19" "opengpio_0_19_output" output active-high [used]
    line  20:     "GPIO20" "opengpio_0_20_watch" input active-high [used]
    line  21:     "GPIO21" "opengpio_0_21_watch" input active-high [used]
    line  22:     "GPIO22"       unused   input  active-high
    line  23:     "GPIO23" "opengpio_0_23_output" output active-high [used]
    line  24:     "GPIO24" "opengpio_0_24_output" output active-high [used]
    line  25:     "GPIO25" "opengpio_0_25_output" output active-high [used]
    line  26:     "GPIO26" "opengpio_0_26_output" output active-high [used]

Gruß
Volker

@Struppy-tv
Copy link

Eingänge funktionieren seid Version 2.1.1 nicht mehr
Letzte funktionierende Version ist 2.1.0

@Garfonso
Copy link

Garfonso commented Jan 6, 2025

Dann bitte nochmal die 2.3.1 versuchen.

@Struppy-tv
Copy link

Teste ich demnächst
Danke

@volkergi
Copy link
Author

Hatte jetzt mal Zeit auf die 3.2.1 zu aktualisieren und zu testen. Auch mit der 3.2.1 funktioniert der GPIO 21 als Eingang nicht mehr. Der Status wird nur 1x beim Start des Adapters eingelesen. Dann keine Aktualisierung des Wertes mehr bei Änderung. Bei Aktivierung des Pullups kehrt sich die Logik um, aber auch keine Aktualisierung mehr bei Änderung.

Gruß Volker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants