RK3399 HDCP 2.2key 烧录
首先查看hdcp\rk3399_hdcp2_patch-20180426\rk3399_patch路径下的文件查看readme
- 使用firmware_tool工具生成hdcp key固件(需要在linux环境下执行)
(1).解压firmware20171109.tar.gz,
(2). 将hdcp2的key文件(需要向hdcp组织申请,自带有测试key不过无法认证成功)拷贝到路径tools/hdcp_transmitter.bin。
(3)在firmware_tool工具目录下执行./build_fw.sh HDCP_TX 生成key固件firmware/firmware.le。
2.添加补丁
(1).将第一步生成的firmware.le同补丁的hdcp2_tx文件一起拷贝到工程的device/rockchip/rk3399目录
(2).将补丁的device_rorkchip_rk3399.patch打到工程的device/rockchip/rk3399目录(将拷贝firmware.le和hdcp2_tx到对应目录并开机自动执行hdcp2_tx)
(3)将0001-drm-bridge-dw-hdmi-add-hdcp2-node-and-add-hdcp2-supp.patch和0002-drm-bridge-dw-hdmi-add-hdmi-hdcp2-driver.patch补丁达到kernel工程
并选中配置Symbol: DRM_DW_HDMI_HDCP2 [=y]
(4).在补丁中缺少host_lib_driver_linux_if.h文件,将其添加到对应目录下
3.hdcp2_xTx 测试
(1).使能HDCP
使能(默认没有使能)
echo 1 > /sys/class/misc/hdcp2_node/enable
关闭:
echo 0 > /sys/class/misc/hdcp2_node/enable
查看使能状态
cat /sys/class/misc/hdcp2_node/enable
0:关闭
非0:打开
(2).查看认证状态
status节点
查看hdcp2认证状态:
cat /sys/class/misc/hdcp2_node/status
有如下几个状态:
hdcp2 auth sucess: 认证成功
no enable hdcp2: 没使能hdcp2
hdcp2 no auth: 没有认证(没接hdmi,或者设备不支持hdcp2)
no already auth sucess: 认证未成功
(3)log
执行logcat -s HDMI_HDCP2若出现如下提示则说明认证成功
[TX] Authenticated
若有异常打一下logcat -s HDMI_HDCP2和dmesg并adb pull /cache/hdcp_tx0.log
(4).验证
使能hdcp2_node后,将其接入支持hdcp2,但未烧录HDCP2的设备中,屏幕显示灰屏。
hdcp状态 hdcp2 auth sucess
4.注意事项:
(1),注意需开机运行hdcp2_tx文件,否则不能HDCP2无法工作
(2).选择测试设备时一定注意,测试设备必须支持hdcp2,否则HDCP接入状态一直为
hdcp2 no auth: 没有认证(没接hdmi,或者设备不支持hdcp2)