Hi,
I'm running Armbian Bionic 4.4 (Linux nanopim4 4.4.190-rk3399 #5 SMP Sun Sep 1 23:12:43 CEST 2019 aarch64 aarch64 aarch64 GNU/Linux) on a NanoPI M4 and I'm trying to enable HDCP on the HDMI output.
I can't figure out how to do this (or if it is even possible).
dmesg shows that the driver/hardware knows about HDCP to some extent
pi@nanopim4:~$ dmesg | grep -i hdcp
[ 3.307777] dwhdmi-rockchip ff940000.hdmi: Detected HDMI TX controller v2.11a with HDCP (DWC HDMI 2.0 TX PHY)
xrandr lists no content_protection property
pi@nanopim4:~$ xrandr --prop
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
HDMI-1 connected primary 1920x1080+0+0 1152mm x 648mm
EDID:
00ffffffffffff0010e3140211000082
ff1c010380331d7806e295a2554f9f26
115054ffff80d1c0b300950f950081c0
81408180714f4dd000a0f0703e803020
350080884200001e000000fd0a01ff01
ff3c0000000000000000000000fc0044
47433231340a20202020202000000010
000000000000000000000000000001c1
02033571230f1707836900004561605f
5e5dee0f0000000000000000000000f0
0168030c00ffff1078016ad85dc40178
80010000004dd000a0f0703e80302035
0080884200001eb46600a0f0701f8030
20350080884200001e293680a070381f
403020350040442100001eb71a80a070
1c10203020350040442100009e0000ff
hue: 50
range: (0, 100)
saturation: 50
range: (0, 100)
contrast: 50
range: (0, 100)
brightness: 50
range: (0, 100)
hdmi_quant_range: default
supported: default, limit, full
hdmi_output_mode_capacity: 7
range: (0, 15)
hdmi_color_depth_capacity: 19
range: (0, 255)
hdmi_output_colorimetry: None
supported: None, ITU_2020
hdmi_output_format: output_rgb
supported: output_rgb, output_ycbcr444, output_ycbcr422, output_ycbcr420, output_ycbcr_high_subsampling, output_ycbcr_low_subsampling, invalid_output
hdmi_output_depth: 24bit
supported: Automatic, 24bit, 30bit
There is a sysfs node for content_protection created, but it doesn't return any values
pi@nanopim4:~$ cd /sys/class/drm/card0-HDMI-A-1/
pi@nanopim4:/sys/class/drm/card0-HDMI-A-1$ ls -lh
total 0
-r--r--r-- 1 root root 4.0K Oct 2 12:35 audioformat
-rw-r--r-- 1 root root 4.0K Oct 2 13:05 content_protection
lrwxrwxrwx 1 root root 0 Oct 2 12:35 device -> ../../card0
-r--r--r-- 1 root root 4.0K Oct 2 12:35 dpms
-r--r--r-- 1 root root 0 Oct 2 12:35 edid
-r--r--r-- 1 root root 4.0K Oct 2 12:35 enabled
-r--r--r-- 1 root root 4.0K Oct 2 12:35 mode
-r--r--r-- 1 root root 4.0K Oct 2 12:35 modes
drwxr-xr-x 2 root root 0 Oct 2 12:35 power
-rw-r--r-- 1 root root 4.0K Oct 2 12:35 status
lrwxrwxrwx 1 root root 0 Oct 2 12:35 subsystem -> ../../../../../../class/drm
-rw-r--r-- 1 root root 4.0K Oct 2 12:35 uevent
pi@nanopim4:/sys/class/drm/card0-HDMI-A-1$ cat content_protection
pi@nanopim4:/sys/class/drm/card0-HDMI-A-1$
Writing to it with the values that look like they should work (by inspecting drivers/gpu/drm/drm_crtc.c and drivers/gpu/drm/drm_sysfs.c) just returns Invalid Value:
pi@nanopim4:/sys/class/drm/card0-HDMI-A-1$ su
Password:
root@nanopim4:/sys/class/drm/card0-HDMI-A-1# echo "Desired" > content_protection
bash: echo: write error: Invalid argument
(I've also tried echo -n, and various capitalisations of: Undesired, Desired, Enabled. All of which have the same result).
Am I missing something here?
Is it possible to enable HDCP on the HDMI output?
Thanks,
Phil