Bug [HDMI-CEC] commands from AVR are pushed buttonQueu but ignored
#1
Sad 
Hello,

I'm trying to get my AVR (Onkyo TX-L20D) remote to control LibreElec - tested with stable 9 and nightly 10 (20210426). The AVR seems HDMI compliant, I've analysed transmitted frames with cec-client + CEC-O-Matic and all seems fine. Commands from rpi to AVR works (standby, volup voldown etc)

I don't have a TV in my setup , I use a CEC-less dumb monitor (with a touchscreen, unrelated):

           rpi2B <-> Onkyo AVR -> Monitor

Only the rpi and the AVR show in cec-client scan:

 
Code:

CEC bus information
===================
device #1: Recorder 1
address: 1.1.0.0
active source: no
vendor: Pulse Eight
osd string: CECTester
CEC version: 1.4
power status: on
language: eng


device #5: Audio
address: 1.0.0.0
active source: no
vendor: Onkyo
osd string: Sound System
CEC version: 1.4
power status: on
language: Huh

When trying to control rpi wth AVR's remote, nothing happens. keymap editor addon does not see any incoming keypress either.

Digging deeper:
Here is the complete log when pressing buttons on AVR's remote. (and here on LE10)
See the relevant parts: The keypress form Audio (5) is detected correctly and a PushCecKEyPress is generated with the correct XINPUT_IR_REMOTE code. So I guess it gets pushed to m_buttonQueue here, form my understandig of PeripheralCecAdapter.cpp.

Code:

DEBUG: CecLogMessage - >> 51:44:02
DEBUG: CecLogMessage - SetCurrentButton down (2) D:0ms cur:2
DEBUG: CecLogMessage - key pressed: down (2) current(ff) duration(0)
DEBUG: CecLogMessage - Changed key down (2) D:0ms cur:ff
DEBUG: CecLogMessage - key pressed: down (2, 0)
DEBUG: PushCecKeypress - received key a7 duration 0 (rep:0 size:3)
DEBUG: PushCecKeypress - added key a7
DEBUG: CecLogMessage - CheckKeypressTimeout T:3016.037
DEBUG: CecLogMessage - Key down: idle (duration:0) (2) timeout:1782541448ms (rel:161,rep:0,prs:161,rel:0)
DEBUG: CecLogMessage - >> Audio (5) -> Recorder 1 (1): user control pressed (44)
DEBUG: CecLogMessage - CheckKeypressTimeout T:3016.200
DEBUG: CecLogMessage - Key unknown: idle (duration:163) (ff) timeout:1993999652ms (rel:1000,rep:0,prs:0,rel:0)
DEBUG: CecLogMessage - << Recorder 1 (1) -> TV (0): POLL
DEBUG: CecLogMessage - << 10
DEBUG: Previous line repeats 1 times.

The problem is apparently that PushCecKeyPress are NOT followed by a HandleKey event, so they are ignored by Kodi.  (Contrary to what should happen as tested here with rpi<->Samsung TV, no AVR).
Also note that the log is plagued with a non-existant TV (0), which also shows up in cec-client -r. cec-client -r marks it as 'not present' but I don't see such a message in kodi.log. It may be the cause of interference Huh.

Is there something I'm missing, or Kodi just plain ignores CEC buttons from Audio ?? It is because I don't have a CEC-capable TV in the chain ?

I've spent last couple of days OCD'ing on this - Read too many posts with similar problems (most unresolved); tested various CEC setting in kodi (setting the connected device to AVR in CEC settings didn't work, nor any port/physical address combination); exprimented with various keymap/remote.xml  (no effect at all). Also tested lots of cec related rpi config option in config.txt, checked the AVR's edid... looked at the code of libcec ad kodi... to no avail.  Angry Confused Sad

So, any pointers on this would be much appreciated. I'm willing to patch and build/compile if necessary.
Reply
#2
I don't believe CEC without a TV is supported by libcec: https://github.com/Pulse-Eight/libcec/issues/104
Reply
#3
Well, libcec seems to not consider this as error, and the keypress arrives to Kodi nevertheless, that's the PushCecKey shows in debug, no ? So shouldn't be handeld ?
Reply
#4
Hey man, I went down the same rabbit hole in the last days as you. It used to work for me before I upgraded my Pi from Buster to Bullseye, so this could be an incompatibility between Kodi and libcec versions in Bullseye but I haven't been able to validate this yet. Did you make progress on this?
Reply
#5
oh, and I'm at the exact same point as you, I see the CEC commands in Kodi's debug log but not HandleKey
Reply
#6
Oh, glad that someone else fell in this too Smile
Any progress from your side ?
Reply

Logout Mark Read Team Forum Stats Members Help
[HDMI-CEC] commands from AVR are pushed buttonQueu but ignored0