NVMeFix.kext是星辰云资源搜集到的Apple NVMe存储驱动程序IONVMeFamily的一组修补程序。其目标是改善与非Apple SSD的兼容性。它可以在Mac和黑苹果计算机上使用。该Kext实现了以下功能:

  • 自主电源状态转换以减少控制器的空闲功耗。
  • 主机驱动器功率状态管理。

如果有足够的信息提交给Bugtracker,则可以解决与第三方SSD的其他不兼容问题。但是,某些问题不能仅通过内核端驱动程序来解决。例如,MacBookPro 11,1 EFI包含旧版本的NVMHCI DXE驱动程序,当从启用完整磁盘加密的休眠状态恢复时,该驱动程序会挂起。

安装

  • NVMeFix.kext 需要至少 Lilu 1.4.1 版和 macOS 10.14 及以上版本;
  • 可能可以与低于 10.14 的 macOS 兼容,但未经过测试;
  • 可以安装到 System/Library/Extensions(简称S/L/E目录),也可以由 Clover/OpenCore EFI Bootloader 注入。
    • 强烈建议如非必要不要修改 S/L/E 目录,把 kext 放到 Clover / OpenCore 引导目录进行注入加载。

功能配置

  • -nvmefdbg 开启debug日志(仅debug版本)
  • -nvmeoff 关闭该驱动程序
  • 开启APST时,某些SSD行为异常。NVMeFix尝试检测损坏的主板和SSD组合并加以解决。通过 Clover 注入的 IORegistry 键或 OpenCore 提供的 NVRAM 变量检测主板。
  • APST 表条目指定发生过渡的最小空闲等待时间。最大可接受延迟为 100000 微秒,可以通过父 PCI 设备的低端 8 位字节属性 ps-max-latency-us 来覆盖(例如:IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP06@1C,5/IOPP/SSD0@0)。
  • 如果设置为0,则将完全禁用APST。

问题诊断信息说明

  • release 版本日志仅显示高级错误信息;
  • debug 版会另外记录使用的电源状态,详细的错误消息,并尝试从控制器获取APST状态和表;
  • APST启用状态将posted到 IONVMeController IORegistry 条目 apst 键值;
  • 如果主动电源管理初始化成功,将使用IOPowerManagement dictionary 在 IOPower IORegistry plane中创建一个 NVMePMProxy 条目;
  • 使用smartmontools可以获得关于控制器支持的功率状态的信息。例如,在以下输出中,控制器报告5个状态,其中前三个高功率状态将由NVMeFix用于主动电源管理,后两个状态可用于APST,具体取决于ps-max-latency-us。
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 9.00W 0 0 0 0 0 0
1 + 4.60W 1 1 1 1 0 0
2 + 3.80W 2 2 2 2 0 0
3 0.0450W 3 3 3 3 2000 2000
4 0.0040W 4 4 4 4 6000 8000

IONVMeFamily支持以下调试标志位字段,这些位通过 nvme boot-arg 或 debug.NVMe sysctl 传递:

  • 通过kprintf记录一些事件
  • 通过kernel_debug使用0x61500xx debugid进行详细的事件跟踪
  • 通过kernel_debug和0x61540xx debugid进行的PRP相关事件跟踪
  • 强制禁用Apple控制器的LPSR
  • 仅执行NVMe控制器的PCI初始化
  • 忽略初始化错误
  • 为Apple控制器禁用LPSR
  • 禁用IONVMeBlockStorageDevice的取消映射功能

IONVMeFamily支持以下其他引导参数:

  • nand-io-timeoutms:NVMe请求的超时时间(毫秒),默认为35秒
  • enable-IO-log:发出 CORE_DEBUG_ENABLE_IOLOG ASP命令(对于Apple控制器)

更新日志 · 历史版本

“NVMeFix.kext.v1.1.0-20220706”
展开/收缩

  • 添加了macOS Ventura 13的支持
“下载地址包含以下历史版本”
展开/收缩

  • NVMeFix.kext v1.0.9
  • NVMeFix.kext v1.0.8
  • NVMeFix.kext v1.0.7
  • NVMeFix.kext v1.0.6
  • NVMeFix.kext v1.0.5
  • NVMeFix.kext v1.0.4
  • NVMeFix.kext v1.0.3
  • NVMeFix.kext v1.0.2
  • NVMeFix.kext v1.0.1
  • NVMeFix.kext v1.0.0

下载地址

【解压密码:imacos.top】

隐藏内容
本内容需权限查看
  • 普通: 9.9星币
  • 会员: 免费
  • 终身会员: 免费

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。