我的 USB 麦克风工作正常,直到我重新启动系统。之后,它根本不起作用,直到我拔下插头并重新插入。根据我对所涉及组件的(有限)理解,我认为 ALSA 没有在启动时检测到麦克风(可能是因为在系统启动时 USB 扫描期间尚未加载适当的模块)。所以,我的问题是,
我又怎能,
- 配置 ALSA 在初始化时查找 USB 设备,
- 手动触发 ALSA 在我可以在启动时运行的脚本中检查 USB 设备,或者
- 确保在初始扫描设备之前加载 snd-usb-audio?
我正在运行修改后的 RHEL4 发行版,如果这很重要的话。如果您需要更多信息,请询问,我会添加。
通过查看/var/log/messages
,这是我在插入麦克风时在启动时看到的内容:
Mar 28 08:19:04 foobar kernel: usb 6-2: new full speed USB device using uhci_hcd and address 3
Mar 28 08:19:04 foobar kernel: usb 6-2: New USB device found, idVendor=08bb, idProduct=2912
Mar 28 08:19:04 foobar kernel: usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 28 08:19:04 foobar kernel: usb 6-2: Product: USB audio CODEC
Mar 28 08:19:04 foobar kernel: usb 6-2: Manufacturer: Burr-Brown from TI
Mar 28 08:19:04 foobar kernel: usb 6-2: configuration #1 chosen from 1 choice
如果我稍后拔掉麦克风,我会收到一行消息:
Mar 28 15:10:52 foobar kernel: usb 6-2: USB disconnect, address 3
启动后,当我插入麦克风时,我得到与上面相同的输出,但多了一行:
Mar 28 15:11:12 foobar kernel: usb 6-2: new full speed USB device using uhci_hcd and address 4
Mar 28 15:11:12 foobar kernel: usb 6-2: New USB device found, idVendor=08bb, idProduct=2912
Mar 28 15:11:12 foobar kernel: usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 28 15:11:12 foobar kernel: usb 6-2: Product: USB audio CODEC
Mar 28 15:11:12 foobar kernel: usb 6-2: Manufacturer: Burr-Brown from TI
Mar 28 15:11:12 foobar kernel: usb 6-2: configuration #1 chosen from 1 choice
Mar 28 15:11:12 foobar kernel: usbcore: registered new interface driver snd-usb-audio
答案1
好吧,我已经找到了#2 的答案在 Ubuntu 堆栈交换处:
sudo sh -c "echo 0 > /sys/bus/usb/devices/<devId>/authorized"
sudo sh -c "echo 1 > /sys/bus/usb/devices/<devId>/authorized"
通过检查可以找出devId
(在我的情况下,因为我总是知道确切的预期产品名称)/sys/bus/usb/devices/*/product