Schlagwort-Archive: LibreElec

Libre Elec auf RaspberryPi

Installation

LibreElec installieren und erstmalig starten

Download von LibreElec und Installation auf SD-Karte wie hier beschrieben: https://libreelec.tv/downloads_new/

Dann den RaspberryPi mit der SD-Karte booten und Grundkonfiguration über Konfiguraitonsassistenten durchführen. Dabei ssh aktivieren.

Über ssh einloggen („tuxtv“ durch den Rechnernamen ersetzen, der im Konfigurationsassistenten eingegeben wurde):

ssh root@tuxtv

Sofern kein eigenes ssh-Passwort vergeben wurde, ist das Standard-Passwort libreelec

Freischaltcodes für Hardwaredecoder

Sofern Freischaltcodes für die Hardwaredecoder vorhanden sind, können diese in die config-Datei eingetragen werden:

mount -o remount,rw /flash
vi /flash/config.txt

Im Bereich License keys die entsprechenden Keys eintragen:

###################################################################
# License keys to enable GPU hardware decoding for various codecs #
# to obtain keys visit the shop at http://www.raspberrypi.com     #
###################################################################
 
decode_MPG2=0x00000000
decode_WVC1=0x00000000

Infrarotempfänger am GPIO einrichten

Der GPIO-Pin, an dem der Infrarotempfänger angeschlossen ist, muss in der config.txt eingetragen werden:

mount -o remount,rw /flash
vi /flash/config.txt

Dort im Abschnitt "End of default configuration" folgendes eintragen (dabei die korrekte Pin-Nummer angeben):

################################
# End of default configuration #
################################

dtoverlay=gpio-ir,gpio_pin=17

System neu starten

mount -o remount,ro /flash
reboot

Fernbedienung einrichten

Prinzipieller Funktionstest

Testen, ob GPIO-Konfiguration für lirc erkannt wurde:

dmesg | grep 'lirc'
[    5.554017] rc rc0: lirc_dev: driver gpio_ir_recv registered at minor = 0, raw IR receiver, no transmitter

Testen, ob lirc-device vorhanden:

ls -l /dev/lirc*

Testen, ob Fernbedienung prinzipiell erkannt wird:

killall lircd
mode2 -d /dev/lirc0

Zunächst wird das verwendet device ausgegeben (sollte mit dem zuvor ausgegebenen übereinstimmen):

Using driver default on device /dev/lirc0
Trying device: /dev/lirc0
Using device: /dev/lirc0

Wenn die Fernbedienung prinzipiell funktioniert, dann kommt beim Drücken von Tasten auf der Fernbedienung im Terminal Ausgaben ähnlich wie:

pulse 2670
 space 804
 pulse 505
 space 396
 pulse 482
 space 394
 pulse 454
 space 847
 pulse 451
 space 850

Test beenden mit Strg+C und LibreElec neu starten:

reboot

Fernbedienung konfigurieren

Dienste stoppen:

systemctl stop kodi
systemctl stop eventlircd

Mögliche Protokolle ermitteln:

ir-keytable 
Supported protocols: other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp 

Scancodes der Fernbedienungstasten ermitteln:

ir-keytable -p <PROTOCOL> -t

Dabei die unterstützten Protokolle jeweils als <PROTOCOL> eintragen. Jedes Protokoll muss separat getestet werden. Sofern das korrekte Protokoll eingegeben wurde, das die Fernbedienung benutzt, werden beim Drücken einer Taste auf der Fernbedienung Scancodes ausgegeben. Diese können dann in einer Codetabelle eingetragen werden.

Codetabelle erstellen:

vi /storage/.config/rc_keymaps/one-for-all

In der ersten Zeile wird der Name der Fernbedienung und das verwendete Protokoll eingetragen und in den Folgezeilen werden dann den jeweiligen Scancodes die entsprechenden Tasten zugeordnet, wie z. B.:

# table one-for-all, type: rc-6
0x800f0400 KEY_0
0x800f0401 KEY_1
0x800f0402 KEY_2
0x800f0403 KEY_3
0x800f0404 KEY_4
0x800f0405 KEY_5
0x800f0406 KEY_6
0x800f0407 KEY_7
0x800f0408 KEY_8
0x800f0409 KEY_9
0x800f040d KEY_MENU
0x800f0412 KEY_PAGEUP
0x800f0413 KEY_PAGEDOWN
0x800f041e KEY_UP
0x800f041f KEY_DOWN
0x800f0420 KEY_LEFT
0x800f0421 KEY_RIGHT
0x800f0422 KEY_OK
0x800f0423 KEY_BACK
0x800f0423 KEY_EXIT
0x800f0426 KEY_EPG
0x1010 KEY_VOLUMEUP
0x1011 KEY_VOLUMEDOWN
0x100d KEY_MUTE

Eine Datei mit allen möglichen Tastenbezeichnungen kann mit folgendem Befehl erstallt werden:

irrecord --list-namespace > namespace.txt

Die Codetabelle muss dann noch durch einen Eintag in der rc_maps.cfg aktiviert werden:

vi /storage/.config/rc_maps.cfg

Dort den in der oben erstellten Keymap angegebenen Konfigurationsnamen (z. B. one-for-all) eintragen:

* * one-for-all 

Konfiguration testen:

ir-keytable -c -w /storage/.config/rc_keymaps/one_for_all
ir-keytable -r

Mappingtabelle für KODI erstellen

Datei mit Mappingtabelle anlegen/bearbeiten:

vi /storage/.kodi/userdata/Lircmap.xml
<lircmap>
<remote device="one-for-all-sat0847">
   <up>KEY_UP</up>
   <Down>KEY_DOWN</Down> 
   <Left>KEY_LEFT</Left> 
   <Right>KEY_RIGHT</Right> 
   <Select>KEY_OK</Select> 
   <Back>KEY_BACK</Back> 
   <Menu>KEY_MENU</Menu> 
   <pageplus>KEY_PAGEUP</pageplus>  
   <pageminus>KEY_PAGEDOWN</pageminus> 
   <zero>KEY_0</zero> 
   <one>KEY_1</one> 
   <two>KEY_2</two> 
   <three>KEY_3</three> 
   <four>KEY_4</four> 
   <five>KEY_5</five> 
   <six>KEY_6</six> 
   <seven>KEY_7</seven> 
   <eight>KEY_8</eight> 
   <nine>KEY_9</nine> 
   <guide>KEY_GUIDE</guide> 
   <stop>KEY_EXIT</stop>
</remote>
</lircmap>

System neu starten:

reboot

Fernbedienung testen

Erneut per ssh einloggen:

ssh root@tuxtv

Test der Fernbedienung starten:

irw

Bei einem Tastendruck auf der Fernbedienung sollte bei korrekter Konfiguration im Terminal eine entsprechende Meldung erscheinen, wie z. B.:

67 0 KEY_UP devinput