"Recarregar" drivers de áudio mac sem reiniciar

64

Eu tenho uma interface de áudio externa (M-Audio fast track c400). A fim de obter o meu macbook para reconhecê-lo (exibir em configuração de áudio / midi), eu tenho que reiniciar, o que é um aborrecimento. Eu tive outras interfaces m-audio que foram detectadas automaticamente quando conectadas, e tenho certeza que esta deve ser a mesma. A maioria das postagens na Internet sugere a atualização do SO ou do software / firmware do dispositivo. Eu fiz todos aqueles sem sorte. Atualmente, estou executando o OS X 10.8.5.

Existe uma maneira de forçar o OS X a recarregar o dispositivo? De preferência, algum voodoo de linha de comando que eu poderia disparar rapidamente quando necessário ou embrulhar em um pequeno script de shell.

Edit: Progresso ..

O problema parece estar corrigido agora ... Não tenho certeza de como o seguinte resolveu o problema. Se você sabe, por favor, comente!

Inspirado pela resposta de @ sbugert, comecei a procurar em outros daemon do sistema que poderiam resolver o problema se fossem reiniciados. Como um tiro no escuro eu matei coreservicesd. Isso fez com que o sistema operacional se tornasse visivelmente instável e eu acabei sendo desconectado automaticamente. Para minha surpresa, quando eu entrei de volta, minha interface de áudio foi reconhecida.

Baseado nisso, eu especulei que matar coreservicesd e logout / in pode ser uma solução possível (feia). Então, desconectei a interface e a conectei novamente, e, como esperado, ela não foi reconhecida. Então eu matei o coreservicesd e tentei sair, no entanto, eu não consegui fazer o sistema sair devido à instabilidade causada pela morte de coreservicesd. Eu eventualmente fui forçado a fazer um desligamento "hard" (ou seja, segurando o botão de energia até que ele desligue). Depois de inicializar o macbook novamente, a interface agora é reconhecida automaticamente toda vez que eu conectá-lo. Eu suspeito que esse "hard" reset possa ter resolvido o problema sem todos os truques com o daemon coreservices, mas não tenho como testar isso. .

Se alguém puder esclarecer isso, por favor, faça!

Edit: Parou de funcionar novamente, então eu não sei o que está acontecendo.

RyanM
fonte

Respostas:

77

EDIT: provavelmente só funciona para osx antes de 10.13

Isto é o que você precisa,

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

Mas se você quiser matar seu coreaudio também,

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

Use com cuidado.
o grep alvo é escrito desta forma especificamente para excluir grepping grep processar-se no ps Fora.

Ali
fonte
5
O driver de carga / descarga é a única coisa que funcionou para fazer o Mac detectar meus fones de ouvido. OBRIGADO!
wizonesolutions
As alterações do kext fizeram com que meu laptop fosse redefinido - não recomendo. A solução para mim era ir para Settings > Sound e verifique se a saída está definida corretamente.
vaughan
1
Trabalho. Eu tive que matar o coreaudio primeiro, provavelmente porque uma faixa estava tocando - deveria ter parado primeiro. MacBook Pro 13, final de 2013, 10.10.1
VladFr
7
(kernel) Não é possível descarregar kext com.apple.driver.AppleHDA; classes têm instâncias: (kernel) Kext com.apple.driver.AppleHDA class AppleHDATDMBusManager tem 1 instância. (kernel) Kext com.apple.driver.AppleHDA class AppleHDATDMBusManagerCS4208 possui 2 instâncias. Falha ao descarregar com.apple.driver.AppleHDA - (libkern / kext) kext está em uso ou retido (não pode descarregar).
Sergei
3
Eu recebo as mesmas mensagens de erro do @Sergei. Depois disso, meu som está completamente desativado. O ícone está esmaecido, as teclas de função não funcionam. Eu tenho que reiniciar para trazer tudo de volta.
Patrick M
51

Tente digitá-lo no Terminal:

sudo killall coreaudiod

Isso irá matar o processo de coreaudio e reiniciá-lo.

sbugert
fonte
1
Isso corrigiu o meu problema sem efeitos sonoros.
wisbucky
2
wow meu problema foi os alto-falantes internos pararia de funcionar de forma intermitente até que eu reiniciei. obrigado! isso fez o truque!
Elon Zito
2
Não recomeçou para mim. O som está desativado / desativado agora.
sequoia mcdowell
2
Não reiniciei para mim também. Algum comando específico para iniciá-lo?
ayrad
2
@sequoiamcdowell Isso deve funcionar: apple.stackexchange.com/questions/187983/…
Hannes Karppila
0

Mesma solução mas com variação diferente

sudo kill -9 `ps ax|grep 'coreaudio[a-z]' | awk '{print $1}'`
user1573604
fonte
4
Não use kill -9 apenas por causa disso. Um nu kill é perfeitamente suficiente para interromper o daemon em circunstâncias normais. Uso indiscriminado de -9 pode levar a situações em que um daemon é encerrado de forma tão brutal que você não pode mais reiniciá-lo.
dland