IRQ Fehler nach Update PI und I2C

Begonnen von axel, 28 Juli 2020, 12:14:00

Vorheriges Thema - Nächstes Thema

axel

Hallo
ev hat jemand einen Tip. Ich habe derzeit zwei Raspi 3B mit einer I2C Erweiterung im Gang. Einer läuft noch gut, der zweite hat nach dem letzen Update einen wichtigen Teil der Funktionen verloren.

Beide sind ähnlich aufgebaut und verfügen über eine I2C Erweiterung (I2C_MCP23017) zum Schalten und als Erkennung von Tastendrücken. Nach dem Update funktioniert der Interupt am PI nicht mehr. Einige SSR Relais werden auch direct über GPIO Pins am PI geschaltet.

Ich habe ein bischen Analyse betrieben und festgestellt, das vermutlich das I2C Modul nicht mehr korrekt funktioniert. Leider habe ich die Config vor dem Update nicht aufgehoben.

Hat noch jemand Probleme mit I2C und/ oder IRQ aus einem I2C Modul ?

Schnipsel aus der Config

# I2C

define i2c RPII2C 1
attr i2c alias Onboard I2C Controller 1
attr i2c room ops

define i2c27 I2C_MCP23017 0x27
attr i2c27 IODev i2c
attr i2c27 Interrupt A0,A1,A2,A3,A4,A5,A6,A7,B4,B5,B6,B7
attr i2c27 InterruptOut connected_active-low
attr i2c27 OutputPorts B0,B1,B2,B3
attr i2c27 Pullup A0,A1,A2,A3,A4,A5,A6,A7
attr i2c27 invert_input A0,A1,A2,A3,A4,A5,A6,A7,B4,B5,B6,B7
attr i2c27 room ops

define int1 RPI_GPIO 20
attr int1 active_low yes
attr int1 direction input
attr int1 interrupt both
attr int1 pud_resistor up
attr int1 userReadings get_i2c27 {fhem ("get i2c27")}
#attr int1 userReadings {fhem ("get i2c27")}

.....
# IO GPIO Ports für SSRs

define SSR1 RPI_GPIO 13
attr SSR1 direction output
attr SSR1 alias SZ SSR1
attr SSR1 pud_resistor up
attr SSR1 room SZ


...

define Flur_Licht_Port readingsProxy i2c27:PortB2
attr Flur_Licht_Port alias Flur Licht Port
attr Flur_Licht_Port devStateIcon on:on:off off:off:on
attr Flur_Licht_Port room Flur
attr Flur_Licht_Port setFn {($CMD eq "off")?"PortB2 off":"PortB2 on"}
attr Flur_Licht_Port setList on off


...

# I2C Input dummy Taster Schalter

define Flur_Taster_A00 readingsProxy i2c27:PortA0
attr Flur_Taster_A00 alias Taster Flur Eingang unten links A00
attr Flur_Taster_A00 room Flur


Raspberry PI 3B; 2*NanoCUL 868MHz; 2* Homematic Ventile; 1* Homematic Türschalter; fremdes AussenTermometer, Eigenbau Erweiterung für I2C für 4 Taster und 5 SSRelais. Es folgern noch NanoCUL für 433MHz für InnenTermometer und Dimmer sowie Steckdosen. Vorhanden Osziloskop, Multimeter, Lötstation usw

yoda_gh

Hallo!

Ohne weitere Details kann ich nicht viel sagen.  Was hast du denn genau upgedatet? FHEM oder evtl. auch Raspbian und Kernel? Welches war die alte Version? Was genau hast der Du getestet,  um zu dem Schluss zu kommen, dass I2C Probleme macht? Was meinst du mit: der Interrupt funktioniert nicht mehr?  Gibt es Fehler im FHEM-Log und/oder dmesg?

Gernot

axel

Einen Yoda kann ich gebrauchen. Irgendwie ist die Macht nicht mit mir.

Hallo

Ich habe nur den FHEM auf den neusten stand gebracht, sollte also 6.0 sein. Weder Rasbian, noch Frimware habe ich angefasst. Beim gestrigen vergleich habe ich fstgestellt, das entweder die SSD auf dem ersten FHEM voll oder defekt ist, lustigerweise laufen bei dem noch die wichtigsten funktionen.

Ich habe meinen FHEM in dem SI-Kasten, mit einer I2C IO Erweiterung, was in der alten Version gut ging. In der neuen Nicht mehr. Ausschnitte aus der Config sind oben.

Ich habe ein einen Teil des I2C als eingänge gewählt und ein paar als Ausgänge. Wie ich feststellen musste gehen die Schaltfunktionen die an dein I2C Output hängen auch nicht mehr. Auch nicht wenn ich sie aus der Weboberfläche anspreche. Die GPIOs die ich vom Raspi benutze gehen schon.

ZitatInternals
DEF    
0x27
FUUID
   
5f1b36a0-f33f-08f8-7975-de20754893601529
IODevName
   
i2c
NAME
   
i2c27
NR
   
21
STATE
   
defined
TYPE
   
I2C_MCP23017

Die Meldung zu I2C_MCP23017 steht bei defined

Ich werden mal das ganze auf einem neuer Stick spielen und dann testen.

und so auch versuchen den Stick und die Log/Configs zu retten.

Raspberry PI 3B; 2*NanoCUL 868MHz; 2* Homematic Ventile; 1* Homematic Türschalter; fremdes AussenTermometer, Eigenbau Erweiterung für I2C für 4 Taster und 5 SSRelais. Es folgern noch NanoCUL für 433MHz für InnenTermometer und Dimmer sowie Steckdosen. Vorhanden Osziloskop, Multimeter, Lötstation usw

yoda_gh

Wenn diese Aktion das Problem nicht löst, würde ich versuchen, den Fehler einzugrenzen: Kernel, Systemkonfiguration, FHEM. Also erstmal in die Kernel-Logs schauen, ob der Kernel ein Problem mit I2C hat. Wenn nicht, mal versuchen, den I2C-Chip außerhalb von FHEM anzusprechen.