You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决ARM Linux系统UAC缺失/dev/snd/pcmC0D0c录音设备问题

解决USB Gadget UAC缺失录音设备问题

问题概述

在Linux 4.9.37内核中已配置UVC、UAC及USB声卡相关组件,通过configfs脚本配置USB Gadget并加载ARM设备驱动后,UVC设备工作正常,但UAC仅生成播放设备/dev/snd/pcmC0D0p和控制设备/dev/snd/controlC0,缺少录音设备/dev/snd/pcmC0D0c。

核心原因

现有脚本仅对UAC1功能设置了录音通道掩码为0x00(即禁用录音通道),且未配置录音相关的采样率、位深等必要参数,导致内核未创建录音PCM设备。

解决方案

1. 修改configfs配置脚本

调整脚本中UAC1功能的配置部分,开启录音通道并设置匹配的音频参数:

原脚本中UAC1配置段:

mkdir functions/uac1.usb0                                                        
echo "0x00" > functions/uac1.usb0/c_chmask

替换为以下配置(根据硬件支持调整参数):

mkdir functions/uac1.usb0
# 配置播放通道掩码:0x03表示立体声(左+右声道)
echo "0x03" > functions/uac1.usb0/p_chmask
# 配置录音通道掩码:0x01表示单声道(左声道),0x03表示立体声
echo "0x01" > functions/uac1.usb0/c_chmask

# 设置播放采样率范围(示例为44100Hz)
echo "44100" > functions/uac1.usb0/p_srate_min
echo "44100" > functions/uac1.usb0/p_srate_max
# 设置录音采样率范围(需与硬件支持匹配)
echo "44100" > functions/uac1.usb0/c_srate_min
echo "44100" > functions/uac1.usb0/c_srate_max

# 设置播放音频位深(示例为16位PCM)
echo "16" > functions/uac1.usb0/p_bits
# 设置录音音频位深(需与硬件支持匹配)
echo "16" > functions/uac1.usb0/c_bits

参数说明:

  • p_chmask:播放通道掩码,二进制位对应声道,0x01=左声道,0x02=右声道,0x03=立体声
  • c_chmask:录音通道掩码,取值规则同播放通道
  • p_srate_min/max:播放支持的最小/最大采样率
  • c_srate_min/max:录音支持的最小/最大采样率
  • p_bits/c_bits:播放/录音的音频位深(通常为16位)

2. 重新加载Gadget

如果当前Gadget已加载,先卸载现有配置:

# 进入Gadget目录
cd /sys/kernel/config/usb_gadget/camera
# 断开UDC链接
echo "" > UDC
# 移除功能链接和目录
rm configs/c.1/functions/uac1.usb0
rm configs/c.1/functions/uvc.usb0
rmdir functions/uac1.usb0
# 可选择删除整个Gadget目录重新创建
cd ..
rmdir camera

执行修改后的脚本重新配置并加载Gadget。

3. 验证结果

执行以下命令检查录音设备是否生成:

# 查看录音设备
arecord -l
# 查看/dev/snd目录下的设备
ls /dev/snd/

若配置正确,应能看到pcmC0D0c录音设备,且arecord -l输出中包含对应的录音PCM设备。

内核配置确认

现有内核配置已包含必要的UAC组件,无需额外添加:

  • CONFIG_USB_F_UAC1=y
  • CONFIG_USB_CONFIGFS_F_UAC1=y
  • CONFIG_USB_U_AUDIO=y
  • CONFIG_SND_USB_AUDIO=y

内容的提问来源于stack exchange,提问作者Ken.Zhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 11:06:59