CEC (up and down keys) not properly working on TV Philips 6000 serie
#1
Hello, I've got a problem with CEC with KODI 17 and Philips serie 6000 remote control.
It was properly working with older KODI version (16 or 15 I don't remember).
Everythink works well except up and down keys. It seems that philips doesn't implement correctly CEC protocol.
What I observe when navigating with up and down leys is that those keys are repeated randomly twice so it's quite annoying and quite difficult to navigate (it can jump randomly twice up if i press up (same for down).
Does someone encounter this kind of problem ?
I tryied to custom the /usr/share/kodi/system/peripherals.xml file (timeout, repeat and release section) without any success.
I tried all OS (Omsc, libeElec OpenElec and it's the same result)
I would really appreciate your help.
Thanks in adance.
Reply
#2
Tested with OSMC 20160502 and the problem is not present (but replaced by another problem : when I keep pressing up or down key, there is no repeat I need to release the key and press again to take effect)
Tested also on last Kodi 17 apk on Android Box and there is no repeat/release problem with up and down key.
Reply
#3
Well I've found the solution. I've reverted this code :
https://github.com/Pulse-Eight/libcec/co...1ca4df0d2c
And the problem doesn't appears anymore.
I've rebuild libcec like this :
Compile https://github.com/raspberrypi/userland
Then compile libcec like described here :
https://github.com/Pulse-Eight/libcec/bl...berrypi.md

Now keys are not repeating randomly.
The only problem now is that it doesn't repeat the key if I let the key pressed.
I need to release and press the key again to take effect.
Reply
#4
Well now i've changed button_repeat_rate_ms value from 0 to 100 and now continuous press is ok but very slow.
I will find a way now to increase the speed.
Reply
#5
Hello! Could you please be so kind to share the compiled library?
Reply
#6
For sure, just replace libcec.so.4.0.2 in /usr/osmc/lib
Don't forget to make a backup of the file first.
libcec.so.4.0.2
Regards
Reply
#7
Hello jojolafrite35 
Thank you for the quick response
But your library differs from original by size significantly, and I worry if it compiled for my platform, especially the library path is not `/usr/osmc/lib`:
log:

$ ls -la /usr/lib/arm-linux-gnueabihf | grep cec
lrwxrwxrwx 1 root root       15 Apr  2  2017 libcec.so.4 -> libcec.so.4.0.2
-rw-r--r-- 1 root root  1110432 Jan 31 06:52 libcec.so.4.0.2
-rw-r--r-- 1 root root   593832 Jan 31 06:51 libcec.so.4.0.2.orig

And the new library doesn't work Sad
Reply
#8
I'm already compiling it by the provided instructions. BTW why is it needed to compile raspberry's userland? It seems to the all necessary files are already in /opt/vc/lib
Reply
#9
Have you played with the settings in system/input/peripherals/cec?
e.g. set "remore button press repeat rate" to 200ms
Reply
#10
Hi, popcornmix. Yes, I did. But it didn't help

Anyway, I recompiled and reinstalled libcec4 as jojolafrite35 described.
Now I don't have multiple key repeat on my remote for Philips TV
Reply
#11
Good news that you managed to recompile the lib by yourself Wink
I recompield for raspberry (debian osmc) that's why the lib didn't match for you.
I needed the userland because OSMC doesn't come with /opt/vc/include files.
Reply
#12
(2018-01-31, 19:38)popcornmix Wrote: Have you played with the settings in system/input/peripherals/cec?
e.g. set "remore button press repeat rate" to 200ms
 I've played with ./usr/share/kodi/system/peripherals.xml but it doesn't change the repeat rate.
When I look to cec-client output when I keep the "down" button, it seems that there is a tv native delay (with cec) for that (450 ms)
On my tv menu, when I keep down button, it scrolls very fast so I think it comes from Philips cec implementation.
Unfortunaltely, I'm not sure that I could change this behaviour.
If someone could check with his cec remote control with cec-client the release delay it would help to understand ?
Reply
#13
Here is my cec-client log :

TRAFFIC: [           15545]     >> 01:44:02
DEBUG:   [           15545]     SetCurrentButton down (2) D:0ms cur:2
DEBUG:   [           15545]     key pressed: down (2) current(ff) duration(0)
DEBUG:   [           15545]     Changed key down (2) D:0ms cur:ff
DEBUG:   [           15545]     key pressed: down (2, 0)
DEBUG:   [           15545]     >> TV (0) -> Recorder 1 (1): user control pressed (44)
DEBUG:   [           15545]     CheckKeypressTimeout T:6303.983
DEBUG:   [           15545]     Key down: idle (duration:0) (2) timeout:1421302435ms (rel:500,rep:0,prs:500,rel:0)
DEBUG:   [           16045]     CheckKeypressTimeout T:6304.483
DEBUG:   [           16046]     Key unknown: idle (duration:500) (ff) timeout:2126824516ms (rel:1000,rep:0,prs:0,rel:0)
TRAFFIC: [           16245]     >> 01:44:02
DEBUG:   [           16245]     SetCurrentButton down (2) D:0ms cur:2
DEBUG:   [           16245]     key pressed: down (2) current(ff) duration(0)
DEBUG:   [           16246]     Changed key down (2) D:0ms cur:ff
DEBUG:   [           16246]     key pressed: down (2, 0)
DEBUG:   [           16246]     >> TV (0) -> Recorder 1 (1): user control pressed (44)
DEBUG:   [           16246]     CheckKeypressTimeout T:6304.684
DEBUG:   [           16246]     Key down: idle (duration:0) (2) timeout:1421302435ms (rel:500,rep:0,prs:500,rel:0)
TRAFFIC: [           16696]     >> 01:44:02
DEBUG:   [           16696]     key released: down (2) D:450ms
DEBUG:   [           16696]     >> TV (0) -> Recorder 1 (1): user control pressed (44)
DEBUG:   [           16696]     SetCurrentButton down (2) D:0ms cur:2
DEBUG:   [           16697]     key pressed: down (2) current(ff) duration(0)
DEBUG:   [           16697]     Changed key down (2) D:0ms cur:ff
DEBUG:   [           16697]     key pressed: down (2, 0)
DEBUG:   [           16697]     CheckKeypressTimeout T:6305.135
DEBUG:   [           16698]     Key down: idle (duration:0) (2) timeout:1421302435ms (rel:500,rep:0,prs:500,rel:0)
TRAFFIC: [           17149]     >> 01:44:02
DEBUG:   [           17149]     key released: down (2) D:452ms
DEBUG:   [           17149]     SetCurrentButton down (2) D:0ms cur:2
DEBUG:   [           17149]     key pressed: down (2) current(ff) duration(0)
DEBUG:   [           17149]     Changed key down (2) D:0ms cur:ff
DEBUG:   [           17149]     >> TV (0) -> Recorder 1 (1): user control pressed (44)
DEBUG:   [           17149]     key pressed: down (2, 0)
DEBUG:   [           17149]     CheckKeypressTimeout T:6305.587
DEBUG:   [           17150]     Key down: idle (duration:0) (2) timeout:1421302435ms (rel:500,rep:0,prs:500,rel:0)
TRAFFIC: [           17596]     >> 01:44:02
DEBUG:   [           17596]     key released: down (2) D:447ms
DEBUG:   [           17596]     >> TV (0) -> Recorder 1 (1): user control pressed (44)
DEBUG:   [           17596]     SetCurrentButton down (2) D:0ms cur:2
DEBUG:   [           17597]     key pressed: down (2) current(ff) duration(0)
DEBUG:   [           17597]     Changed key down (2) D:0ms cur:ff
DEBUG:   [           17597]     key pressed: down (2, 0)
DEBUG:   [           17598]     CheckKeypressTimeout T:6306.036
DEBUG:   [           17598]     Key down: idle (duration:0) (2) timeout:1421302435ms (rel:499,rep:0,prs:499,rel:0)
TRAFFIC: [           18048]     >> 01:44:02
DEBUG:   [           18048]     key released: down (2) D:451ms
DEBUG:   [           18048]     SetCurrentButton down (2) D:0ms cur:2
DEBUG:   [           18048]     key pressed: down (2) current(ff) duration(0)
DEBUG:   [           18048]     Changed key down (2) D:0ms cur:ff
DEBUG:   [           18048]     key pressed: down (2, 0)
DEBUG:   [           18048]     CheckKeypressTimeout T:6306.486
DEBUG:   [           18048]     Key down: idle (duration:0) (2) timeout:1421302435ms (rel:500,rep:0,prs:500,rel:0)
DEBUG:   [           18048]     >> TV (0) -> Recorder 1 (1): user control pressed (44)
TRAFFIC: [           18496]     >> 01:44:02
DEBUG:   [           18496]     key released: down (2) D:448ms
DEBUG:   [           18496]     SetCurrentButton down (2) D:0ms cur:2
DEBUG:   [           18496]     key pressed: down (2) current(ff) duration(0)
DEBUG:   [           18496]     Changed key down (2) D:0ms cur:ff
DEBUG:   [           18496]     key pressed: down (2, 0)
DEBUG:   [           18496]     CheckKeypressTimeout T:6306.934
DEBUG:   [           18496]     Key down: idle (duration:0) (2) timeout:1421302435ms (rel:500,rep:0,prs:500,rel:0)
DEBUG:   [           18496]     >> TV (0) -> Recorder 1 (1): user control pressed (44)
TRAFFIC: [           18690]     >> 01:8b:02
DEBUG:   [           18690]     key released: down (2) D:194ms
DEBUG:   [           18690]     >> TV (0) -> Recorder 1 (1): vendor remote button up (8B)
Reply
#14
(2018-02-01, 00:15)jojolafrite35 Wrote:  I've played with ./usr/share/kodi/system/peripherals.xml but it doesn't change the repeat rate.
Why are you editing that file? These options are in the GUI.
Quote:When I look to cec-client output when I keep the "down" button, it seems that there is a tv native delay (with cec) for that (450 ms)
On my tv menu, when I keep down button, it scrolls very fast so I think it comes from Philips cec implementation.
Unfortunaltely, I'm not sure that I could change this behaviour.
If someone could check with his cec remote control with cec-client the release delay it would help to understand ? 
It's entirely up to the TV what it sends when you hold a button down.
Some TV's just send a single button down then later a button up when you release, however long you hold it down for.
Others will send periodic button down messages, and only a single button up when released.
Others will send periodic button down and up messages while held. Usually the repeat rate is unusably slow for scrolling in kodi.

That is why there is a GUI option to configure these. When enabled it will ignore these messages and generate repeated messages for kodi at the configured rate.
Reply
#15
I've changed in the GUI but nothing changed and the peripheral file doesn't reflect what is on the GUI.
Reply

Logout Mark Read Team Forum Stats Members Help
CEC (up and down keys) not properly working on TV Philips 6000 serie0