RPI5 /dev/ttyAMA0 nicht ansprechbar?

Begonnen von RappaSan, 31 Mai 2024, 21:21:09

Vorheriges Thema - Nächstes Thema

RalfRog

Zitat von: RappaSan am 10 Juni 2024, 09:18:37Hab ja wie in#24 erwähnt es einmal !! hinbekommen, daß der CUL ordentlich lesbare Antworten ablieferte - ich weiß bis heute nicht wie das gelungen ist und das Verhalten reproduziert werden kann.
Man kann in minicom auch sehen, daß da etwas geantwortet wird, aber nichts in Klartext. Daher auch die Logmeldung "Cannot init /dev/ttyAMA0, ignoring it ".

Hallo RappaSan
Heisst das, dass sowohl FHEM als auch Minicom gleichzeitig auf /dev/ttyAMA0 zugreifen?
Ich glaube nicht, dass das sinnvoll möglich ist und sich beides in die Quere kommt.

Gruß Ralf

FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RappaSan

Tut es auch. Besser erst FHEM beenden. :)
Ansonsten schien sich minicom bei dem einmalig erfolgreichen Versuch einfach davor zu klemmen.
Daher auch die Meldungen im Log:
2024.06.08 10:08:47 1: /dev/ttyAMA0 disconnected, waiting to reappear (CUL868)
2024.06.08 10:09:51 3: Setting CUL868 serial parameters to 38400,8,N,1
2024.06.08 10:09:51 3: CUL868: Possible commands: ABbCEeFfGhIiKkLlMmNORTtUuVWXxYZz
2024.06.08 10:09:51 2: Setting CUL868 fhtid from 1034 to 1257
2024.06.08 10:09:51 1: /dev/ttyAMA0 reappeared (CUL868)


Wernieman

Dann Probiere doch einfach mal, den PI ohne fhem zu booten. Dann per minicom testen .. wenn das nicht geht, ist definitiv nicht fhem schuld ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

RappaSan

Muß mal sehen, ob ich einen Widerstand für die Brückung in meiner Wühlkiste habe. :D

Otto123

Zitat von: RappaSan am 10 Juni 2024, 09:18:37@Otto: Hab ich versucht, aber ohne positiven Effekt
hast du leider nicht. Ich hatte um Ausgaben gebeten. Ohne jede Info kann doch keiner mitdenken. Ob das Board in Ordnung oder defekt ist, ist der ttyAMA0 doch völlig egal!
Wenn die Straße nicht da ist, kann man mit dem Auto nicht fahren - egal ob es intakt ist oder der Fahrer nicht weiß wie man den Motor startet.
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

RappaSan

Hab ich schon... :) 
Wenn die Ausgaben anders als in dem von dir verlinkten Beitrag wären, hätte ich diese gepostet und eventuell einen Hinweis auf das Problem.
Es ist ja auch nicht so, als würde das Board (per minicom) nicht reagieren - es kommt ein Echo zurück. Ist aber nicht lesbar und sieht aus, als wäre die Baudrate oder ein anderer serieller Parameter verdreht.
Einmal hat's ja sogar hingehauen, da konnte man die erwartbaren Antworten des CUL bekommen. Und prompt ging das Ding nach Beendigung von minicom auch per FHEM auf initialized.
Nach einem reboot war aber alles wieder hin - ohne weitere Änderungen an den Konfigurationsdateien.

Onca

Hallo Allerseits,

auch bei mir läuft es nicht wie gewünscht. Raspberry PI5 mit EnOcean board auf dem GPIO - die LED ist "on" ständiges grün. OS Bookworm aktuell.
Habe mal auf die Empfehlung von Otto123 aus #12 die Mitschrift hier:

pi@rasp5bg:~ $ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 18 not upgraded.
pi@rasp5bg:~ $ apt-get clean
E: Could not open lock file /var/cache/apt/archives/lock - open (13: Permission denied)
E: Unable to lock directory /var/cache/apt/archives/
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
pi@rasp5bg:~ $ sudo apt-get clean
pi@rasp5bg:~ $ systemctl stop serial-getty@ttyAMA0.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to stop 'serial-getty@ttyAMA0.service'.
Authenticating as: ,,, (pi)
Password:
==== AUTHENTICATION COMPLETE ====
pi@rasp5bg:~ $ sudo systemctl stop serial-getty@ttyAMA0.service
pi@rasp5bg:~ $ sudo systemctl disable serial-getty@ttyAMA0.service
Unit /etc/systemd/system/serial-getty@ttyAMA0.service is masked, ignoring.
pi@rasp5bg:~ $ sudo systemctl mask serial-getty@ttyAMA0.service
pi@rasp5bg:~ $ sudo raspi-config nonint do_rgpio 0
pi@rasp5bg:~ $ config="/boot/firmware/config.txt"
# für Raspberry Pi OS vor Bookworm
# config="/boot/config.txt"
# für Ubuntu
#config="/boot/firmware/usercfg.txt"

bash -c "cat <<EOF >> $config
enable_uart=1
dtoverlay=miniuart-bt
core_freq=250
EOF"
bash: line 1: /boot/firmware/config.txt: Permission denied
pi@rasp5bg:~ $  sudo nano /boot/firmware/config.txt
pi@rasp5bg:~ $ sudo systemctl disable hciuart
pi@rasp5bg:~ $ sudo reboot

Die Prüfung ergibt eine Abweichung und zwar für  /dev/serial0 wird ttyAMA10  wird nicht ttyAMA0 gemeldet.
In Fhem die TCM_ESP3 definiert mit "ttyAMA10" bringt keine Verbesserung. Der TCM_ESP3 STATE lautet disconnected.
Die Abfrage der base ID liefert "no FD"

Hinweis: das "sudo systemctl disable hciuart" hatte ich hier gefunden https://github.com/raspberrypi/documentation/blob/develop/documentation/asciidoc/computers/configuration/uart.adoc
Unter UARTS and Device tree.

Habt Ihr noch Hinweise wie das EnOcean board aktiviert werden kann.

Gruß Bernd

Otto123

#37
Hallo Bernd,
die Modifikation der config hat ja nicht funktioniert.
Zitat/boot/firmware/config.txt: Permission denied
Damit dürfte das Overlay nicht da sein und die Schnittstelle wird nicht getauscht.
Die Verwendung AMA10 ist mMn keine Alternative.

Gruß Otto
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

RappaSan

Sind die Modifikationen eventuell als user pi ausgeführt worden?
Der darf die config.txt doch bestimmt nicht verändern und diverses anderes ebenso nicht.
Ich hab mich immer als pi angemeldet, aber danach mit
sudo su
dauerhaft auf root rechte gewechselt.

Leider kann ich - im Moment zumindest nicht - mehr mitsuchen, da ich den Pi5 nur noch bis gestern zurückgeben konnte.
Jetzt versuche ich weiter Konfigurationshinweise zu finden, bevor ich zum tüfteln nochmal ein Board ordere.

Onca

Guten Morgen,


@ Otto

das mit dem  "Permission denied" hatte ich gesehen und die config.txt mittels sudo nano geändert. Z.Z. sieht diese Datei - config.txt so aus:
  GNU nano 7.2                                    /boot/firmware/config.txt *                                           
# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
dtparam=spi=on
dtparam=krnbt=off
# von https://www.raspberrypi.com/documentation/computers/configuration.html#secondary-uart


# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Additional overlays and parameters are documented
# /boot/firmware/overlays/README

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Automatically load initramfs files, if found
auto_initramfs=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

# Run as fast as firmware / board allows
arm_boost=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]
dtoverlay=uart0
dtoverlay=uart1
dtoverlay=disable-bt
#dtparam=uart0=on
enable_uart=1
core_freq=250




Das Ergebnis ist weiterhin kein connected

Internals:
  BaseID    00000000
  DEF        ESP3 /dev/ttyAMA0@57600
  DeviceName /dev/ttyAMA0@57600
  FUUID      6651c70a-f33f-5a99-4904-e2d9eeab754f8d3b
  FVERSION  00_TCM.pm:0.277860/2023-07-21
  LastID    00000000
  MODEL      ESP3
  NAME      TCM_ESP3_0
  NOTIFYDEV  global
  NR        47
  NTFY_ORDER 45-TCM_ESP3_0
  PARTIAL   
  STATE      disconnected
  TYPE      TCM
  READINGS:
    2024-06-15 13:13:07  state          disconnected
  helper:
Attributes:
  baseID    FFA12C80
  room      System
  sendInterval 0
  smartAckMailboxMax 0

Wie werde ich der Lösung näher kommen? Habt Ihr eine Idee?

Gruß

Bernd

Otto123

#40
Zitat von: Onca am 15 Juni 2024, 13:24:44dtoverlay=disable-bt
das tauscht nicht und damit  hat man nach meinem Verständnis keine AMA0:
https://www.raspberrypi.com/documentation/computers/configuration.html#primary-and-secondary-uart
und die UART10 ist am debug Connector.  :o

Edit: Wenn ich den richtig verstehe: https://www.raspberrypi.com/documentation/computers/configuration.html#raspberry-pi-5
braucht man beim PI5 die Tauscherei nicht.
Einzig diese Zeile in der config (alles andere braucht man nicht!) sollte die UART0 am GPIO Header aktivieren.
dtoverlay=uart0was die Folge dtoverlay=uart0 dtoverlay=uart1 bewirkt weiß ich nicht, wird dann die PIN Belegung überschrieben?
Zitat von: Onca am 15 Juni 2024, 13:24:44Das Ergebnis ist weiterhin kein connected
fang doch weiter "unten" an:  ;)
ls -lha /dev/ttyAMA*
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

Onca

Hallo Otto,

der Test entsprechend #15 liefert dieses Ergebnis und ist damit für /dev/ttyAMA0 ok
pi@rasp5bg:~ $ python3 serial_uart_test_TxRx.py
Serial port /dev/ttyAMA10  ready for test :
Sended 20 byte
Received incorrect data: b'' on serial part /dev/ttyAMA10 loopback

Serial port /dev/ttyAMA0  ready for test :
Sended 20 byte
Received  20 bytes. Port /dev/ttyAMA0 is OK !

Serial port /dev/ttyS0  ready for test :
Sended 20 byte
Received incorrect data: b'' on serial part /dev/ttyS0 loopback

Error on /dev/ttyS1

Der Test mit ls -lha /dev/ttyAMA* liefert:

pi@rasp5bg:~ $ ls -lha /dev/ttyAMA*
crw-rw---- 1 root dialout 204, 64 Jun 16 18:52 /dev/ttyAMA0
crw-rw---- 1 root dialout 204, 74 Jun 16 18:52 /dev/ttyAMA10
pi@rasp5bg:~ $


Jetzt das Modul wieder aufgesteckt und erneut ls -lha /dev/ttyAMA* liefert wie zuvor:
pi@rasp5bg:~ $ ls -lha /dev/ttyAMA*
crw-rw---- 1 root dialout 204, 64 Jun 16 18:54 /dev/ttyAMA0
crw-rw---- 1 root dialout 204, 74 Jun 16 18:51 /dev/ttyAMA10
pi@rasp5bg:~ $

Das listing der TCM_ESP3 ist unverändert:
Internals:
   BaseID     00000000
   DEF        ESP3 /dev/ttyAMA0@57600
   DeviceName /dev/ttyAMA0@57600
   FUUID      6651c70a-f33f-5a99-4904-e2d9eeab754f8d3b
   FVERSION   00_TCM.pm:0.277860/2023-07-21
   LastID     00000000
   MODEL      ESP3
   NAME       TCM_ESP3_0
   NOTIFYDEV  global
   NR         47
   NTFY_ORDER 45-TCM_ESP3_0
   PARTIAL   
   STATE      disconnected
   TYPE       TCM
   READINGS:
     2024-06-16 18:57:32   state           disconnected
   helper:
     telegramSentTimeLast 1718557246.09208
     awaitCmdResp:
       1
Attributes:
   baseID     FFA12C80
   room       System
   sendInterval 15
   smartAckMailboxMax 1

Wir wissen jetzt das die Schnittstelle entsprechend dem Python Programm funktioniert. DAs GPIO board habe ich auf einem anderen Raspberry getestet, voll funktionsfähig, die Signale weidengesendet und empfangen.

Kann es an einem Rechteproblem liegen.? Das Fhem ist über profanier aufgesetzt a, Raspberry 5?

Vor dem Test habe ich die config.txt nach Deiner Vorgabe angepasst. Sie sieht jetzt so aus:

  GNU nano 7.2                           /boot/firmware/config.txt                                     
# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
dtparam=spi=on
dtparam=krnbt=off
# von https://www.raspberrypi.com/documentation/computers/configuration.html#secondary-uart


# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Additional overlays and parameters are documented
# /boot/firmware/overlays/README

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Automatically load initramfs files, if found
auto_initramfs=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

# Run as fast as firmware / board allows
arm_boost=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]
dtoverlay=uart0
#dtoverlay=uart1
#dtoverlay=disable-bt
#dtparam=uart0=on
enable_uart=1
core_freq=250



Gibt es noch eine Idee was die Funktion ermöglicht?

Gruß Bernd

RappaSan

Das deckt sich ziemlich gut mit meinen Erfahrungen.
Es kommt ein Echo zurück, aber leider nichts verwertbares.
Wie schon beschrieben hab ich EIN!!! einziges Mal eine korrekte Kommunikation hinbekommen (warum's da funktioniert hat - keine Ahnung), nach einem Neustart ohne jegliche weitere Änderung war alles wieder hin.

Otto123

@Onca die Ausgaben sehen eigentlich gut aus, die Kommunikation mit sich selbst funktioniert ja offenbar.
intialUsbCheck hast Du deaktiviert - vor dem FHEM Neustart?
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

Onca

Otto den initilUsbCheck habe ich zugefügt und deaktiviert. Das Ergebnis bleibt unverändert.

Im .log des portainer ist mir allerdings aufgefallen:

2024.06.17 14:05:06.197 1: Including fhem.cfg
2024.06.17 14:05:06.349 3: WEB: port 8083 opened
2024.06.17 14:05:06.376 2: eventTypes: loaded 335 lines from ./log/eventTypes.txt
2024.06.17 14:05:06.556 3: AptToDate (fhemServerApt) - defined
2024.06.17 14:05:06.880 3: telnetPort: port 7072 opened


2024.06.17 14:05:06.890 3: Opening TCM_ESP3_0 device /dev/ttyAMA0
2024.06.17 14:05:06.904 1: TCM_ESP3_0: Can't open /dev/ttyAMA0: No such file or directory


2024.06.17 14:05:07.287 2: EnOcean Cryptographic functions are not available.
2024.06.17 14:05:07.287 2: EnOcean XML functions available.
2024.06.17 14:05:07.289 1: Including ./log/fhem.save
2024.06.17 14:05:07.297 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log
2024.06.17 14:05:07.297 3: From the FHEM_GLOBALATTR environment: attr global pidfilename ./log/fhem.pid
2024.06.17 14:05:07.298 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1
2024.06.17 14:05:07.298 3: From the FHEM_GLOBALATTR environment: attr global nofork 0

Can't open ttyAMA0 no such file or directory

obwohl es den Eintrag im Verzeichnis /dev gibt:

crw-rw----   1 root dialout 204,  64 Jun 17 14:04 ttyAMA0
crw-rw----   1 root dialout 204,  74 Jun 17 14:04 ttyAMA10

Da ist noch einen Anpassung offen. Welche?

Gruß Bernd