RPi Kernel 3.18.x breaks I2C, SPI, audio, lirc, 1-wire -> die Lösung

Begonnen von Fritz!Maxi, 26 Januar 2015, 22:34:41

Vorheriges Thema - Nächstes Thema

Fritz!Maxi


Hallo zusammen,

falls jemand vor hat seinem RPi (oder anderem Gerät) ein Kernel Update zu verpassen oder dies bereit getan hat und sich wundert das SPI und / oder I2C Devices nicht mehr "wollen folgende Info.

Nachdem ich am Donnerstag meinem RPi mal wieder ein paar Updates gegönnt habe durfte ich 3 Tage investieren um mein SPI Display und die SPI-basierte LED Steuerung wieder zum Laufen zu bringen. "Schuld" war das Kernel Update mittels sudo rpi-update.

Mit Kernel 3.18.x waren die benötigten Devices für I2C und SPI unter /dev nicht mehr verfügbar.

Nach langem suchen fand ich dann einige Hinweise, u.a. diesen Artikel:
ZitatFirmware 3.18.x breaks I2C, SPI, audio, lirc, 1-wire (e.g. /dev/i2c-1, No such file or directory)

Since today I noticed the I2C doesn't work anymore as it used to. Using the commands like 'sudo i2cdetect -y 1' and 'sudo i2cset -y 1 0x70 0x00 0xff' will give the error: 'Could not open file '/dev/i2c-1' or '/dev/i2c/1': No such file or directory'.
...


The latest firmware implements device tree support. That will have broken things like I2C, SPI, and 1-wire bus.
For fuller details see http://www.raspberrypi.org/forums/viewtopic.php?p=675658#p675658

Summary:
Add one or more of the following to your /boot/config.txt and reboot.

I2C
Add dtparam=i2c1=on (or dtparam=i2c0=on on old models)

SPI
Add dtparam=spi=on
...
Quelle

Ich habe in der /boot/config.txt am Ende folgende Zeile eingefügt:
device_tree_param=i2c0=on,i2c1=on,spi=on

Damit laufen meine SPI und I2C Devices jetzt wieder ohne Probleme.  8)


Viele Grüße,
Christoph
FHEM im Debian Container uaf QNAP, diverse Homematic Komponenten

sundance

DANKE Christoph .... Du hast mir den Tag gerettet !!!
Hatte dasselbe Phänomen - Eintrag in der config.txt gemacht - alles läuft wieder!

Danke nochmal,
Grüße
Andy
Raspi 512
COC
FS20
1-wire

Tom111

Boah........,
... ich küss dir die Füße Christoph, seit Wochen versuche ich das Problem zu finden, unzählige Stunden habe ich daran verbracht in Foren auf das Problem aufmerksam zu machen und eine Lösung zu erwarten, auch hier im FHEM-Forum, niemand konnte auch nur ansatzweise mit meinem Problem was anfangen. Ich habe alles Probiert, Karte neu beschrieben alle möglichen Einstellungen verändert aber nichts hat geholfen.

Endlich, dein Code hat auf Anhieb funktioniert und ich bedanke mich dafür.

Ein Problem bleibt:
Warum hat das bis jetzt keiner gemerkt ??????

Gruß
Tom
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Fritz!Maxi

Freut mich das der Hinweis einigen geholfen hat!


Ich habe gerade einen RPi B+ mit dem aktuellen Image vom 31.01.2015 aufgesetzt. Das ist schon so angepasst dass mittels "raspi-config" auch die Einträge in der /boot/config.txt gesetzt werden (wenn man dann SPI oder I2C damit aktiviert).


Viele Grüße,
Christoph
FHEM im Debian Container uaf QNAP, diverse Homematic Komponenten

Jörg71

Vielen vielen Dank!

Seit November habe ich wegen diesem blöden Fehler zweimal das Raspbian neu aufgesetzt, später dann Backups aufgespielt, weil ich keinen Plan hatte, was mir da immer wieder den I2C lahmgelegt hatte! Vor jeder Softwareinstallation hatte ich "natürlich" ein Update gemacht und zunächst das Problem ganz wo anders gesucht weil mir dann erst später aufgefallen ist, daß der 1-Wire-Bus (RPI2 von sheepwalkelectronics.co.uk) schon wieder nicht mehr funktioniert.

Gerade eben habe ich ein sudo rpi-update ausgeführt, I2C war nach Reboot weg aber mit der config.txt-Anderung nach dem nächsten Reboot wieder da. Problem ist also auf jeden Fall noch aktuell. Sollte daher unbedingt angepinnt werden!

Begeistert,

Jörg

Mani007

Das Problem scheint noch sehr aktuell zu sein wenn man das so auf der Raspberry.org Seite so betrachtet.

Ich wollte mein Erste Modul in Fhem selbst schreiben das den MCP3008/4 intergriert hat auch schön funktioniert docu bis auf english
alles Fertig und jetzt hab ich halt ein kleines Problem . Die Integrierung des Moduls benötigt die HiPi library die jetzt nicht mehr funktioniert. Pech !

Habe schon einigen Leuten eine Email geschickt in der Hoffnung das es ausgebessert wird.

Sonst bleibt mir nur noch der Umstieg auf eine andere lib oder halt selbst eine Anbindung für den SPI-Bus in Perl zu schreiben und das wage ich zu sagen das ich das mit meinem momentanen kenntnissstand nicht schaffe .

Leider ziehen solche änderungen einen riesen Rattenschwanz nach sich .
FHEM 5.5 auf Raspberry Pi B+

FB7390 Fritz!OS6.23
CUL 868  V1.61 / 1 x HM-SCI-3-FM / 1 x HM-SEC-SC / 3 x HM-LC-DIM1T-FM / 1 x HM-LC-DIM1TBU-FM /     
4 x HM-CC-RT-DN / 3 x HM-LC-SW1-FM / 2 x HM-WDS30-T-O / 2 x FRITZ!DECT 200 / Openvpn /VU + DUO

klausw

Zitat von: Mani007 am 17 Februar 2015, 11:22:48
Das Problem scheint noch sehr aktuell zu sein wenn man das so auf der Raspberry.org Seite so betrachtet.

Ich wollte mein Erste Modul in Fhem selbst schreiben das den MCP3008/4 intergriert hat auch schön funktioniert docu bis auf english
alles Fertig und jetzt hab ich halt ein kleines Problem . Die Integrierung des Moduls benötigt die HiPi library die jetzt nicht mehr funktioniert. Pech !

Habe schon einigen Leuten eine Email geschickt in der Hoffnung das es ausgebessert wird.

Sonst bleibt mir nur noch der Umstieg auf eine andere lib oder halt selbst eine Anbindung für den SPI-Bus in Perl zu schreiben und das wage ich zu sagen das ich das mit meinem momentanen kenntnissstand nicht schaffe .

Leider ziehen solche änderungen einen riesen Rattenschwanz nach sich .
Der Thread ist schon etwas älter, aber was solls ;)

Du könntest ins RPII2C Modul schauen, der SPI Zugriff sollte ähnlich möglich sein.

Grüße
Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

exot

Hallo, an alle in diesem Trade,
Nachdem ich nun sehr lange gebraucht habe um mein Thermoelement-Verstärker MAX31855 unter putty in meinem Pi
zum Leben zu erwecken, stellt sich mir die Frage:
Wie bekomme ich das Teil in Fhem implementiert. Unter MAX... ist im Netzt nicht viel zu lesen außer Verkaufsanzeigen.
Da es ja ein spi Device ist habe ich unter dem Begriff gesucht. Aber auch leider nichts konkretes.
In diesem Trade habt Ihr Euch wenigstens mit spi auseinander gesetzt.
Jetzt der berühmte Satz: Ich bin Neuling und benötige Unterstützung, es ist aber halt so.
Wer kann einem alten Mann  :o  hilfreich unter die Arme greifen und hat dazu noch etwas Geduld wenn viele Fragen kommen sollten.
Angesprochen sind natürlich auch "Foreaner" die so ein Teil bereits eingebunden haben.
Ich bin mir sicher, dass es sie gibt.
Danke schon mal.
Gruß Michael



Tom111

Zitat von: exot am 20 Oktober 2015, 08:43:51
Jetzt der berühmte Satz: Ich bin Neuling und benötige Unterstützung, es ist aber halt so.
Wer kann einem alten Mann  :o  hilfreich unter die Arme greifen und hat dazu noch etwas Geduld wenn viele Fragen kommen sollten.
1. Hilfe.... in diesem Thread bist komplett falsch, mach einen eigenen Thread auf und stell deine Frage dort, hier wird dir sicher keiner helfen es sei denn es verirrt sich jemand hier.

geh hier hin und klick auf "NEUES THEMA":
http://forum.fhem.de/index.php/board,23.0.html

Gruß
Tom
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

exot


klausw

mir erschließt sich allerdings nicht ganz, was ein MAX31855 mit der MAX! Heizungssteuerung zu tun hat.

Als Thread bietet sich eher Sonstiges oder Einplatinencomputer an.

Gibt es alternativen zum MAX31855, die als Bus I2C haben?
Dieser könnte dann leicht eingebunden werden, da es schon ein physikalische I2C Modul für Raspi und Co gibt.

Wenn nicht, dann könntest du auf dieser Basis ein SPI Modul schreiben.
Die Kommunikation sollte ähnlich funktionieren.

EDIT:
sehe gerade, das du hier im thread schon geschrieben hast  8)
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

simonberry

Danke dem Retter!

bei mir ging nach einem "apt-get upgrade" der lirc nicht mehr, weil /dev/lirc0 verschwunden war.

Abhilfe schaffte in

/boot/config.txt

Folgender Eintrag am Ende
dtoverlay=lirc-rpi,gpio_in_pin=23,gpio_in_pull=high


Der Pin muss natürlich der sein, an dem der Infrarotempfänger angeschlossen ist. Das stand bei mir zum Glück noch in
/etc/modules

lirc_rpi gpio_in_pin=23 gpio_out_pin=22



Danach ein reboot und alles war wieder gut. Uff  :D

Viele Grüße

Simonberry
NUC5i3RYK#DBLOG; MYSQL; LIRC; MPD; HM-CFG-HM-USB-2: HM-divers; MQTT2; Signalduino; Shelly; Sonoff; dash_dhcp; FS20; IT; FroniusWR; Somfy RTS; NFS-Server
Rpi B#: nfsmount; ser2net CUL868; CUL433; GPIO4:DS18B20; WEMOS-D1-MINI#JVC-via-IR;