2个版本

0.1.1 2024年6月25日
0.1.0 2024年6月25日

#628硬件支持

MIT/Apache

31KB
589

OCSD

此crate提供工具,用于从主机操作系统报告和监控OCSD传感器值。

感谢ilo4_unlock,它使得这项逆向工程工作成为可能。

免责声明

OCSD的协议文档尚未公开。所有这些都已从单个ML350 Gen9逆向工程。它尚未在其他任何硬件上进行测试!我不能保证它完全符合OCSD协议,您的服务器上的结果可能会有所不同。

什么是OCSD?

从Gen8开始,一些HPE服务器配备了名为“Option Card Sensor Data (OCSD)”的功能,也称为“传感器之海”。OCSD允许将温度数据从选项卡(例如RAID控制器子板、PCIe扩展卡)发送到iLO/BIOS进行风扇控制和监控。

好吧,很酷,那么我们为什么需要这个crate呢?

通常,受支持的选项卡将通过OCSD直接报告温度,而不需要主机操作系统的参与,服务器将通过相应地控制风扇来响应。

在不支持选项卡的情况下,服务器可能会执行以下操作之一

  • 假设该卡运行得非常热,并始终以令人耳聋的水平旋转风扇
  • 完全忽略卡的存在。对于被动冷却的卡(例如不受支持的服务器GPU),这会导致在高负载下由于风扇速度不足而热降频。

理想情况下,当我们安装不受支持的选项卡时,我们会修改其固件,使其直接将温度报告到OCSD缓冲区。不幸的是,这会非常困难。

作为替代方案,此crate允许主机操作系统使用现有驱动程序提供的报告温度,并将它们转发到OCSD缓冲区,以便iLO控制器可以用于报告和风扇控制。它还允许直接从OCSD缓冲区读取受支持设备的报告温度,尽管可能还有更好的获取数据的方法。

依赖关系

~0.6–1MB
~23K SLoC