调试RK3399时,启动系统后,播放音乐,没有声音,日志出现了如下错误:
03-25 09:45:24.743 +0000 251 338 D alsa_route: route_info->sound_card 0, route_info->devices 0
03-25 09:45:24.743 +0000 251 338 D alsa_route: route_set_controls() set route 26
03-25 09:45:24.743 +0000 251 338 D alsa_route: route_set_controls() set route 27
03-25 09:45:24.743 +0000 251 338 D alsa_route: route_set_controls() set route 24
03-25 09:45:24.747 +0000 251 338 D alsa_route: route_set_controls() set route 11
03-25 09:45:24.753 +0000 251 338 E AudioHardwareTiny: pcm_open(PCM_CARD_HDMI) failed: cannot open device '/dev/snd/pcmC4294967295D0p': No such file or directory
通过测试发现只要接UVC的摄像头,就会有这种错误,拔掉摄像头,则错误消失。查阅资料,原来是系统启动时,摄像头占用了Audio资源,通过如下配置可屏蔽UVC摄像头的Audio,配置如下:
kris@eco:~/rk3399/kernel$ g df
diff --git a/arch/arm64/configs/rockchip_ecovacs_defconfig b/arch/arm64/configs/rockchip_eco_defconfig
index 7e66b90..0c482c2 100644
@@ -504,7 +504,7 @@ CONFIG_SND_VERBOSE_PRINTK=y
# CONFIG_SND_PCI is not set
# CONFIG_SND_SPI is not set
#Kris, 180709, Avoid opening wrong audio device.
-CONFIG_SND_USB_AUDIO=y
+#CONFIG_SND_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_ROCKCHIP=y
CONFIG_SND_SOC_ROCKCHIP_SPDIF=y
参考链接:https://blog.csdn.net/kris_fei/article/details/81014523