jens-maus / RaspberryMatic

:house: A feature-rich but lightweight, buildroot-based Linux operating system alternative for your CloudFree CCU3/ELV-Charly 'homematicIP CCU' IoT smarthome central. Running as a pure virtual appliance (ProxmoxVE, Home Assistant, LXC, Docker/OCI, Kubernetes/K8s, etc.) on a dedicated embedded device (RaspberryPi, etc.) or generic x86/ARM hardware.
https://raspberrymatic.de
Apache License 2.0
1.54k stars 190 forks source link

LED Ansteuerung ueber USB-Adapter HB_RF_USB am Raspberry zero #1747

Closed ralf33609 closed 2 years ago

ralf33609 commented 2 years ago

Describe the issue you are experiencing

led support über das usbmodul funktioniert nicht stattdessen wird standardmässig der direkte ledsupport über den 40poligen Header geladen.

Umgebung: Aktuelle Firmwareversion: 3.61.7.20220115 (3.61.7.20220226 verfügbar) Hardware: raspberry pi zero mit ftdi basiertem HB_RF_USB (korrigiert) und angeschlossenem HM-MOD-RPI-PCB

P.S. Es handelt sich aus meiner Sicht um ein Fehlverhalten. Der Issue soll aber primaer bei der Weiterentwicklung/Verbesserung der Software zu helfen. (Geringe Dringlichkeit) bzw bei der Fehlersuche bei Leds helfen.

Describe the behavior you expected

Ich hatte erwartet, das mit dem HB-RF-USB (ftdi chip) die leds über den ftdi ansteuerbar sind. Es wird aber stattdessen die gpio pins des Raspberry headers verwendet. Homematic rf-Pakete sendet das Modul wunderbar. Das ganze dient als vorbereitung um spätter mit einer virtualisierten umgebung zu arbeiten.


echo 0 > rpi_rf_mod\:green/brightness
echo 1 > rpi_rf_mod\:green/brightness

zustandsänderung am pinheader des raspi

ls /sys/class/leds
led0  rpi_rf_mod:blue   rpi_rf_mod:green  rpi_rf_mod:red

Steps to reproduce the issue

1. Meine Analyse:

unterbinden des rfmoduls auf dem pinheader des raspi???

cat config.txt | grep rpi_rf

##dtoverlay=rpi-rf-mod
##dtoverlay=rpi-rf-mod-rpi1

zugang über ssh Konsole als root led support über das usbmodul funktioniert nicht stattdessen wird standardmässig der direkte ledsupport über den 40poligen Header geladen

feststellen welche gpios benutzt werden können das rpi led module arbeitet über die linux gpio Schnittstelle siehe linux sysfs api

cat /sys/class/gpio
gpiochip509

=> gpios on ftdi usb controller ab gpio509

prüfen ob das modul zur ansteuerung der gpios geladen ist

lsmod

Wie heisst das zu ladende modul

cat /lib/modules/5.10.63/extra/
 rpi_rf_mod_led.ko

zuweisung der Pins unverifiziert (kann falsch sein)!!!!

modprobe rpi_rf_mod_led red_gpio_pin=509 green_gpio_pin=510 blue_gpio_pin=511

lsmod | grep rpi
 rpi_rf_mod_led         16384  0
 ls /sys/class/leds
led0  rpi_rf_mod:blue   rpi_rf_mod:green  rpi_rf_mod:red  

toggle off/on

echo 0 > rpi_rf_mod\:green/brightness
echo 1 > rpi_rf_mod\:green/brightness
echo heartbeat > rpi_rf_mod\:green/trigger 

es funktioniert nun wie erwartet.

What is the version this bug report is based on?

3.61.7.20220115

Which base platform are you running?

rpi0 (RaspberryPi)

Which HomeMatic/homematicIP radio module are you using?

RPI-RF-MOD

Anything in the logs that might be useful for us?

nothing

Additional information

Die Frage: wo sollte das laden des moduls erfolgen, und wo sollten die modulparameter eingetragen werden.

jens-maus commented 2 years ago

Tschuldigung, aber was soll bitte ein "HM_RF_USB" bzw. "HB_RF_USB" sein? Bitte hier die korrekten Bezeichnungen verwenden. Auch schreibst du von HM-MOD-RPI-PCB. Dieses Funkmodul hat aber keinerlei LED. Also auch hier hast du vermutlich die falsche Typenbezeichnung verwendet.

Bitte also Ticket entsprechend korrigieren und konkretisieren und wo möglich auch code passagen in code tags versehen.

ralf33609 commented 2 years ago

Leider ist das ein Selbstbau Breakout ftdi mit original ftdi Reichelt chip und über Linux gebrannter EPROM Konfiguration. Die leds habe ich selber an den ftdi gelötet. Ich möchte mir später das mit dem Originalbausatz machen. Das Verhalten müsste aber genauso sein wie bei der Platine von alex. das RF modul ist von elv HM-MOD-RPI-PCB. und hat in der tat keine LEDS. Wie geschrieben, dient das als test bevor ich das ganze in der virtualisierten umgebung später einsetze. Mir ist klar das dann keine Kollision mit dem GPIO Header eines Raspberrys erfolgt. Deshalb dient der issue auch nur als hinweis, das Anwender des USB-Moduls am raspberry zero ein unerwartetes Verhalten der LEDs beobachten.

ralf33609 commented 2 years ago

HB_RF_USB: siehe https://github.com/alexreinert/PCB/tree/master/HB-RF-USB HM-MOD-RPI-PCB: von elv, (ich weis nicht ob ich den link auf den ELV-shop hier posten darf) hatte ich bisher auf meinem raspberry pi 2 mit lxccu

jens-maus commented 2 years ago

Nun, tut mir leid. Aber wenn du hier auf ein eigenes Selbstbau HB-RF-USB setzt und dann auch noch erwartest das damit trotz Einsatz des veralteten HM-MOD-RPI-PCB eine LED Ansteuerung funktionieren müsste, muss ich dich leider enttäuschen. Das ist nicht der Fall und im Startup von RaspberryMatic wird explizit nur bei Einsatz eines RPI-RF-MOD auch das entsprechende Modul, etc. gesetzt damit die LED Ansteuerung via HB-RF-USB dann auch funktioniert. Ich würde also vorschlagen du setzt auf ein originales HB-RF-USB und/oder auch auf ein RPI-RF-MOD wenn du schon LEDs unbedingt haben willst. Das alte HM-MOD-RPI-PCB ist ohnehin als obsolete anzusehen weil dieses keinerlei Funkmodul-Firmware mehr in Zukunft erhalten wird und nur noch ein RPI-RF-MOD bzw. HmIP-RFUSB momentan als aktuell bzw. state-of-the-art anzusehen ist.

Ich sehe hier auch keinen Sinn dieses Ticket/Issue hier weiter offen zu halten weil das IMHO ein selbst gemachtes Problem ist für das du ja auch offensichtlich ein workaround für dich selbst gefunden hast. Das hier ist aber ein Bug/Issue-Tracker und kein Diskussionsforum. Wenn du deine Lösung also präsentieren willst, dann nutze bitte ein Diskussionsforum für so etwas.