CEC in Debian does not work what did we miss?

Hi Stephen,
thank you for the quick response. I’ve installed the new kernel using the packages provided but to no avail regarding CEC. As mentioned I have almost the same problem so my cec-client also doesn’t find any devices whatsoever.
Output for the scan being “autodetect FAILED” instead of actually trying to find devices.

My current Kernel is now 4.4.179-6-rockchip-g246d1b34 and I’ve re-installed the cec-client just to be sure.

Any further help with this would be appreciated! :slightly_smiling_face:

Hello, when will there be a solution to the CEC problem? Does anyone have a solution that works? It should have been solved since the April Kernel. Is there a Debian version with CEC to download?

Thank you for your support.

Hello Stephen, are there any news regarding a possible solution in sight? It’s been a few days now and I’m still struggling with the same problem. An estimate when we could expect a solution would be nice.

Best regards!

Seems HDMI CEC is also not working on some tv’s with AndroidTV 9 firmware I built.
HDMI CEC is working correctly with Android 9 with another RK3399 device, so it must be some small firmware problem. Maybe the Android, Linux HDMI CEC issue is related and to do with the kernel or dts?

The TV isn’t the issue in my case. I’ve also tested CEC using libreELEC just like NBA said:

libreELEC on the same device with the same TV works just fine. So the device and TV can certainly do it.
What still confuses me most is that according to jack from this post the issue should have been resolved long ago.
In my case CEC is a necessary feature so I really need it to work.

According to this thread:

Send HDMI CEC messages using cec-client

We have merged the CEC pin dts and kernel config into the kernel tree, so HDMI cec should work. For Android, the cec pin patch might not be merged.

All Kernels I’ve tried don’t work, including the most recent ones like
-4.4.154-91-rockchip-g70838c09a6b6
-4.4.154-92-rockchip-g58d4b8d2fd3b
-4.4.179-6-rockchip-g246d1b34
It says since April 2019 but wich Kernel Version is that exactly supposed to be? And why wouldn’t any recent ones not work?

To solve this issue, we have bought a Samsung TV with Anynet+ support. We will test how it works. We will update later.

Hi

Here is also a patch to fix LG Simplink proprietary CEC on Android.

For Android Pie
Seems code is a little different, I couldn’t get it to compile on RockPi 4 Pie.
Maybe Radxa can get it compiled?
https://pastebin.com/raw/HyrdZ179

For Android Nougat, can compile correctly.
https://pastebin.com/raw/60G9BsDH

For Linux 4.4 kernel, these are the LibreELEC CEC changes
'https://github.com/Kwiboo/linux-rockchip/commit/396108223ba5d22452eecc60576ba00d474bd1ca
'https://github.com/Kwiboo/linux-rockchip/commit/a59650f3b6c328659b63bec0c5cdb58a176e08b0
'https://github.com/Kwiboo/linux-rockchip/commit/cc8e225647bba088c4e5d7ea592919f70470d55a
'https://github.com/Kwiboo/linux-rockchip/commit/324b894c905e837deb590bb3532a3622df6e406d
'https://github.com/Kwiboo/linux-rockchip/commit/02555dfb76e1070fe81047c857a643a7cab0c072

You really don’t need a TV to try it out. Using cec-client -l should display information about the installed cec-client on the Rock Pi 4. The following is an example from a Raspberry Pi. It’s the same output wheter it is connected to a TV with HDMI-CEC or a plain monitor without CEC.

The Rock Pi however stops at: Found devices: 0
The other command used to get information would be: echo 'scan' | cec-client -s -d 1. This one lists all devices available. So again with the Raspberry Pi it looks like this when connected to a TV with CEC:

With a plain monitor without CEC just the TV is missing from the list:

We used to have those patches inside the kernel for several months, but they were disabled. Can’t find reference to the reasoning behind, but apparently there were issues.

Hi everyone!

I stumbled across this thread while doing research on potential Raspberry Pi alternatives for my company.
I work for an IT company and we use Raspberry Pi 4 for digital signage solutions. During our testing the Rock Pi showed significantly better performance than the Raspberry Pi, atleast for our use case (i.e. handling HD video). Because of this, we consider switching to Rock Pi.

However, as a digital signage solution CEC is an essential feature.

My question: Does CEC work on the Rock Pi 4? If not, will there be an update in the forseeable future? If so, when would that update be released?
I’d appreciate a tl;dr answer that I can present to my boss.

Thank you very much for posting

I got CEC working in Android but can’t remember what image.
Think it was latest AndroidTV RockPi 4 image not ones I built.

For Linux, testing must still be done but it works in LibreELEC Linux OS already.
Can LibreELEC perhaps help with your digital signage project?
You can then also use apps like Yatse to control it from an Android phone.

It does not work.

Hello Jack, is there any progress regarding CEC testing with the TV so far?
If at all possible, I’d love to have at least an estimate when it could be fixed.

Hello Jack, when can I expect a CEC version? We need this solution or we need to switch to another product. I would be glad about a short info. Thanks

It’s holiday now in China, so I expect replies to only be sent from around 8/9 Oct.

Hi,

Sorry for late.

We had some progress before the holiday. We believe there is some issue with the cec-client in Debian on ROCK Pi 4, we can get some info with cec-ctrl. What’s your deadline for this feature? We will increase the priority for this after the holiday.

Hello, thanks for the quick feedback. We have until 21.10. determine which hardware we use.

Hi
could you use cec-ctl to test?the cec-client still not work

Install v4l-utils:

sudo apt-get install v4l-utils

Configure CEC

sudo cec-ctl --phys-addr=2.0.0.0 --playback

Test

sudo cec-compliance

Turn TV off

root@linaro-alip:~# sudo cec-ctl --standby -t0
Driver Info:
        Driver Name                : dwhdmi-rockchip
        Adapter Name               : dw_hdmi
        Capabilities               : 0x0000000e
                Logical Addresses
                Transmit
                Passthrough
        Driver version             : 4.4.154
        Available Logical Addresses: 4
        Physical Address           : 3.0.0.0
        Logical Address Mask       : 0x0010
        CEC Version                : 2.0
        Vendor ID                  : 0x000c03 (HDMI)
        OSD Name                   : 'Playback'
        Logical Addresses          : 1 (Allow RC Passthrough)

          Logical Address          : 4 (Playback Device 1)
            Primary Device Type    : Playback
            Logical Address Type   : Playback
            All Device Types       : Playback
            RC TV Profile          : None
            Device Features        :
                None


Transmit from Playback Device 1 to TV (4 to 0):
CEC_MSG_STANDBY (0x36)
        Sequence: 54 Tx Timestamp: 416.161s

Turn TV on

sudo cec-ctl --image-view-on -t0

list the ui commands TV support

root@linaro-alip:~# cec-ctl --list-ui-commands                        
'ui-cmd' can have these values:
        Select (0)
        Up (1)
        Down (2)
        Left (3)
        Right (4)
        Right-Up (5)
        Right-Down (6)
        Left-Up (7)
        Left-Down (8)
        Device Root Menu (9)
        Device Setup Menu (10)
        Contents Menu (11)
        Favorite Menu (12)
        Back (13)
        Media Top Menu (16)
        Media Context-sensitive Menu (17)
        Number Entry Mode (29)
        Number 11 (30)
        Number 12 (31)
        Number 0 or Number 10 (32)
        Number 1 (33)
        Number 2 (34)
        Number 3 (35)
        Number 4 (36)
        Number 5 (37)
        Number 6 (38)
        Number 7 (39)
        Number 8 (40)
        Number 9 (41)
        Dot (42)
        Enter (43)
        Clear (44)
        Next Favorite (47)
        Channel Up (48)
        Channel Down (49)
        Previous Channel (50)
        Sound Select (51)
        Input Select (52)
        Display Information (53)
        Help (54)
        Page Up (55)
        Page Down (56)
        Power (64)
        Volume Up (65)
        Volume Down (66)
        Mute (67)
        Play (68)
        Stop (69)
        Pause (70)
        Record (71)
        Rewind (72)
        Fast forward (73)
        Eject (74)
        Skip Forward (75)
        Skip Backward (76)
        Stop-Record (77)
        Pause-Record (78)
        Angle (80)
        Sub picture (81)
        Video on Demand (82)
        Electronic Program Guide (83)
        Timer Programming (84)
        Initial Configuration (85)
        Select Broadcast Type (86)
        Select Sound Presentation (87)
        Audio Description (88)
        Internet (89)
        3D Mode (90)
        Play Function (96)
        Pause-Play Function (97)
        Record Function (98)
        Pause-Record Function (99)
        Stop Function (100)
        Mute Function (101)
        Restore Volume Function (102)
        Tune Function (103)
        Select Media Function (104)
        Select A/V Input Function (105)
        Select Audio Input Function (106)
        Power Toggle Function (107)
        Power Off Function (108)
        Power On Function (109)
        F1 (Blue) (113)
        F2 (Red) (114)
        F3 (Green) (115)
        F4 (Yellow) (116)
        F5 (117)
        Data (118)

Driver Info:
        Driver Name                : dwhdmi-rockchip
        Adapter Name               : dw_hdmi
        Capabilities               : 0x0000000e
                Logical Addresses
                Transmit
                Passthrough
        Driver version             : 4.4.154
        Available Logical Addresses: 4
        Physical Address           : 3.0.0.0
        Logical Address Mask       : 0x0010
        CEC Version                : 2.0
        Vendor ID                  : 0x000c03 (HDMI)
        OSD Name                   : 'Playback'
        Logical Addresses          : 1 (Allow RC Passthrough)

          Logical Address          : 4 (Playback Device 1)
            Primary Device Type    : Playback
            Logical Address Type   : Playback
            All Device Types       : Playback
            RC TV Profile          : None
            Device Features        :
                None