En mi placa RasPi, Debian Linux, el micrófono USB ocasionalmente se bloquea de modo que nada pueda usarlo. El micrófono tiene un LED que generalmente parpadea, cuando está bloqueado, se apaga.
La utilidad lo arecord
describe de la siguiente manera:
card 1: Device [DYNEX USB MIC Device], device 0:USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Cuando el micrófono deja de funcionar, arecord
ofrece diagnósticos como este:
> 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...
¡Desconectar y enchufar el micrófono lo arregla, solo porque la caída actual obliga al RasPi a reiniciarse! No es una situación ideal.
¿Hay alguna manera de arreglar esto desde la línea de comandos o un ejecutable en C?
También intenté usar ioctl(fd, USBDEVFS_RESET, 0)
la salida de lsusb
para proporcionar el bus y el número de dispositivo. Eso vuelve a encender el LED, pero es excesivo. El dispositivo debe volver a configurarse con alsamixer.
fuente
Respuestas:
Esto es fácil de resolver.
Problema: su micrófono no recibe suficiente energía. Los puertos USB de Raspberry Pi tienen problemas para suministrar suficientes amplificadores a dispositivos USB que necesitan más que energía que las tarjetas de memoria USB.
Solución: obtenga un concentrador USB activo (concentrador alimentado conectado a una fuente de alimentación como una toma de corriente). El concentrador alimentará el micrófono.
fuente