Description
RPi model: Raspberry Pi 3 Model B
RasPlex: 1.8.0.0-573b6d73, default
PMS: latest on windows, irrelevant
Network: wifi
Hi,
I've been recently trying to get my RPi3 to function as a media center compatible with Emby and my TV. After being dissatisfied with Embycon's performance on both XBian and LibreELEC, I've switched my media center to Plex and installed Rasplex on my RPi. While using LibreELEC, I've set up a tested and confirmed functional way to control Kodi by simulating keyboard keys through GPIO, orchestrated by an Arduino hooked up to an IR receiver to make it compatible with the random IR remote I have over here - I haven't been able to get the out of the box IR overlays to work with it directly.
Here is the gpio configuration from the config.txt file that I've been using:
dtoverlay=gpio-key,gpio=17,active_low=0,gpio_pull=down,label=stop,keycode=45
dtoverlay=gpio-key,gpio=27,active_low=0,gpio_pull=down,label=volup,keycode=78
dtoverlay=gpio-key,gpio=22,active_low=0,gpio_pull=down,label=menu,keycode=50
dtoverlay=gpio-key,gpio=5,active_low=0,gpio_pull=down,label=play,keycode=57
dtoverlay=gpio-key,gpio=25,active_low=0,gpio_pull=down,label=home,keycode=1
dtoverlay=gpio-key,gpio=13,active_low=0,gpio_pull=down,label=back,keycode=14
dtoverlay=gpio-key,gpio=19,active_low=0,gpio_pull=down,label=ok,keycode=28
dtoverlay=gpio-key,gpio=26,active_low=0,gpio_pull=down,label=right,keycode=106
dtoverlay=gpio-key,gpio=16,active_low=0,gpio_pull=down,label=left,keycode=105
dtoverlay=gpio-key,gpio=20,active_low=0,gpio_pull=down,label=down,keycode=108
dtoverlay=gpio-key,gpio=21,active_low=0,gpio_pull=down,label=up,keycode=103
dtoverlay=gpio-key,gpio=18,active_low=0,gpio_pull=down,label=voldn,keycode=74
dtoverlay=gpio-shutdown,gpio_pin=3,active_low=1,gpio_pull=up
From vcdbg's logs, this is correctly parsed:
001859.364: No kernel trailer - assuming DT-capable
001859.415: brfs: File read: 5445408 bytes
001863.829: brfs: File read: /mfs/sd/bcm2710-rpi-3-b.dtb
001863.853: Loading 'bcm2710-rpi-3-b.dtb' to 0x539720 size 0x45c3
001970.759: brfs: File read: 17859 bytes
001972.182: brfs: File read: /mfs/sd/config.txt
001972.881: brfs: File read: 4096 bytes
001983.116: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
001990.249: Loaded overlay 'gpio-key'
001990.266: dtparam: gpio=17
001991.947: dtparam: active_low=0
001992.526: dtparam: gpio_pull=down
001992.941: dtparam: label=stop
001993.533: dtparam: keycode=45
002043.117: brfs: File read: 1373 bytes
002045.301: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002052.619: Loaded overlay 'gpio-key'
002052.635: dtparam: gpio=27
002054.315: dtparam: active_low=0
002054.895: dtparam: gpio_pull=down
002055.296: dtparam: label=volup
002055.889: dtparam: keycode=78
002106.469: brfs: File read: 1373 bytes
002108.653: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002116.139: Loaded overlay 'gpio-key'
002116.154: dtparam: gpio=22
002117.834: dtparam: active_low=0
002118.414: dtparam: gpio_pull=down
002118.816: dtparam: label=menu
002119.408: dtparam: keycode=50
002170.902: brfs: File read: 1373 bytes
002173.087: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002180.738: Loaded overlay 'gpio-key'
002180.754: dtparam: gpio=5
002182.433: dtparam: active_low=0
002183.023: dtparam: gpio_pull=down
002183.421: dtparam: label=play
002184.008: dtparam: keycode=57
002236.350: brfs: File read: 1373 bytes
002238.535: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002246.355: Loaded overlay 'gpio-key'
002246.372: dtparam: gpio=25
002248.064: dtparam: active_low=0
002248.644: dtparam: gpio_pull=down
002249.051: dtparam: label=home
002249.648: dtparam: keycode=1
002302.921: brfs: File read: 1373 bytes
002305.107: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002313.077: Loaded overlay 'gpio-key'
002313.093: dtparam: gpio=13
002314.785: dtparam: active_low=0
002315.360: dtparam: gpio_pull=down
002315.763: dtparam: label=back
002316.354: dtparam: keycode=14
002370.509: brfs: File read: 1373 bytes
002372.691: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002380.831: Loaded overlay 'gpio-key'
002380.847: dtparam: gpio=19
002382.527: dtparam: active_low=0
002383.124: dtparam: gpio_pull=down
002383.525: dtparam: label=ok
002384.117: dtparam: keycode=28
002439.269: brfs: File read: 1373 bytes
002441.456: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002449.793: Loaded overlay 'gpio-key'
002449.810: dtparam: gpio=26
002451.489: dtparam: active_low=0
002452.069: dtparam: gpio_pull=down
002452.476: dtparam: label=right
002453.075: dtparam: keycode=106
002509.154: brfs: File read: 1373 bytes
002511.338: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002519.830: Loaded overlay 'gpio-key'
002519.845: dtparam: gpio=16
002521.524: dtparam: active_low=0
002522.105: dtparam: gpio_pull=down
002522.511: dtparam: label=left
002523.116: dtparam: keycode=105
002580.118: brfs: File read: 1373 bytes
002582.303: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002590.957: Loaded overlay 'gpio-key'
002590.973: dtparam: gpio=20
002592.655: dtparam: active_low=0
002593.235: dtparam: gpio_pull=down
002593.641: dtparam: label=down
002594.239: dtparam: keycode=108
002652.156: brfs: File read: 1373 bytes
002654.340: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002663.167: Loaded overlay 'gpio-key'
002663.182: dtparam: gpio=21
002664.892: dtparam: active_low=0
002665.473: dtparam: gpio_pull=down
002665.878: dtparam: label=up
002666.477: dtparam: keycode=103
002725.310: brfs: File read: 1373 bytes
002727.495: brfs: File read: /mfs/sd/overlays/gpio-key.dtbo
002736.492: Loaded overlay 'gpio-key'
002736.507: dtparam: gpio=18
002738.188: dtparam: active_low=0
002738.768: dtparam: gpio_pull=down
002739.175: dtparam: label=voldn
002739.773: dtparam: keycode=74
002799.560: brfs: File read: 1373 bytes
002817.401: brfs: File read: /mfs/sd/overlays/gpio-shutdown.dtbo
002826.558: Loaded overlay 'gpio-shutdown'
002826.576: dtparam: gpio_pin=3
002827.415: dtparam: active_low=1
002828.054: dtparam: gpio_pull=up
002832.174: brfs: File read: 3613 bytes
002834.713: brfs: File read: /mfs/sd/distroconfig.txt
In XBian and LibreELEC, this created events under /dev/input/event, but this behaviour does not seem to happen in RasPlex and indeed the Pi does not respond to IR presses. I'd like to stress that I've ruled out every aspect of hardware issue, the hardware setup is identical to the previous setup on LibreELEC, the signals have been measured to be correct, so I'm fairly certain RasPlex's kernel has this type of gpio access turned off. I've also attempted to inject my own overlay, compatible with gpio-keys, with similar results.
Is there any way this could be solved?