在我的 RasPi 板(Debian Linux)上,USB 麦克风偶尔会被锁定,导致任何人都无法使用它。麦克风有一个 LED,通常会闪烁,锁定时会关闭。
该实用程序arecord
对其描述如下:
card 1: Device [DYNEX USB MIC Device], device 0:USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
当麦克风停止工作时,arecord
给出如下诊断:
> arecord -D plughw:1,0 > recording.wav
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
arecord: set_params:1145: Unable to install hw_params:
ACCESS: RW_INTERLEAVED
FORMAT: U8
etc...
拔掉再插上麦克风就可以解决这个问题,只是因为电流下降迫使 RasPi 重新启动!这不是一个理想的情况。
有没有办法从命令行或 C 可执行文件修复此问题?
我还尝试使用ioctl(fd, USBDEVFS_RESET, 0)
输出来lsusb
提供总线和设备号。这会重新打开 LED,但这有点过分了。必须使用 alsamixer 重新设置设备。
答案1
这很容易解决。
问题:您的麦克风电量不足。 Raspberry Pi USB 端口在向 USB 设备提供足够的电流方面存在问题,这些设备需要的不仅仅是 USB 存储卡的电源。
解决方案:获取一个有源 USB 集线器(将供电集线器插入电源,如插座)。该集线器将为麦克风供电。