PVR-350 Remote. ir_kbd_i2c oder lirc_i2c ?

  • Hallo zusammen,


    ich bin gerade dabei, für easyVDR die FB Konfiguration bei einer PVR-350 anzupassen.


    Dabei bin ich auf das Problem gestoßen, dass das Modul saa7134 automatisch das Modul ir_kbd_i2c mitlädt. Dann funktiniert jedoch die Verwendung des Moduls lirc_i2c nicht mehr. Dies wird jedoch üblicherweise bei einer PVR-350 verwendet.


    Ich überlege daher momentan zwei Lösungsansätze:


    Ansatz A)
    Modul ir_kbd_i2c statt lirc_i2c verwenden. Dies hat jedoch folgende Konsequenzen:
    - Eine Udev-Rule wird für das input-event benötigt (habe ich schon)
    - Keycodes müssen dem ir_kbd_i2c untergeschoben werden. Das macht die Konfiguration und Verwendung jedoch unnötig kompliziert:
    - v4l input-utils wird benötigt.
    - keycodes müssen bei jedem Systemstart untergeschoben werden.


    Ansatz B)
    Falls eine PVR-350 im System steckt, verhindern, dass das Modul ir_kbd_i2c geladen wird, wenn das Modul saa7134 geladen wird.


    Mir ist aber unklar, wie ich lezteres bewerkstelligen kann.


    Hier noch was modinfo zum Modul saa7134 sagt:

    Code
    modinfo saa7134
    filename:       /lib/modules/2.6.22.5/kernel/drivers/media/video/saa7134/saa7134.ko
    description:    v4l2 driver module for saa7130/34 based TV cards
    author:         Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]
    license:        GPL
    vermagic:       2.6.22.5 preempt mod_unload 386
    depends:        video-buf,ir-common,videodev,v4l2-common,ir-kbd-i2c,v4l1-compat,compat_ioctl32


    Gruß
    Wicky

  • lirc_i2c ist für eine PVR350 wirklich sehr viel einfacher.


    Ich hatte vor längerer Zeit mal eine saa7134-basierte DVB-T-Karte mit drin, da gab es keine Probleme.


    Vielleicht kannst Du aus
    http://ivtv.writeme.ch/tiki-index.php?page=Remotes
    noch Anregungen ziehen? Könnte aber sein, dass die Seiten nicht mehr aktuell sind.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo Dr.Seltsam,


    Zitat

    Original von Dr. Seltsam
    lirc_i2c ist für eine PVR350 wirklich sehr viel einfacher.


    In der Tat.


    Zitat


    Ich hatte vor längerer Zeit mal eine saa7134-basierte DVB-T-Karte mit drin, da gab es keine Probleme.


    Ich habe die Vermutung, dass damals mit ivtv ein gepachtes saa7134 mitgeliefert wurde, das ir_kbd_i2c nicht automatisch nachlädt.


    Mir würde es auch genügen, wenn ich das Modul ir_kbd_i2c entladen könnte, ohne das Modul saa7134 entladen zu müssen.
    Denn "modprobe -r ir_kbd_i2c" liefert "module in use". Stimmt, saa7134 will das Ding ja auch haben.... :rolleyes:


    Das heißt, wie kann man Module entladen, wenn diese "scheinbar" von anderen Modulen benötigt werden?


    Zitat

    Vielleicht kannst Du aus
    http://ivtv.writeme.ch/tiki-index.php?page=Remotes
    noch Anregungen ziehen? Könnte aber sein, dass die Seiten nicht mehr aktuell sind.


    ...doch das scheint noch aktuell zu sein. Danke.


    Gruß
    Wicky

  • Hallo zusammen,


    ich habe mich für Ansatz A) entschieden auch wenn es etwas aufwändiger ist.


    So gibt es keine Probleme mehr mit dem saa7134, allerdings muss input-utils installiert sein.


    Im wesentlichen habe ich mich nach dieser Anleitung gerichtet:
    http://www.vdr-wiki.de/wiki/index.php/Debian_pvr350_remote


    Allerdings habe ich eine andere udev-Rule verwendet:

    Code
    KERNELS=="input[0-9]*", SUBSYSTEMS=="input", ATTRS{name}=="i2c IR *Hauppauge*",  SYMLINK+="input/ir"


    ..denn ATTR{dev} muss nicht gleich "13:67" sein.


    Und dann habe ich die Bestimmung der input/event Nummer etwas verbessert:

    Code
    EVENT_NR=$(ls -l /dev/input/ir | awk '{print $NF }' | sed 's#[^0-9]\+##')


    ...denn die letzte Spalte muss nicht Spalte 11 sein. Daher $NF statt 11.


    Gruß
    Wicky

  • funktionieren so sämtliche Tasten der FB ?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • das heisst, die Nummer des events (/dev/input/eventX) muss dem User bekannt sein? oder kann man das irgendwie automatisch ermitteln, auf welcher Nummer der PVR350-IR-Empfänger sitzt?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo Dr.Seltsam,


    Ja, alle Tasten funktionieren problemlos.


    Zu den events:


    - Die Udev Regel legt dass input/eventN nach /dev/input/ir. Dabei ist egal, ob N=0,1,2, ...


    - Ärgerlicherweise will aber input-kbd mit der man eine vollständige Keymap auf das Device schiebt, die Event Nummer wissen. Das ist aber kein Drama, da man dies per "ls -l /dev/input/ir" herauskitzeln kann, denn /dev/input/ir ist ja nur ein symbolischer Link, der auf das Device zeigt.


    Der User muss also überhaupt nicht aktiv werden. Zumindest, wenn man so vorgeht, wie ich es hier beschrieben habe.


    Was benötigt man also:


    a) Binary: input-kbd
    b) keymap für input-kbd
    c) udev-Regel
    d) Module: evdev und ir_kbd_i2c


    Gruß
    Wicky

  • ich habe es jetzt mal auf meinem LinVDR-Testrechner versucht:


    die Fernbedienung geht trotzdem!


    ich habe verschiedene Reihenfolgen durchprobiert. Es geht sowohl, wenn saa7134 vor lirc_i2c geladen wird, als auch nachher. Allerdings habe ich bei meinen Versuchen einige Male einen kernel Oops produziert.


    Du kannst ja mal den Kernel aus http://drseltsam.device.name/v…vdr-kernel-2.6.23-rc6.tgz in Dein System friemeln ...

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo Dr.Seltsam,


    Zitat

    Original von Dr. Seltsam
    ich habe es jetzt mal auf meinem LinVDR-Testrechner versucht:
    ...
    die Fernbedienung geht trotzdem!


    ich habe verschiedene Reihenfolgen durchprobiert. Es geht sowohl, wenn saa7134 vor lirc_i2c geladen wird, als auch nachher. Allerdings habe ich bei meinen Versuchen einige Male einen kernel Oops produziert.


    Bis vor kurzem gab es bei easyVDR ebenfalls keinerlei Probleme mit der Kombination lirc_i2c und ir_kbd_i2c.


    Ich werde dennoch nicht zurück zum Modul lirc_i2c schwenken, da ich zum einen die Arbeit hinter mir habe und ich davon ausgehe, dass das Modul ir_kbd_i2c in der Zukunft für weniger Probleme sorgen wird, da es zum offiziellen Kernel-Tree gehört.


    Gruß
    Wicky

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!