„Przeładuj” sterowniki audio Mac bez ponownego uruchamiania

78

Mam zewnętrzny interfejs audio (szybka ścieżka M-audio c400). Aby mój Macbook mógł go rozpoznać (wyświetlanie w konfiguracji audio / midi), muszę zrestartować komputer, co jest kłopotliwe. Miałem inne interfejsy m-audio, które były automatycznie wykrywane po podłączeniu i jestem prawie pewien, że ten powinien być taki sam. Większość postów w Internecie sugeruje aktualizację systemu operacyjnego lub oprogramowania / oprogramowania układowego urządzenia. Zrobiłem te wszystkie bez powodzenia. Obecnie korzystam z systemu OS X 10.8.5.

Czy istnieje sposób zmuszenia OS X do ponownego załadowania urządzenia? Najlepiej niektóre voodoo z wiersza poleceń, które mogłem szybko odpalić w razie potrzeby lub owinąć w ładny skrypt powłoki.

Edycja: Postęp ..

Wygląda na to, że problem został teraz rozwiązany ... Nie jestem pewien, jak następujące rozwiązania rozwiązały problem. Jeśli wiesz, proszę o komentarz!

Zainspirowany odpowiedzią @ sbugert, zacząłem szukać innych demonów systemowych, które mogłyby załatwić sprawę po ponownym uruchomieniu. Jako strzał w ciemność zabiłem coreservicesd. To spowodowało, że system operacyjny stał się wyraźnie niestabilny i ostatecznie zostałem automatycznie wylogowany. Ku mojemu zaskoczeniu, kiedy ponownie się zalogowałem, mój interfejs audio został rozpoznany.

Na tej podstawie wysunąłem hipotezę, że zabijanie coreservicesdi wylogowywanie / logowanie może być możliwym (brzydkim) obejściem. Więc odłączyłem interfejs i ponownie go podłączyłem i zgodnie z oczekiwaniami nie został rozpoznany. Więc zabiłem coreservicesd i próbowałem się wylogować, jednak nie mogłem zmusić systemu do wylogowania z powodu niestabilności spowodowanej zabiciem coreservicesd. W końcu zostałem zmuszony do „twardego” wyłączenia (tzn. Przytrzymania przycisku zasilania, aż się wyłączy). Po ponownym uruchomieniu MacBooka interfejs jest teraz rozpoznawany automatycznie za każdym razem, gdy go podłączam. Podejrzewam, że ten „twardy” reset mógł rozwiązać problem bez wszystkich shenaniganów z demonem coreservices, ale nie mam możliwości przetestowania tego .

Jeśli ktoś może rzucić na to światło, proszę!

Edycja: przestał działać, więc nie wiem, co jest grane.

RyanM
źródło

Odpowiedzi:

91

EDYCJA: najprawdopodobniej działa tylko dla OSX przed 10.13

To jest to czego potrzebujesz

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

Ale jeśli chcesz również zabić swój coreaudio,

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

Używaj ostrożnie. Docelowa jest napisany specjalnie w ten sposób, aby wykluczyć grepping ten sam proces w out.
grepgrepps

Ali
źródło
5
Ładowanie / rozładowywanie sterowników to jedyna rzecz, która sprawiła, że ​​komputer Mac wykrył moje słuchawki. DZIĘKUJĘ CI!
wizonesolutions
Zmiany w kext spowodowały zresetowanie laptopa - nie polecam tego. Dla mnie poprawką było pójście Settings > Soundi sprawdzenie, czy wyjście jest ustawione poprawnie.
vaughan
1
Pracuje. Najpierw musiałem zabić coreaudio, prawdopodobnie dlatego, że odtwarzany był utwór - powinienem go najpierw zatrzymać. MacBook Pro 13, koniec 2013 r., 10.10.1
VladFr
9
(jądro) Nie można zwolnić kext com.apple.driver.AppleHDA; klasy mają instancje: (jądro) Kext com.apple.driver.AppleHDA klasa AppleHDATDMBusManager ma 1 instancję. (jądro) Kext com.apple.driver.AppleHDA Klasa AppleHDATDMBusManagerCS4208 ma 2 instancje. Nie można zwolnić com.apple.driver.AppleHDA - (libkern / kext) kext jest używany lub zachowany (nie można go rozładować).
Siergiej
3
Otrzymuję takie same komunikaty o błędach jak @Sergei. Po wykonaniu tego mój dźwięk jest całkowicie wyłączony. Ikona jest wyszarzona, klawisze funkcyjne nie działają. Muszę uruchomić ponownie, aby przywrócić wszystko.
Patrick M,
68

Spróbuj wpisać to w terminalu:

sudo killall coreaudiod

Spowoduje to zabicie procesu coreaudio i zrestartowanie go.

sbugert
źródło
1
To naprawiło mój problem braku efektów dźwiękowych.
wisbucky,
2
wow, moim problemem było to, że głośniki wewnętrzne przestały działać z przerwami, dopóki nie uruchomię się ponownie. dzięki! to załatwiło sprawę!
Elon Zito
2
Nie zrestartował się dla mnie. Dźwięk jest teraz wyłączony / wyłączony.
sequoia mcdowell,
2
Nie zrestartowałem się również dla mnie. Jakieś konkretne polecenie, aby go uruchomić?
ayrad
2
@sequoiamcdowell To powinno działać: apple.stackexchange.com/questions/187983/...
Hannes Karppila,
0

To samo rozwiązanie, ale z różnymi wariantami

sudo kill -9 `ps ax|grep 'coreaudio[a-z]' | awk '{print $1}'`
użytkownik1573604
źródło
4
Nie używaj kill -9tylko ze względu na to. Gołość killjest całkowicie wystarczająca, aby zatrzymać demona w normalnych okolicznościach. Bezkrytyczne użycie -9może prowadzić do sytuacji, w których demon zostanie tak brutalnie wyłączony, że nie będzie można go ponownie uruchomić.
dland
-1

Tutaj odkryłem, że jeśli wybiorę inne urządzenie przed rozłączeniem interfejsu (również Fast Track C400), mogę później podłączyć je ponownie bez problemu. Ale jeśli używam szybkiej ścieżki, a następnie ją odłączę, nie będzie można połączyć się ponownie, dopóki nie uruchomi się ponownie.

Davi Raubach
źródło