如何让 snd-usb-audio 与设备分离?

如何让 snd-usb-audio 与设备分离?

语境

我正在为 Arturia AudioFuse 开发一个逆向工程控制器https://github.com/rhofour/audiofuse-cli使用 libusb (通过 pyusb)。我能够找到设备,将内核驱动程序与控制端点分离,并更改我想要的各种设置。但是,我不知道如何正确地将设备交还给 snd-usb-audio 驱动程序。

这种工作的一件事是从设备上的每个端点分离每个内核驱动程序,做我的事情,然后尝试重新连接它们。这会触发设备自行重新启动,当它返回时,内核会正确地捕获它。然而,这里的缺点是重新启动需要一些时间,并且可能会引发扬声器和耳机的大声爆裂声,所以我想避免这种情况。

我认为我需要做什么

我想做的是将 snd-usb-audio 驱动程序完全从设备上分离,更改我感兴趣的各种设置,然后重新连接它而不重新启动设备。我知道这是可能的,因为我一直在使用 VirtualBox 将此设备传递到 Windows VM,并且能够从 snd-usb-audio 获取该设备,使用它,然后将其返回到 snd-usb-audio重置它。

我想知道的是我自己怎样才能做到这一点。

相关内容