由于 USB 带宽问题,MIC 无法工作

由于 USB 带宽问题,MIC 无法工作

使用 debian 和 centos,插入 USB 麦克风时出现同样的错误。在 Windows(xp 到 8.1)中它工作正常。

[ 304.237543] usb 2-1.6.2: USB disconnect, device number 6
[ 305.220785] usb 2-1.6.2: new full-speed USB device number 9 using ehci-pci
[ 305.331189] usb 2-1.6.2: New USB device found, idVendor=a012, idProduct=b012
[ 305.331195] usb 2-1.6.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 305.331198] usb 2-1.6.2: Product: DYNEX USB MIC Device
[ 305.331201] usb 2-1.6.2: Manufacturer: DYNEX
[ 305.331204] usb 2-1.6.2: SerialNumber: 12000002
[ 305.338744] input: DYNEX DYNEX USB MIC Device as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6.2/2-1.6.2:1.2/input/input21
[ 305.338893] hid-generic 0003:A012:B012.000A: input,hidraw3: USB HID v1.00 Device [DYNEX DYNEX USB MIC Device] on usb-0000:00:1d.0-1.6.2/input2
[ 305.366189] cannot submit urb 0, error -28: not enough bandwidth


[ 304.237543] usb 2-1.6.2: USB disconnect, device number 6
[ 305.220785] usb 2-1.6.2: new full-speed USB device number 9 using ehci-pci
[ 305.331189] usb 2-1.6.2: New USB device found, idVendor=a012, idProduct=b012
[ 305.331195] usb 2-1.6.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 305.331198] usb 2-1.6.2: Product: DYNEX USB MIC Device
[ 305.331201] usb 2-1.6.2: Manufacturer: DYNEX
[ 305.331204] usb 2-1.6.2: SerialNumber: 12000002
[ 305.338744] input: DYNEX DYNEX USB MIC Device as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6.2/2-1.6.2:1.2/input/input21
[ 305.338893] hid-generic 0003:A012:B012.000A: input,hidraw3: USB HID v1.00 Device [DYNEX DYNEX USB MIC Device] on usb-0000:00:1d.0-1.6.2/input2
[ 305.366189] cannot submit urb 0, error -28: not enough bandwidth

我注意到的是,对于 centos,这个问题从一开始就存在,对于 debian,麦克风最初可以工作,直到我允许更新过程继续。重新启动后,我开始看到这个问题。根据输出,我认为这是由于内核更改所致,可能与 ehci/uhci 相关,但我并不肯定。

我的网络摄像头上的麦克风可以工作(尽管由于其他一些错误而有点延迟)并且麦克风中的线路可以工作,我只在这个特定的 USB 麦克风上遇到这个问题。

尝试其他一些解决方案,我完全删除了pulseaudio,因为许多人将世界饥饿归咎于脉冲,但即使只有Alsa,问题仍然存在。这进一步坚定了我的信念,即问题出在内核和/或模块上,而不是其他软件上。

有人有想法吗?

答案1

我以前没有使用过这样的发行版,我是 slackware/linuxfromscratch 的长期用户,我印象中这些发行版使用带有大量模块的内核来确保完全兼容(尤其是考虑到他们建议不要滚动自己的内核)我从 kernel.org 下载了最新版本并对其进行了编译,它在我启动后立即解决了问题。我还没有时间深入研究导致问题的具体原因(我认为是 snd_usb),但新内核肯定解决了这个问题。

为了在原来的基础上添加一些信息,我重建了大约 7 次系统,并注意到安装麦克风后首次启动时可以正常工作。第一次重新启动 5/7 次后它将停止工作。 2/7 次它在启动时因上述错误而死掉。无论如何,这都无需加载任何软件/更新。

答案2

我遇到了这个问题。解决方案是CONFIG_USB_EHCI_TT_NEWSCHED在 Linux 内核中启用标志。

文章来源:https://community.nxp.com/t5/i-MX-Processors/Problem-with-usb-audio-capture/mp/357810

相关内容