[gelöst] SCC Modul nach Umstellung auf Debian Bookworm nicht aktiv

Begonnen von Saphora, 13 März 2024, 10:39:02

Vorheriges Thema - Nächstes Thema

Saphora

Hallo FHEM Gemeinde

Wollte mein FHEM auf ein Debian 12 Bookworm übertragen.
Habe dazu das alte System noch aktiv und das neue parallel aufgebaut.
Zum Test wird die SD-Karte des Debian12-Bookworm in den Raspi mit dem alten System gesteckt.
Leider funktioniert das SCC Modul nicht.
Nach meinem Stand wird der SCC nicht erkannt.

Hatte mich an die Anleitung im Wiki gehalten https://wiki.fhem.de/wiki/Raspberry_Pi

Der User fhem muss u.a. Mitglied der Gruppe gpio sein.
Aber diese gibt es gar nicht.

Eine Ausgabe des ttyAMA0 scheitert auch:
ls -l /dev/ttyAMA0
ls: cannot access '/dev/ttyAMA0': No such file or directory

Die /boot/firmware/config.txt wurde entsprechend angepasst:
# Do not modify this file!
...
# /etc/default/raspi-firmware, /etc/default/raspi-firmware-custom or
# /etc/default/raspi-extra-cmdline files.

# Switch the CPU from ARMv7 into ARMv8 (aarch64) mode
arm_64bit=1

upstream_kernel=1

kernel=vmlinuz-6.1.0-18-arm64
# For details on the initramfs directive, see
# https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=10532
initramfs initrd.img-6.1.0-18-arm64

# SSC
enable_uart=1
dtoverlay=miniuart-bt
core_freq=250

Hat jemand damit Erfahrung?

Großen Dank.

Martin

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Saphora

Das habe ich mir auch so gedacht. Abr die drei Befehle hatte ich schon mehrfach eingegeben:
root@PI:~# systemctl stop serial-getty@ttyAMA0.service
root@PI:~# systemctl disable serial-getty@ttyAMA0.service
Unit /etc/systemd/system/serial-getty@ttyAMA0.service is masked, ignoring.
root@PI:~# systemctl mask serial-getty@ttyAMA0.service

Dadurch ist vermutlich die Gruppe "gpio" nicht da.
Hatte mir auch deine Anleitung angesehen.
Aber der SCC wird absolut nicht erkannt.
Bin daher etwas ratlos.

Otto123

Zitat von: Saphora am 16 März 2024, 13:48:57Dadurch ist vermutlich die Gruppe "gpio" nicht da.
Das hat aber nix damit zu tun, dass ttyAMA0 nicht existiert. ;)

Vielleicht muss man den Hinweis ernst nehmen?
# Do not modify this file!Ich meine, ich habe die Anleitung im Wiki so mit Bookworm schon einmal nachvollzogen. Aber mit einem Raspberry 5 funktioniert das mW so nicht mehr, dort ist empfohlen die serielle Schnittstelle mit raspi-config zu aktivieren.
https://www.raspberrypi.com/documentation/computers/configuration.html
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Saphora

Hatte das File erst angepasst, als der ttyAMA0 nicht da war.
Hat aber in beiden Fällen nichts gebracht.
Hatte das System auch noch einmal aufgesetzt und direkt nach der Installation wurde ttyAMA0 auch nicht erkannt.

raspi-config ist nicht verfügbar.
Ist raspi-config unter Bookworm verfügbar bzw. kann nachinstalliert werden?
Im Netz ist das nicht ganz klar zu finden.
Hier wird oft davon geschrieben, dass raspi-config nicht für Bookworm unterstützt wird?
Wie hast du das gemacht?
Ich habe noch einen Raspberry 3.

Otto123

Zitat von: Saphora am 17 März 2024, 19:46:51Wie hast du das gemacht?
Ich arbeite das auf einem Raspberry 3+ nochmal ab und melde mich zurück.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

#6
Ich habe ein frisches Bookworm Lite 64 bit geholt und gestartet (2024-03-15-raspios-bookworm-arm64-lite.img.xz)
ls -lha /dev/ttyAMA0 liefert wie erwartet nichts. Die Gruppe gpio existiert (spielt aber wie gesagt erstmal gar keine Rolle):
cat /etc/group|grep gpio
gpio:x:993:pi
So öffnet sich raspi-config ohne Probleme
sudo raspi-config
Dann diese Schritte abgearbeitet:
sudo su
# seriell-getty Dienst für ttyAMA0 dauerhaft deaktivieren
systemctl stop serial-getty@ttyAMA0.service
systemctl disable serial-getty@ttyAMA0.service
systemctl mask serial-getty@ttyAMA0.service

Die alte Variante funktioniert tatsächlich nicht mehr! Die haben den Link durch eine Dummy Datei ersetzt!  :-X
ZitatDO NOT EDIT THIS FILE

The file you are looking for has moved to /boot/firmware/config.txt
Also den anderen Pfad genommen:
sudo su
config="/boot/firmware/config.txt"

bash -c "cat <<EOF >> $config
enable_uart=1
dtoverlay=miniuart-bt
core_freq=250
EOF"
reboot
Und es funktioniert:
ls -l /dev/ttyAMA0
crw-rw---- 1 root dialout 204, 64 Mar 17 19:17 /dev/ttyAMA0
Ich ändere das im Wiki8)

Im übrigen sieht meine /boot/firmware/config.txt völlig anders aus als Dein Zitat im ersten Post! :(
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Saphora

Rießen Dank.
Habe das Image hier heruntergeladen und nehme mal stark an, dass dies mein Fehler ist?
https://raspi.debian.net/tested/

Otto123

#8
Das sind keine Raspberry Pi OS Images, das sind debian Images!
Die Raspberry Pi OS Images gibt es hier:
https://www.raspberrypi.com/software/

Ich will nicht sagen, dass das eine besser als das andere ist - es ist eben nur ganz anders ;) und jede Distribution hat andere Konfigurationen
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

Ich habe mir das debian Image angeschaut. Das ist ziemlich anders aufgebaut, aber die UART ist OOTB an /dev/ttyS1 aktiviert.
Man muss lediglich serial-getty deaktivieren und anschließend neu starten.
systemctl stop serial-getty@ttyS1.service
systemctl disable serial-getty@ttyS1.service
systemctl mask serial-getty@ttyS1.service
reboot
danach muss es so aussehen:
ls -lah /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 Sep 20 12:15 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Sep 20 12:15 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 Sep 20 12:15 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Sep 20 12:15 /dev/ttyS3
Sieht es so aus, ist was falsch!
crw--w---- 1 root tty     4, 65 Mar 19 21:33 /dev/ttyS1Danach in FHEM
define HMUARTS1 HMUARTLGW /dev/ttyS1
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Saphora

Danke, dass du dich damit weiter beschäftigt hast.
Die ttySx sind alle in dem Debian Image da.
Bin mir jetzt unsicher, ob ich das Raspi Image nehme oder das Debian.
Deine Empfehlung ist sicherlich das Raspi Image?

Otto123

Es gab für mich bisher keinen Grund den Raspberry anders als mit Raspberry OS zu bestücken. Ich hatte immer den Eindruck, das ist nur ein spezielles debian.
Das Argument auf der debian Seite ist, dass das Raspberry OS Image für alle Hardware Varianten ist und debian ist spezifisch für die eine Hardware. Ok rein äußerlich ist das debian Image ein bisschen größer und wget hat gefehlt (was ich immer ziemlich schnell brauche um meine Setupscripts vom github zu holen :) ) - ich kann also nicht erkennen, das im Raspberry OS viel Ballast mitschwimmt. Aber das ist nur mein erster Blick, kann sein es ist an anderer Stelle ganz anders.

Die Treffer im Netz werden auch breiter sein, da ich denke die Mehrzahl der Raspberry Besitzer nimmt Raspberry OS.
Wenn man debian Spezi ist und seine Landschaft einheitlich haben will, kann man sicher hier auch pur debian nehmen, oder eben Ubuntu oder was auch immer.
Aber man muss es immer dazu sagen, Du hast gemerkt: ich war auch erstmal von Rapberry OS ausgegangen - obwohl Du ja debian 12 geschrieben hast. Oder besser gesagt, ich habe mich bisher nicht mit pur debian auf dem raspberry beschäftigt (ich nehme das auf andere Hardware sehr oft) und war der Meinung Raspberry OS ist bloß debian plus ein paar Besonderheiten.

Linux ist eben so vielfältig ...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Saphora

Danke für deine Meinung.
Schätze ich sehr :)

Hatte jetzt das Raspi-OS genommen und wie du schon geschrieben hast, ist /dev/ttyAMA0 sofort da.
Aber ich denke ganz habe ich es noch nicht verstanden.
Im weiteren Schritt muss noch ein Skript (z.B. EnableSCC.sh) angelegt und vor dem SFHEM-Start ausgeführt werden.
Da scheint aber der GPIO17 nicht da zu sein:

root@OS:/sys/class/gpio $ ls -la
total 0
drwxrwxr-x  2 root gpio    0 Mar 22 20:43 .
drwxr-xr-x 65 root root    0 Jan  1  1970 ..
--w--w----  1 root gpio 4096 Mar 22 20:44 export
lrwxrwxrwx  1 root gpio    0 Mar 22 20:43 gpiochip512 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip512
lrwxrwxrwx  1 root gpio    0 Mar 22 20:43 gpiochip566 -> ../../devices/platform/soc/soc:firmware/soc:firmware:expgpio/gpio/gpiochip566
--w--w----  1 root gpio 4096 Mar 22 20:43 unexport

Wird der GPIO automatisch angelegt?
Im Wiki steht da leider nichts.
In anderen Beiträgen wird teilweise noch mehr vorab gemacht.
Möchte aber jetzt nicht zu lange experiementieren un die Installation durch zu viele Fehlversuche einsauen.
Hast du da noch einen Hinweis?

Otto123

naja es geht ja damit los dieses Pin zu erzeugen
https://forum.fhem.de/index.php/topic,106060.msg1003767.html#msg1003767

Aber der Vorgang funktioniert nicht mehr! Ich bin am suchen aber das klingt nach einer größeren Änderung:
Zitatsysfs-gpio is deprecated.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

Versuch mal ob damit das SCC Modul aktiviert wird:
gpioset gpiochip0 17=1Wenn ja dann muss lediglich diese eine Zeile im Script stehen :)

Hab ich hier gefunden https://www.thegoodpenguin.co.uk/blog/stop-using-sys-class-gpio-its-deprecated/
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz