Posts by HiassofT

    Without a HDMI cable connected the RPi defaults to analog/composite video and the only thing you need to configure is PAL/NTSC mode via the sdtv_mode option in config.txt.


    If you get some noise make sure you use the correct cable (there are several different standards for TRRS-to-RCA cables so double-check you got one that's compatible with the RPi) and that the TRRS plug is fully plugged in on the RPi.


    so long,


    Hias

    As the RPi is a 3.3V-only device you have to connect the IR receiver's VCC pin to 3.3V (the receivers typically work between somewhere below 3V and somewhat above 5V).


    What TV remote are you using? Some TVs use rather odd IR protocols that may not be supported by in-kernel decoding.


    If your TV has been built in the last ~10 years chances are very good that it support's CEC. If that's the case it's a lot easier to just use that (you don't need an IR receiver as well).


    If you don't have CEC support in your TV then you may need to create a lircd.conf file with irrecord - which can be tricky.


    It may be easier to just use a different remote then, eg an MCE remote, which is supported by in-kernel decoding.


    so long,


    Hias

    A small heatsink in combination with a case probably doesn't result in enough cooling as cases usually block airflow. You could try without the case, turning the RPi by 90° so that the GPIO connector is on the bottom can also help improving airflow (some time ago I did some tests and got 1-2°C lower temps with this setup).


    I don't think the RPi audio cards will work on the tinkerboard as it's missing the drivers for it.


    I'm using plain Kodi to play audio, in combination with Yatse on an android phone or tablet - this allows for easy remote control without having to turn on the TV.


    I can't complain with audio quality when using Kodi, I'm mainly using FLACs and audio output from Kodi is bit-perfect. IIRC most reports of Volumio or other audio distros sounding "better" boiled down to them having configured a higher output volume - compare the with amixer values, this should give you a hint if that's the case.


    AFAIK there are not "equalizer" addons for kodi, some time ago Kodi supported DSP addons but that was dropped as it wasn't working properly IIRC.


    so long,


    Hias

    I don't have an Allo Digione card myself but it should work fine with current LibreELEC versions.


    The main difference to the Hifiberry DAC is that it'll allow you to use AC3/DTS passthrough if you connect it to a surround receiver.


    The Allo card doesn't seem to have an optical (Toslink) output though. This can be very helpful for fixing ground loop issues - the Hifiberry Digi cards (which are also significantly cheaper than the Allo card) and several others have this feature.


    With S/PDIF digital output audio quality will be mainly determined by your receiver / DAC. As this eliminates the analog connection to your receiver / amp and the probably more noisy power supply on the RPi audio quality should be a bit better. As you seem to have been happy with your Hifiberry DAC I wouldn't expect a significant improvement though.


    so long,


    Hias

    What box are you using?


    On PCs power on by USB or CIR usually has to be enabled in the BIOS.


    On AML boxes this is would be handled by u-boot, the vendor u-boot version might be tied to the remote that came with the box, not sure if power on by USB is supported. Not really my area :-)


    so long,


    Hias

    Thanks a lot for testing!


    I've sent my changes to the driver author and the Linux kernel IR maintainer to get some more feedback and testing media: rc: xbox_remote: add protocol and set timeout - Patchwork and I'll later push a PR so it'll be added to future LibreELEC releases.


    I'm not sure if there's anything we can do about the performance of quickly repeated button presses. The current parameters (64ms period plus 10ms timeout) are rather similar to the ones of the lirc_xbox driver (which used a default of 100ms to distinguish between repeated button presses and new ones) so I'd expect to be performance to be about the same.


    Other remotes / protocols like eg rc-6 (used on MCE remotes) contain a "toggle bit" to distinguish between held down buttons and new button presses which helps a lot to improve the performance on quickly repeated button presses. The xbox remote driver doesn't seem to set that bit, could well be that the IR protocol or IR receiver don't support that.


    so long,


    Hias

    Thanks a lot for the tests!


    The MCE USB dongle could receive something but unfortunately it doesn't look like valid IR signals so we can't use it to get the details of the Xbox remote protocol. It was worth a try, though.


    I managed to deduce parameters from the ir-keytable -t output though and had a shot at using them in the xbox remote driver. Can you please test with this image (for RPi2/3)?
    libreelec-rpi2.arm-9.0-devel-20190323102559-d446ddb.tar


    When you test with this image please keep an eye on "double-action" button presses (i.e. if a short button click results in 2 or more movements). I've added a bit of headroom to the parameters but if they are too strict they could (occasionally) happen and we'd need to increase the headroom.


    so long,


    Hias

    Thanks for the tests! The output of test one looks fine, but the outputs of tests 2 and 3 look like you used the MCE remote.


    Can you please repeat these tests with the Xbox DVD remote?


    We need the specifics of the Xbox DVD remote protocol, and the MCE USB receiver is able to capture raw signals.


    So, for test 2, plug in the MCE USB receiver and capture the buttons 1, 2, 3 of your Xbox DVD remote.


    For test 3, plug in both recievers and press button 1 on your Xbox DVD remote for about 2 seconds.


    so long,


    Hias

    Thanks for the info, the MCE USB receiver looks fine, I have one with the same chipset here.


    I'd like you to run 3 tests, before each test do a cold boot and then stop kodi and eventlircd so they don't interfere with testing:

    Code
    1. systemctl stop kodi
    2. systemctl stop eventlircd


    For the first test plug in the Xbox DVD remote dongle, stop kodi/eventlircd and then run the following command

    Code
    1. ir-keytable -t

    Then press each of the buttons "1", "2", "3" for about 1-2 seconds, copy the output you got on the console to a text file and attach it here.


    For the second test plug in only the MCE USB receiver, stop kodi/eventlircd.

    Then grab the raw signals for each of the buttons "1", "2," and "3" while you press them for about 1-2 seconds. Run the following command (substituting 1.txt according to the button you'll press)

    Code
    1. ir-ctl -t 200000 -r1.txt

    Press the button for 1-2 seconds, then press control-c in the terminal to stop recording. Attach the 3 files (1.txt, 2.txt, 3.txt).


    For the third test plug in both the Xbox DVD receiver dongle and the MCE USB receiver.


    After bootup (and stopping kodi/eventlircd) run ir-keytable to see which rcX and /dev/lircX device was assigned to the MCE USB receiver (either the Xbox or the MCE device could be number zero and the other number one). The output should look like this

    Code
    1. Found /sys/class/rc/rc0/ (/dev/input/event10) with:
    2. Name: Media Center Ed. eHome Infrared Remote Transceiver (1934:5168)
    3. Driver: mceusb, table: rc-rc6-mce
    4. lirc device: /dev/lirc0
    5. ...
    6. Found /sys/class/rc/rc1/ (/dev/input/event0) with:
    7. Name: Xbox DVD USB Remote Control(045e,0284)
    8. Driver: xbox_remote, table: rc-xbox-dvd
    9. lirc device: /dev/lirc1

    Note the /sys/class/rc/rc0/ and lirc device: /dev/lirc0 in the output of the "Media Center Ed. eHome Infrared Remote Transceiver" / "Driver: mceusb" block - if you got rc1 and/or /dev/lirc1 or something else substitute rc0 and /dev/lirc0 with your values.


    Run the following commands:

    Code
    1. ir-keytable -s rc0 -p lirc -c
    2. ir-ctl -d /dev/lirc0 -t 20000
    3. echo "nop" > /sys/kernel/debug/tracing/current_tracer
    4. echo "rc_keydown" > /sys/kernel/debug/tracing/set_ftrace_filter
    5. echo "ir_raw_event_store_with_filter" >> /sys/kernel/debug/tracing/set_ftrace_filter
    6. echo "function" > /sys/kernel/debug/tracing/current_tracer


    Now press the button "1" for about 2 seconds. Then run the following command to grab the kernel trace:

    Code
    1. cat /sys/kernel/debug/tracing/trace | paste


    Note the URL you got on the console and post it here together with the files you grabbed in the previous 2 tests.


    With that info it should be rather easy to determine the missing parameters.


    so long,


    Hias

    If your MCE USB receiver is a "real" MCE receiver (using the mceusb driver) or if you have an x86 box with a built-in IR receiver or a Raspberry Pi with a GPIO IR receiver we should be able to create a test setup to get the missing parameters and improve the current xbox driver.


    Could you run "ir-keytable" on the box where you use the Xbox DVD dongle and on the one with the MCE USB remote and post the output?


    I'lll then think about how to best get the needed info with that equipment (already have some ideas :-)


    so long,


    Hias

    Code
    1. xbmc:~ # ls -l /flash/config.txt
    2. -rwxr-xr-x 1 root root 3952 Jul 31 2018 /flash/config.txt


    We are discussing Raspberry Pi here in this thread, if you have one you'll also have a /flash/config.txt file. If you don't have a Raspberry Pi please open another thread, other devices don't have /flash/config.txt


    so long,


    Hias

    The old lirc IR drivers in the linux kernel were rewritten and moved to the newer RC subsystem (which existed for quite some tine and allows IR decoding to be handled completely in the kernel, without needing to run lircd). When this was finished the old lirc code in the kernel was removed.


    The xbox dvd IR driver, which was based on the kernel lirc code, never made it into the linux kernel and for several years OpenELEC and LibreELEC included it as a separate kernel patch (which required updating on almost every kernel update so this meant quite a bit of work for us).


    As the base upon the driver was built was removed we had to remove the driver from LE - it was not longer possible to get it working without a major rewrite and as no one in the team had the hardware to test it the was nothing we could do.


    A few months ago Benjamin stepped up, rewrote the driver and submitted it to the Linux kernel and also created a backport for the kernel used in LibreELEC - which means current LibreELEC contains again support for the Xbox DVD remote (which was not available for several months during LE9 development).


    so long,


    Hias