CEC in Debian does not work what did we miss?

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

Hello brian, thanks for the input. I’ve tested it in one case so far and it seems works for now.
I’ll keep testing with different monitors and I’ll try to test out the other commands as well.

Quick Update, I’ve tested the provided commands on 3 TVs so far and it seems to be working fine. However I can’t figure out exactly how to use the commands listed by

cec-ctl --list-ui-commands

Can you please provide an example?