CodecCommander-v2.7.3.kext

CodecCommander.kext是黑苹果屋搜集到用于防止睡眠唤醒之后的无声,可用于修改CodecCommander驱动可以解决耳机有杂音和睡眠唤醒无法自动切换或无声的问题,

CodecCommander.kext 是开源的音频辅助驱动,用于更新 HDA(高清音频)编解码器上的 EAPD(外部放大器)状态,该编解码器在扬声器或耳机节点上使用给定的放大器。

在 macOS 中,EAPD 会在整个睡眠过程中关闭电源,因此在唤醒计算机后,音频仍无法正常工作。通常,此外部放大器存在于笔记本电脑和 ITX 主板上,最常见于带有 ALC269,ALC665 和类似编解码器的机器上。当机器进入睡眠状态时,即使看起来好像音频在工作,放大器也会断电,并且在唤醒后仍不会从扬声器/耳机发出声音,因为放大器需要发送一个编解码器命令才能通电。

此驱动旨在解决这个问题。

过去依赖自定义 IOAudioFamily,苹果公司的开源文件已更改,其中包含一种在睡眠唤醒后更新 EAPD 状态的方法,但是这种方法的弊端在于需要修改源才能进行。而众所周知,苹果公司倾向于在发布操作系统更新后将源的发布推迟3周至2个月。

无需等待苹果公司发布源,无需搜索节点布局匹配的 kext,也无需为不同的 macOS 版本(如果需要的话,可以使用几代)使用不同的驱动。

安装使用

必须在 Info.plist 中编辑设置。驱动定义了多个默认设置,这些设置的值为:

<key>Default</key>
	<dict>
		<key>Check Infinitely</key>
		<false/>
		<key>Check Interval</key>
		<integer>3000</integer>
		<key>Custom Commands</key>
		<array/>
		<key>Perform Reset</key>
		<true/>
		<key>Perform Reset on External Wake</key>
		<true/>
		<key>Perform Reset on EAPD Fail</key>
		<false/>
		<key>Send Delay</key>
		<integer>300</integer>
		<key>Update Nodes</key>
		<true/>
		<key>Sleep Nodes</key>
		<true/>
	</dict>
  • Check Infinitely 和 Check Interval 目前已无实际作用
  • Perform Reset —从睡眠唤醒后是否执行完整的编解码器重置(在休眠后将编解码器返回冷启动状态)
  • Perform Reset on External Wake —与上面相同,但用于用户过早中断机器进入睡眠状态时
  • Perform Reset on EAPD Fail —如果 EAPD 更新在唤醒后失败,则驱动将执行完整的编解码器重置,以尝试恢复编解码器
  • Send Delay —驱动将命令发送到编解码器之前需要等待的时间(以毫秒为单位),如果发送时间太早(取决于PC计算能力)可能不会响应
  • Update Nodes —编解码器可以报告某些节点的 EAPD 功能,但是 EAPD 可能物理上并不存在。如果希望此功能以更新 EAPD 节点则启用
  • Sleep Nodes —根据 Intel 的 EAPD 处理规范,当机器过渡到睡眠状态时,必须正确地挂起具有 EAPD 功能的节点。即使不遵循也不会有问题,可自行决定。

自定义 Commands & Commander Client

在引导过程中,睡眠时或唤醒时向编解码器发送自定义命令。结构如下:

<key>Custom Commands</key>
	<array>
		<dict>
			<key>Command</key>
			<data>AhcIgw==</data>
			<key>Comment</key>
			<string>0x21 SET_UNSOLICITED_ENABLE 0x83</string>
			<key>On Init</key>
			<true/>
			<key>On Sleep</key>
			<false/>
			<key>On Wake</key>
			<true/>
		</dict>
	</array>

实际命令是在任何 Plist 编辑器中指定的,无论是 Xcode 还是 PlistEdit。可以通过设置各自的标志来选择在冷启动,睡眠和唤醒时执行命令。

自定义配置

同样,创建配置文件的最简单方法是通过适当的 plist 编辑工具。必须定义一个新的配置文件,即 vendorid_deviceid,后跟配置文件名称:

<key>10ec_0269</key>
<string>Realtek ALC269</string>

如果用户的编解码器已经有一个配置文件,但是有不同的变体并且该配置不适用,则可以使用扩展的配置文件定义,例如:

<key>10ec_0269_HDA_1028_04d9</key>
<string>Realtek ALC269</string>

这里需要使用主板的制造商ID。要查这个ID,可以在 IORegistry 中查找或检查 CodecCommander 的日志:

CodecCommander: Version 2.4.0 starting.
CodecCommander: ....CodecVendor Id: 0x10ec0269
CodecCommander: ....Codec Address: 0
CodecCommander: ....Subsystem Id: 0x102804d9
CodecCommander: ....PCI Sub Id: 0x102804d9

然后,要设置配置文件,您需要创建一个字典,并命名为刚刚指定的名称。默认配置文件与自定义配置文件合并,因此要做的就是覆盖不匹配的默认设置。

<key>Realtek ALC269VB</key>
	<dict>
		<key>Custom Commands</key>
			<array>
				<dict>
					<key>Command</key>
					<data>AhcIgw==</data>
					<key>Comment</key>
					<string>0x21 SET_UNSOLICITED_ENABLE 0x83</string>
					<key>On Init</key>
					<true/>
					<key>On Sleep</key>
					<false/>
					<key>On Wake</key>
					<true/>
				</dict>
			</array>
		<key>Send Delay</key>
		<integer>20</integer>
		<key>Sleep Nodes</key>
		<false/>
	</dict>

HDMI 编解码器

默认情况下,HDMI 编解码器已禁用,以防止 CodecCommander 连接到它们上。如果出于某种原因需要修改 HDMI,可随时删除此限制。

			<key>8086</key>
			<string>Disabled HDMI</string>
			<key>10de</key>
			<string>Disabled HDMI</string>
			<key>1002</key>
			<string>Disabled HDMI</string>				

FAQ

从半睡眠状态恢复后音频丢失?

发生这种情况的唯一情况是,当播放音频并突然决定要让机器进入睡眠状态时。如果此时退出进入睡眠状态,系统将丢失音频,直到用户停止剩下的播放并允许编解码器进入空闲状态。

下载地址

此内容仅限VIP查看,请先
客服QQ271638927

原文链接:https://imacos.top/2019/09/16/codeccommander-kext/,转载请注明出处。
0
1. 本站所有资源解压密码均为imacos.top
2. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
3. 如有无法下载的链接,联系:邮箱271638927@qq.com,或直接联系QQ271638927进行反馈,我们将及时进行处理。
4. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:邮箱271638927@qq.com,我们将第一时间配合处理!

评论38

请先
  1. 谢谢分享
    xieixei520 2020-06-28 0
  2. 111
    小菊花 2020-06-27 0
  3. CodecCommander kexts
    lhx327904025 2020-06-17 0
  4. 233
    Yancy 2020-05-29 0
  5. 谢谢
    王大爷 2020-05-20 0
  6. fff
    JiahuiKang 2020-05-20 0
  7. CodecCommander kexts
    akwyu 2020-05-17 0
  8. 谢谢
    Klz 2020-05-11 0
  9. 试试这个
    bsfx 2020-05-02 0
  10. 试试这个显卡驱动
    fjymd 2020-04-17 0
  11. shish
    爱死你110 2020-04-07 0
  12. 谢谢分享!!!!!!
    ahoooong 2020-04-06 0
  13. 感谢分享来着
    林可儿 2020-04-04 0
  14. dadaw
    颜颜颜 2020-04-02 0
  15. 6666
    uc1232 2020-04-01 0
  16. 66666666
    489415616 2020-03-26 0
  17. 66666666666666
    huawen 2020-03-19 0
  18. 试试看 就差显卡了
    jj18023202 2020-03-18 0
  19. 1
    清风晓之 2020-03-17 0
  20. 感谢楼主分享
    yxy18577456 2020-03-12 0
  21. 感谢分享
    泮安宁 2020-03-11 0
  22. 1
    qizhi 2020-03-09 0
  23. 1
    Yang1162516468 2020-03-09 0
  24. 123123
    imaxun 2020-03-08 0
  25. 感谢
    txu1993 2020-03-04 0
  26. 试下
    knightmmm 2020-03-02 0
  27. 666
    kiming 2020-02-29 0
  28. 感谢分享
    764948716 2020-02-26 0
  29. 感谢
    Neely 2020-02-24 0
  30. 黑苹果
    Davidqhr 2020-02-11 0
  31. 感谢分享
    heliu2008as 2020-02-11 0
  32. ganxie感谢分享
    adc123 2020-01-27 0
  33. miaoyuzhen 2020-01-16 0
  34. 这个是不是可以用来安装内置声卡的?
    greenteav 2020-01-08 0
  35. 666666666666
    hhmlyy 2020-01-05 0
  36. 试一下
    gino 2019-12-30 0
  37. 找到了
    HeiHa 2019-12-28 0
  38. ganxie感谢分享
    15933100985 2019-12-24 0
终身会员限时上线 ☞ 限时永久会员折扣活动开始啦 > 查看优惠
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码