[0.7] yavdr ansible mit softhdvaapi, funktioniert statusleds ?

  • Reicht es eventuell schon den VDR der Gruppe "tty" hinzuzufügen?

    Hatte ich probiert, siehe Beitrag #5 -> RE: [0.7] yavdr ansible mit softhdvaapi, funktioniert statusleds ?

    Ohne Erfolg.

    Klick für meine VDR Hard- u. Software

    vdr1: HP Pro Mini 400 G9 i5 12500T 32GB | Ubuntu 24.04.3 LTS yavdr ansible vdr-2.7.7 256GB M.2 2230 | Video: 4TB M.2 Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | RP2350 IRMP Pico | One4all URC 1635 FB
    vdr2: Raspberry CM5 | dual M.2 HAT | VDR*ELEC LE13 | 1TB M.2 Rec (XFS) | 2x WinTV dualHD (DVB-T2/DVB-C) | RP2350 IRMP Pico | One4all URC 1635 FB
    vdr3: gleich wie vdr2
    TV: Philips 55OLED805

  • Version 0.2 von statusleds2irmplirc und statusleds2irmphidkbd ist im git: remove console stuff, improve translation
    Damit sollte es gehen.

    statusleds schaue ich mir später an.

  • Hatte ich probiert, siehe Beitrag #5

    Sorry, hatte ich übersehen.
    Ist eh keine gute Idee, da man dann auf allen Konsolen schreiben könnte, also prinzipiell root-Rechte hätte.

    LEDs lassen auch über /sys/class/leds ansteuern.
    Bei meiner Tastatur klappt das so bei der ScrollLock-LED:

    Code
    echo 0 | sudo tee /sys/class/leds/input0::scrolllock/brightness
    echo 1 | sudo tee /sys/class/leds/input0::scrolllock/brightness


    Mittels udev soll das auch für unprivilegierte user zugänglich zu machen sein.
    Auf die folgenden Regeln bin ich inzwischen mehrfach gestoßen:

    Code
    SUBSYSTEM=="leds", ACTION=="add", RUN+="/bin/chgrp -R leds /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
    SUBSYSTEM=="leds", ACTION=="change", ENV{TRIGGER}!="none", RUN+="/bin/chgrp -R leds /sys%p", RUN+="/bin/chmod -R g=u /sys%p"

    Bislang von mir noch ungetestet und vermutlich wird noch mindestens die Gruppe anzupassen sein.

    Gruss
    SHF

    Mein (neuer) VDR:

    Software:
    Debian Wheezy mit Kernel 3.14
    VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
    noad 0.8.6

    Hardware:
    MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
    32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
    TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
    Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
    PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

  • Version 0.3 von statusleds2irmplirc und statusleds2irmphidkbd ist im git: simplify code, no led change after plugin stop

  • Danke seahawk1986 - 0.3er Version steht bereits zur Verfügung.

    Update ist eingespielt:

    RP2350 mit Keyboard Firmware steckt:

    Code
    rossi@vdr1:~$ lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 002: ID 1209:4445 Generic IRMP HID-KBD-Device
    Bus 001 Device 003: ID 2040:8265 Hauppauge dualHD
    Bus 001 Device 004: ID 2040:8265 Hauppauge dualHD
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

    Aber:

    Code
    Okt 01 20:46:13 vdr1 vdr[2863]: [2900] statusleds2irmphidkbd: error opening stm32 device: Datei oder Verzeichnis nicht gefunden
    Okt 01 20:46:13 vdr1 vdr[2863]: [2900] statusleds2irmphidkbd: write error
    Okt 01 20:46:13 vdr1 vdr[2863]: [2900] statusleds2irmphidkbd: read error
    Okt 01 20:46:13 vdr1 vdr[2863]: [2900] statusleds2irmphidkbd: error opening stm32 device: Datei oder Verzeichnis nicht gefunden
    Okt 01 20:46:13 vdr1 vdr[2863]: [2900] statusleds2irmphidkbd: write error
    Okt 01 20:46:13 vdr1 vdr[2863]: [2900] statusleds2irmphidkbd: read error
    Klick für meine VDR Hard- u. Software

    vdr1: HP Pro Mini 400 G9 i5 12500T 32GB | Ubuntu 24.04.3 LTS yavdr ansible vdr-2.7.7 256GB M.2 2230 | Video: 4TB M.2 Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | RP2350 IRMP Pico | One4all URC 1635 FB
    vdr2: Raspberry CM5 | dual M.2 HAT | VDR*ELEC LE13 | 1TB M.2 Rec (XFS) | 2x WinTV dualHD (DVB-T2/DVB-C) | RP2350 IRMP Pico | One4all URC 1635 FB
    vdr3: gleich wie vdr2
    TV: Philips 55OLED805

  • Defaultmäßig wird /dev/irmp_stm32_kbd geöffnet.
    Falls es das bei yaVDR nicht gibt, hilft

    - entweder ein symlink
    - oder das /dev/sowieso (wie es eben bei yaVDR heisst) per Parameter -i übergeben (-P'statusleds -i /dev/sowieso').

    (Letzteres muss noch in die README).

  • Ok, habe herausgefunden das mein "Tastatur Empfänger" /dev/hidraw0 ist :

    Code
    root@vdr1:/dev# dmesg | grep hid
    [    1.399972] hid: raw HID events driver (C) Jiri Kosina
    [    1.403065] usbcore: registered new interface driver usbhid
    [    1.403068] usbhid: USB HID core driver
    [    1.455930] hid-generic 0003:1209:4445.0001: input,hiddev0,hidraw0: USB HID v1.11 Keyboard [Raspberry Pi Pico IRMP HID-KBD-Device] on usb-0000:00:14.0-1/input0

    Also:

    Code
    root@vdr1:/dev# ls -l /dev/hid*
    crw------- 1 root root 236, 0 Okt  2 19:55 /dev/hidraw0

    Dann:

    Code
    root@vdr1:/dev# ln -s /dev/hidraw0 /dev/irmp_stm32_kbd

    Ergebnis:

    Code
    rossi@vdr1:/dev$ ls -l hidraw0*
    crw------- 1 root root 236, 0 Okt  2 19:55 hidraw0
    rossi@vdr1:/dev$ ls -l irmp*
    lrwxrwxrwx 1 root root 12 Okt  2 20:15 irmp_stm32_kbd -> /dev/hidraw0

    Da hat das Plugin aber keine Berechtigungen drauf:

    Code
    2025-10-02T20:05:17.725312+02:00 vdr1 vdr: [1709] statusleds2irmphidkbd: error opening stm32 device: Keine Berechtigung
    2025-10-02T20:05:17.725435+02:00 vdr1 vdr: [1709] statusleds2irmphidkbd: write error
    2025-10-02T20:05:17.728151+02:00 vdr1 vdr: [1709] statusleds2irmphidkbd: read error

    Änderung:

    Code
    root@vdr1:/dev# chown vdr:vdr /dev/hidraw0
    root@vdr1:/dev# chown -h vdr:vdr /dev/irmp_stm32_kbd
    root@vdr1:/dev# ls -l /dev/irmp_stm32_kbd
    lrwxrwxrwx 1 vdr vdr 12 Okt  2 20:15 /dev/irmp_stm32_kbd -> /dev/hidraw0

    Und schon blinkt was :]

    Edit:
    Aber reboot sicher ist es noch nicht.

    /dev/hidraw0 wird wieder default mit root Rechten angelegt und der symlink ist weg.

    vdr User ist ja je Distri unterschiedlich. D.h. so ist es für yavdr gültig:

    Code
    root@vdr1:/# chown vdr:vdr /dev/hidraw0
    root@vdr1:/# ln -s /dev/hidraw0 /dev/irmp_stm32_kbd
    root@vdr1:/# chown -h vdr:vdr /dev/irmp_stm32_kbd

    Müsste irgendwo in autostart...

    Klick für meine VDR Hard- u. Software

    vdr1: HP Pro Mini 400 G9 i5 12500T 32GB | Ubuntu 24.04.3 LTS yavdr ansible vdr-2.7.7 256GB M.2 2230 | Video: 4TB M.2 Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | RP2350 IRMP Pico | One4all URC 1635 FB
    vdr2: Raspberry CM5 | dual M.2 HAT | VDR*ELEC LE13 | 1TB M.2 Rec (XFS) | 2x WinTV dualHD (DVB-T2/DVB-C) | RP2350 IRMP Pico | One4all URC 1635 FB
    vdr3: gleich wie vdr2
    TV: Philips 55OLED805

    Edited 4 times, last by vdr_rossi (October 2, 2025 at 8:47 PM).

  • Besser ist eine udev Regel https://github.com/j1rie/IRMP_STM…d/70-irmp.rules
    Die legt den symlink an und setzt die Rechte.

  • Aus reiner Neugierde:
    Erscheint bei eurem Empfänger die LED auch unter /sys/class/leds?
    Bei Verwendung des Default-HID-Treibers könnte das gut der Fall sein.
    Ich habe die Hardware aber leider nicht zum testen.

    /sys/class/leds scheint die Standardschnittstelle dafür zu sein: LED handling under Linux
    Sich die Schnittstelle näher anzusehen könnte lohnen, an meinem einen Computer kann man damit sogar die Gehäuse-LEDs schalten.
    Leider nicht am VDR, da wäre das aber echt cool, LED-Anzeige am Gehäuse, ganz ohne Gebastel.

    Gruss
    SHF

    Mein (neuer) VDR:

    Software:
    Debian Wheezy mit Kernel 3.14
    VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
    noad 0.8.6

    Hardware:
    MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
    32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
    TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
    Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
    PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

  • Der KBD-Empfänger taucht als Tastatur tatsächlich unter sys/class/leds  auf.
    Da das aber wegen statusleds2irmphidkbd nicht mehr gebraucht wird, plane ich das wieder auszubauen.
    Denn wenn im BIOS Numlock an ist, stört das.

    Der irmplirc-Empfänger wird mangels Treiber nicht in sys/class/leds  gelistet.

    Manche nutzen den Empfänger auch nur um eine LED ansteuern zu können. So viel Gebastel ist das nun auch wieder nicht ;)

  • Version 0.4 von statusleds2irmplirc und statusleds2irmphidkbd ist im git: again warn before recording, improve translations
    Hab die Möglichkeit sich vor einer Aufnahme warnen zu lassen wieder eingebaut und verbessert.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!