Hallo Claus,
ich bin mir nicht sicher, ob der Patch wirklich das Problem mit irkeytable behebt.
Es könnte aber ein Baustein für die Lösung des Problems sein.
Gefunden habe ich den Patch in Zusammenhang mit dem patch den Pit schon erfolgreich eingebaut hat.
Ich bin auf lore.kernel.org auf die Freigabe dieser Patches für Kernel 5.11 gestoßen.
https://lore.kernel.org/linux-media/20210106104314.GA879@gofer.mess.org/Dort wird unter dem Betreff "[GIT FIXES FOR v5.11] rc nsec to usec fix #2" auch dieser 2. Patch "media: rc: ensure that uevent can be read directly after rc device register" aufgeführt.
Auf jeden Fall steht der 2. Fix-Patch auch im Zusammenhang mit der Umstellung von Nano- auf Mikrosekunden.
https://patchwork.linuxtv.org/project/linux-media/patch/20201221091929.26504-1-sean@mess.org/Evtl. ist ja der mit diesem Patch gefixte Fehler eine der Ursachen, weshalb es beim Wechsel des RC-Protokolls den Segfault gibt und das dazugehörige decoder Modul nicht geladen wird.
Vermutlich ist da aber auch noch eine Änderung in irkeytable nach der Version 14 mit im Spiel.
Bei meinen Tests mit Kernel 5.7 hatte ja das Anlernen bei MLD 5.5 nur reibunglos funktioniert, wenn ich irkeytabel 1.12.3-14 aus 5.4 stable installiert hatte.
Letztendlich hatte bis einschließlich Kernel 5.7.17 und irkeytable 1.16.3-14.8 "nur" das Anlernen nicht funktioniert.
Mit einer passenden keymap in /etc/rc-kemap und entsprechend konfigurierter rc_maps.cfg wurde auch nach einem Reboot der ir_rc5_decoder geladen und die FB hatte funktioniert.
Jetzt mit Kernel 5.10.11 plus Patch hilft irkeytabel 1.12.3-14 anstatt der 1.16.3-14.8 jedoch nicht damit das Anlernen reibunglos funktioniert.
Und auch eine passende und ensprechend konfigurierte keymap hilft nicht, damit die FB nach einem Reboot funktioniert.
Somit gibt es da anscheinend noch ein weiteres Problem seit Kernel 5.9, das evtl. durch den 2. Patch behoben wird.
Ich habe gestern noch mal die Nutzung von eventlircd/irkeytable mit den seriellen IR-Empfängern ausführlicher getestet.
Hier hat der patch auf jeden Fall doch auch eine Verbesserung gebracht, da jetzt überhaupt wieder FB-Signale decodiert werden.
Vorher kam bei evtest nichts an, jetzt mit dem patch aber schon.
Es bleibt aber eben noch der Segfault beim Anlernen, wobei das Anlernen der FB, jetzt doch klappt.
Unter "Tastenbelegung bearbeiten" nach dem Wechsel des Protokolls auf rc5 kommt der Segfault.
Dann auf "Speichern", wobei der ir_rc5_decoder nachgeladen wird.
Anschließend funktioniert das Anlernen und mit nochmaligem Speicher wird dann eine funktionierende rc-keymap erstellt.
Nach einem Restart des VDR über die Befehlsfolge "stop vdr" - "restart xorg" - "start vdr", funktioniert dann auch die FB im VDR.
Nach einem Reboot funktioniert die FB aber trotz einer jetzt funktionierenden keymap wieder nicht mehr.
Abhilfe schafft da ein ir-keytable Befehl auf Konsole, der das Protokoll auf rc5 umstellt und die neu erstellte keymap lädt.
ir-keytable -s rc0 -c -p rc5 -w /etc/rc_keymaps/Serial_IR_type_homebrew
Dadurch wird dann auch das Modul ir_rc5_decoder nachgeladen.
Anschließend ein "restart vdr" und die FB funktioniert bis zum nächsten Reboot wieder.
Gruß
Klaus
PS:
Ich habe noch einen 3. Fix-Patch im Zusammenhang mit der Umstellung von Nano- auf Mikrosekunden entdeckt den Sean Young für Kernel 5.11 gemeldet hat.
https://lore.kernel.org/linux-media/20210111122626.GA19679@gofer.mess.org/Dieser patch betrifft jedoch nicht serial_ir, sondern das Modul ite-cir und behebt evtl. das CIR-Problem der Intel-NUC Systeme seit Kernel 5.9.
https://www.minidvblinux.de/forum/index.php/topic,9993.msg79330.html#msg79330Ich werde den ite-cir Patch mal bei diesem Thema posten.