我需要帮助收集 s.m.a.r.t.来自外部三星 T5 SSD 2TB 的数据,在 Mac 上

问题描述

  • MacOS Big Sur 11.2.3
  • MacBook Pro 15' 2015 年中
  • 外置盘:Samsung T5 SSD 2TB

使用 smartmontools 和 DriveDX,我可以成功地从迈拓硬盘和 WD Element 硬盘获取数据,所以我认为驱动程序很好,并且重新启动后连接外部驱动器的过程有效。 仍然无法从三星 T5 获取 SMART 数据。

唯一的假设是 T5 有一个不支持 SMART 技术的机箱,但我看到了包含 SMART 报告的磁盘评论

有什么我可以尝试的吗?

解决方法

这可能是一段漫长的旅程,请抓紧时间。

由于此 SMART 读数基于 SATSMART 驱动程序,因此我会说驱动程序到设备部分存在一些问题。

建议您使用 IORegistryExplorer 进行诊断:找到您的 T5 设备并检查设备树中是否存在 fi_dungeon_driver_IOSATDriver。

如果它在那里,我会说不太可能,我有一个坏消息:您需要调试驱动程序并尝试查找,在数据交换期间发生了什么,为什么它无法检索 SMART来自设备的数据。这是一个复杂的过程,有很多地方可以让你在腿上射击。

但是我认为问题开始得更早,驱动程序与T5设备不匹配。

长话短说:匹配是一个过程,当系统决定什么驱动程序适合新设备时。要将 SATSMART 驱动程序与三星 T5 匹配,您需要做的是将其记录以相同的格式添加到驱动程序的 Info.plist 中,例如:

<key>Samsung T5</key>
<dict>
<key>PassThroughMode</key>
<string>YOUR_DEVICE_PASSTHROUGH_MODE</string>
<key>YOUR_DEVICE_PID</key>
<integer>24626</integer>
<key>idVendor</key>
<integer>YOUR_DEVICE_VID</integer>
</dict>

这里的 PID 和 VID 是产品和供应商 ID,有很多方法可以从您的设备中找到它们,包括 IORegistryExplorer。

YOUR_DEVICE_PASSTHROUGH_MODE 比较复杂,似乎没有关于那里使用的 USB 桥接类型的公开信息,所以我建议尝试不同的值,从 sat16 和 jmicron 开始。

更改 Info.plist 后,您将需要构建驱动程序。由于使用了旧宏,会出现很多错误:您可以使用 unmerged pull request 来解决它们。

最后,您应该通过修改获得 kext。 要在您的 macOS 上进行测试,您需要使用驱动程序签名对其进行签名或在您的 Mac 上禁用 SIP。

测试后,如果有效,您可以按原样使用它,或者写一封邮件到 binaryfruit.com 并要求他们将您的发现集成到他们的产品中 :)