我使用的是4.4.0-113内核的Ubuntu16.04.3。
我有两个不同的基于XMOS的USB声卡,一个完美地工作,并按预期播放DSD文件。其他的工作,但不被认为是一个XMOS设备,所以一个不太理想的驱动程序是加载的。
我如何改变它,使相同的驱动程序被加载和使用在这两个设备上?
用于两种设备的lsusb:
带有所需驱动程序的卡:
Bus 003 Device 007: ID 20b1:000a XMOS Ltd 带有不太理想的驱动程序的卡:
Bus 001 Device 003: ID 16d0:09dd MCS 来自asound的产出:
有适当司机的卡:
card 4: x20 [xCORE USB Audio 2.0], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0司机不当的卡:
card 3: mDSD [Encore mDSD], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0编辑到文档解决方案:
在本指南之后,我下载了内核源代码,进行了修改和编译。
我将lsusb输出中的供应商和设备ID添加到内核源代码中的相关部分。
../sound/usb/quirks.c具体来说,Encore mDSD的一行:
case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */
case USB_ID(0x20b1, 0x000a): /* Gustard DAC-X20U */
case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
case USB_ID(0x20b1, 0x2023): /* JLsounds I2SoverUSB */
case USB_ID(0x20b1, 0x3023): /* Aune X1S 32BIT/384 DSD DAC */
case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */
if (fp->altsetting == 3)
return SNDRV_PCM_FMTBIT_DSD_U32_BE;
break;然后,我编译了驱动程序,安装,重新启动,卡与本地DSD完美地工作,直到DSD256。
发布于 2018-02-17 07:29:04
没有允许驱动程序检测DSD设备的标准。每个设备都必须是列在司机身上,到目前为止,还没有人知道"mDSD“。
使mDSD工作的唯一方法是重新编译驱动程序。
https://askubuntu.com/questions/1006665
复制相似问题