Sulla mia scheda RasPi, Debian Linux, il microfono USB viene occasionalmente bloccato in modo che nulla possa usarlo. Il microfono ha un LED che di solito lampeggia, quando è bloccato, si spegne.
L'utilità lo arecord
descrive come segue:
card 1: Device [DYNEX USB MIC Device], device 0:USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Quando il microfono smette di funzionare, arecord
fornisce una diagnostica come questa:
> 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...
Lo scollegamento e il collegamento del microfono lo risolvono, solo perché l'attuale calo costringe il RasPi a riavviarsi! Non è una situazione ideale.
C'è un modo per risolvere questo problema dalla riga di comando o da un eseguibile C?
Ho anche provato a utilizzare ioctl(fd, USBDEVFS_RESET, 0)
l'output da lsusb
per fornire il bus e il numero del dispositivo. Ciò riaccende il LED, ma è eccessivo. Il dispositivo deve essere reimpostato utilizzando alsamixer.