
Eu tenho um microfone USB que funciona bem até reiniciar o sistema. Depois disso, ele não funciona até que eu desconecte e reconecte. Com base no meu conhecimento (limitado) dos componentes envolvidos, acho que o ALSA não está detectando o microfone na inicialização (possivelmente porque o módulo apropriado não foi carregado durante a varredura USB na inicialização do sistema). Então, minha pergunta é:
Como posso,
- Configure o ALSA para procurar dispositivos USB quando for inicializado,
- Acione manualmente o ALSA para verificar dispositivos USB em um script que eu possa executar na inicialização ou
- Certifique-se de que o snd-usb-audio esteja carregado antes da verificação inicial de dispositivos?
Estou executando uma distribuição RHEL4 modificada, se isso importa. Se precisar de mais informações, pergunte e eu adicionarei.
Olhando para /var/log/messages
, aqui está o que vejo na inicialização com o microfone conectado:
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
Se mais tarde eu desconectar o microfone, recebo uma única linha nas mensagens:
Mar 28 15:10:52 foobar kernel: usb 6-2: USB disconnect, address 3
Após a inicialização, quando conecto o microfone, obtenho a mesma saída acima, mas com uma linha adicional:
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
Responder1
Bem, eu tenho uma resposta para o número 2, encontradana troca de pilha do Ubuntu:
sudo sh -c "echo 0 > /sys/bus/usb/devices/<devId>/authorized"
sudo sh -c "echo 1 > /sys/bus/usb/devices/<devId>/authorized"
onde devId
pode ser descoberto (no meu caso, já que sempre saberei o nome exato do produto esperado) inspecionando/sys/bus/usb/devices/*/product