无需重新启动即可“重新加载”mac 音频驱动程序

Rya*_*anM 95 audio mac drivers macos

我有一个外部音频接口(M-audio fast track c400)。为了让我的 macbook 识别它(在音频/midi 设置中显示),我必须重新启动,这很麻烦。我有其他的 m-audio 接口在连接时自动检测到,我很确定这个应该是一样的。互联网上的大多数帖子都建议更新设备的操作系统或软件/固件。我已经完成了所有这些,但没有运气。我目前运行的是 OS X 10.8.5。

有没有办法强制 OS X 重新加载设备?最好是一些命令行巫毒,我可以在需要时快速启动,或者用一个漂亮的小 shell 脚本包装。

编辑:进展..

现在问题似乎已解决...我不确定以下如何解决问题。如果你知道,请评论!

受到@sbugert 回答的启发,我开始研究其他系统守护进程,如果重新启动,它们可能会起作用。作为在黑暗中的一枪我杀了coreservicesd。这导致操作系统变得明显不稳定,我最终被自动注销。令我惊讶的是,当我重新登录时,我的音频接口被识别出来了。

基于此,我假设杀死coreservicesd和注销/登录可能是一种可能的(丑陋的)解决方法。于是我把接口拔掉再插回去,果然不出所料。于是我杀了coreservicesd,尝试注销,但是由于杀了coreservicesd导致系统不稳定,无法让系统注销。我最终被迫“硬”关机(即按住电源按钮直到它关闭)。再次启动 macbook 后,现在每次插入时都会自动识别该界面。我怀疑这个“硬”重置可能已经解决了问题,而没有使用 coreservices 守护程序的所有恶作剧,但我无法测试.

如果有人可以阐明这一点,请做!

编辑:它再次停止工作,所以我不知道发生了什么。

Ali*_*Ali 118

编辑:很可能只适用于 10.13 之前的 osx

这就是你需要的

sudo kextunload /System/Library/Extensions/AppleHDA.kext
sudo kextload /System/Library/Extensions/AppleHDA.kext
Run Code Online (Sandbox Code Playgroud)

但是如果你也想杀死你的 coreaudio,

 ps aux | grep 'coreaudio[d]' | awk '{print $2}' | xargs sudo kill
Run Code Online (Sandbox Code Playgroud)

谨慎使用。
grep目标是这样写的具体排除grepping的grep过程本身中ps出。

  • (内核)无法卸载kext com.apple.driver.AppleHDA;类有实例:(内核)Kext com.apple.driver.AppleHDA 类 AppleHDATDMBusManager 有 1 个实例。(内核)Kext com.apple.driver.AppleHDA 类 AppleHDATDMBusManagerCS4208 有 2 个实例。无法卸载 com.apple.driver.AppleHDA - (libkern/kext) kext 正在使用或保留(无法卸载)。 (11认同)
  • 驱动程序加载/卸载是唯一能让 Mac 检测到我的耳机的方法。谢谢你! (7认同)
  • 我收到与@Sergei 相同的错误消息。这样做之后,我的声音完全被禁用了。图标变灰,功能键不起作用。我必须重新启动才能恢复一切。 (3认同)

小智 90

尝试在终端中输入:

须藤 killall coreaudiod

这将终止 coreaudio 进程并重新启动它。

  • 这解决了我没有音效的问题。 (2认同)
  • 哇,我的问题是内部扬声器会间歇性地停止工作,直到我重新启动。谢谢!这成功了! (2认同)
  • 没有为我重新启动。声音现在刚刚关闭/禁用。 (2认同)
  • 也没有为我重新启动。任何特定的命令来启动它? (2认同)
  • @sequoiamcdowell 这应该有效:http://apple.stackexchange.com/questions/187983/sudo-killall-coreaudiod-made-it-so-i-dont-have-any-volume-at-all (2认同)

小智 19

重新启动 coreaudiod 的“正确”方法是:sudo launchctl kickstart -kp system/com.apple.audio.coreaudiod

  • 还有大苏尔 (2认同)