2013-09-19 06:59:16 +0000 2013-09-19 06:59:16 +0000
83
83

"recarregar" controladores de áudio mac sem reiniciar

Tenho uma interface áudio externa (M-audio fast track c400). A fim de conseguir que o meu macbook o reconheça (apresentação em configuração áudio/midi), tenho de reiniciar, o que é um incómodo. Já tive outras interfaces m-audio que foram automaticamente detectadas quando ligadas, e tenho quase a certeza que esta deve ser a mesma. A maioria dos posts na Internet sugere a actualização do SO ou do software/firmware para o dispositivo. Fiz tudo isso sem qualquer sorte. Estou actualmente a executar o SO X 10.8.5.

Existe alguma forma de forçar o OS X a recarregar o dispositivo? De preferência algum vudu de linha de comando que eu possa disparar rapidamente quando necessário ou embrulhar num pequeno e agradável script de shell.

Editar: Progresso…

O problema parece estar resolvido agora… Não tenho a certeza de como os seguintes resolveram o problema. Se sabe, por favor comente!

Inspirado pela resposta de @sbugert, comecei a investigar outros daemon’s do sistema que poderiam fazer o truque se fossem reiniciados. Como um tiro no escuro, matei coreservicesd. Isto fez com que o sistema operativo se tornasse visivelmente instável e acabei por me desconectar automaticamente. Para minha surpresa, quando voltei a entrar no sistema, a minha interface áudio foi reconhecida.

Com base nisso, eu imaginei que matar coreservicesd e sair/sair pode ser uma solução possível (feia). Assim, desliguei a interface e liguei-a de volta, e como esperado, não foi reconhecida. Assim, matei o coreervicesd e tentei sair, mas não consegui que o sistema saísse devido à instabilidade causada pela morte do coreervicesd. Acabei por ser forçado a fazer um desligamento “duro” (ou seja, segurando o botão de ligar/desligar até que o sistema se desligasse). Depois de arrancar novamente o macbook, a interface é agora reconhecida automaticamente cada vez que o ligo. Suspeito que esta reinicialização “dura” pode ter resolvido o problema sem todos os problemas com os daemon dos serviços centrais, mas não tenho maneira de o testar.

Se alguém puder lançar luz sobre isto, por favor faça!

Editar: Deixou de funcionar novamente, por isso não sei o que se passa.

Respostas (4)

101
101
101
2014-04-17 15:33:52 +0000

EDIT: muito provavelmente só funciona para osx antes de 10,13

Isto é o que precisa,

sudo kextunload /System/Library/Extensions/AppleHDA.kext
sudo kextload /System/Library/Extensions/AppleHDA.kext

Mas se quiser matar também o seu coreaudio,

ps aux | grep 'coreaudio[d]' | awk '{print $2}' | xargs sudo kill

use com precaução.
O grep alvo é escrito desta forma especificamente para excluir o grepping do grep processo em si no ps fora.

77
77
77
2013-09-19 13:31:42 +0000

Tente digitar isto em Terminal:

sudo killall coreaudiod

Isto irá matar o processo coreaudio e reiniciá-lo.

0
0
0
2014-01-07 03:10:12 +0000

A mesma solução mas com variações diferentes

sudo kill -9 `ps ax|grep 'coreaudio[a-z]' | awk '{print $1}'`
-1
-1
-1
2019-06-28 23:23:16 +0000

Aqui descobri que se eu seleccionar outro dispositivo antes de desligar a interface (Fast Track C400 também), posso voltar a ligá-lo mais tarde sem qualquer problema. Mas se estou a utilizar a via rápida e depois a desligar, não posso voltar a ligá-lo até o reiniciar.