FLIRC 2nd Gen USB Infrarot IR Adapter Dongle

  • Hi an Alle,


    falls sich jemand von euch für das FLIRC 2nd Gen USB Infrarot IR Adapter Dongle (siehe Foto) interessiert, hier meine Erfahrungen.

    Link zu BerryBase (Shop)


    Das Fasziniernde an dem Teil ist, dass es sich im Gegensatz zu den "klassischen" IR-Empfänger im System (PC- oder ARM-Plattform, diverse OS) als ein HID-Device anmeldet und die Knöpfe der IR-Fernbedienung "übersetzt" und als Tastendruck weiter meldet. Das ist zumindest zukunftssicher (zumal irda in neueren Kernelversionen nicht mehr enthalten ist).

    Konfiguriert wird der Dongle an einem PC/Raspi und kann danach ohne Installation von Software an jedem beliebigen Gerät als HID eingesetzt werden.

    Der "Haken" kann (nicht muss!) bei der Konfiguration lauern, sofern man keine vordefinierte Fernebdienung einsetzt.

    Insgesamt ist das Dongle sehr mächtig, da ht der Hersteller eine Menge einfliessen lassen.


    Und hier steig ich dann mal mit meinen Erfahrungen (auf eine x64-Laptop mit Ubuntu Mate 20.10 gemacht) ein.


    Das Konfigurationstool kann man als ZIP herunter laden - zu finden auf der Webseite des Herstellers unter

    https://flirc.tv/support/flirc-usb


    von dort gibt es mehrere Wege der Installation der Flirc-Tools


    als Paketquelle curl apt.flirc.tv/install.sh | sudo bash


    oder die generischen Links für 32bit oder 64bit


    Wichtig ist das "Kleingedruckte" ganz unten: es sind evtl. weitere Bibliotheken zu installieren:

    libhidapi-hidraw0 libqt5core5a libqt5network5 libqt5xml5 libqt5xmlpatterns5 libhid qt5-qtbase qt5-qtsvg hidapi

    interne Notiz: qt5-qtbase qt5-qtsvg sind nicht verfügbar, habe statt dessen qt5-default installiert


    bei Installation als Paketquelle ist folgende Regel bereits angelegt - falls nicht - oder bei manueller Installation - kopiere

    99-flirc.rules rules

    nach

    /etc/udev/rules.d/

    Note from Website: optionally copy flirc_util and flirc to /usr/local/bin/


    Danach sollten die beiden Programme Flirc (grafische Oberfläche) und flirc_util (Kommandozeilen-Tool) auf dem System verfügbar sein.

    Mit Flirc kann man Presets für die zu verwendende Fernbedienung auswählen und deren Tasten zuordnen, die Firmware aktualisieren oder im Debug-Mode die gesendeten Codes anzeigen lassen.

    Mit flirc-util kann man (Keyboard)Tasten bestimmen, die man in der Konsole händisch zuordnet. Anbei die Befehle, die flirc_util laut Hilfe versteht:

    delete Delete next remote button flirc sees from saved database
    delete_index Delete button at index displayed in `flirc_util settings`
    device_log Displays the log on the device
    dfu Kick in or out of Device Firmware Upgrade mode
    format Remove all saved buttons from flirc
    help Show this help. Also try `help <command>`
    interkey_delay set the interkey delay
    loadconfig Load configuration file from disk to flirc
    mode Enable or disable a usb mode
    noise_canceler Noise canceler to prevent phantom presses
    normal Put flirc in normal user mode
    profiles enable or disable built in profiles
    rb set settings for remote buddy configuration
    record Record infrared buttons and link them to HID keys
    record_api Advanced button recording
    record_lp Record a long pres key
    record_macro Record a macro key
    rom_table enable or disable a give rom table
    saveconfig Save configuration file to disk
    script run a command script
    sendir Send a packet over the IR transmitter
    settings Displays all the devices current settings
    shell enter into shell mode
    sleep_detect Turns on sleep/suspend detection
    unit_test Performs a self test
    upgrade Uploads new firmware image to flirc hardware
    version print the version
    wait Waits for the device to be plugged in (used for scripting)


    Error:

    leider verlangt das cmd-Tool flirc_util beim ersten Aufruf eine veraltete Lib, aber das kann über folgenden Sym-Link behoben werden

    # bei mir wird libreadline.so.8 vorgefunden - Version kann/wird sich künftig ändern, also evtl. Anpassung erforderlich.

    # folgende Befehle ausführen (evtl. nach Kernel-Update neu erforderlich???)

    danach hat das Tool bei mir seinen Dienst verrichtet.

    cd /lib/x86_64-linux-gnu/

    ls librea*

    sudo ln -s libreadline.so.8 libreadline.so.6


    Aber: die eingebaute Hilfe von flirc_util passte nicht zur aktuellen Firmware... :wallbash:

    so brach das Zuordnen der "vor"-Taste der Fernbedienung der Taste Keyboard-Taste "fastforward" über den Befehl

    flirc_util record fastforward

    mit einem Fehler ab - die Hilfe war nicht aktuell, es hätte

    flirc_util record fast_forward

    heißen müssen.

    Da die Software zum Glück auf github hinterlegt ist, hier eine Quellenangabe, wo man sich die neusten Daten/Infos holt:

    ### Supportd keywords for Flirc

    # https://github.com/flirc/sdk/b…cli/src/cmds/flirc_cmds.c


    Diese Zuordnungen (als Keyboard-Tasten) waren Anfang April 21 möglich:

    return

    enter

    escape

    backspace

    delete

    tab

    space

    F[1-12]

    a-z, 1-0

    printscreen

    scroll

    pause

    insert

    home

    pageup

    pagedown

    end

    right

    left

    down

    up

    suspend

    wake

    eject

    vol_up

    vol_down

    mute

    play/pause

    stop

    fast_forward

    rewind

    next_track

    prev_track


    das gibt dann schon eine Reihe an Möglichkeiten... :angel:


    In der Konsole kann man die Befehle auch als Batch eingeben, die man sich vorher in einem Texteditor zusammen gezimmert hat, um in einem Schwung z.B. eine Auswahl an Tasten zuzuweisen, da das Tool erst den Tastendruck der Fernbedienung abwartet, bevor es den nächsten Befehl abarbeitet.

    Nachteil wäre dabei, wenn man sich in der Reihenfolge verhaspelt...



    Probleme mit der Fernbedienung:

    Reproduzierbar musste ich an der einzurichtenden Fernbedienung zweimal die eine oder andere Taste drücken.

    Lauf dem Forum des Herstellers liegt das an der Fernbedienung, nicht am Dongle.

    Ich hatte mehrere Fernbedienungen (teilweise 10 Jahre alt), bei denen das auftrat - jede mit anderen Tasten, die nicht auf Anhieb erkannt wurden.

    Da das Problem nicht über die Tasten gewandert ist, sondern stets bei einer bestimmten Taste hing, geh ich mal davon aus, dass das nicht falsch ist.



    Fazit:

    Ich finde den Dongle mächtig, und eine interessante Alternative zur DIY-IR mit LIRC, aber beide Wege verlangen Handarbeit, wenn man für den Flirc keine vordefinierte Fernbedienung sein eigen nennt.

    Viele Informationen muss man sich zusammen suchen, deswegen habe ich den Text hier geschrieben. ;(

    ---

    we all live in a yellow subroutine...