Ryzen / Threadripper温度传感器:哪些传感器与哪些内核模块有关,以及如何启用它们

石器

我可以在Linux下的ASRock x399 Taichi主板上的AMD Threadripper 1950x上监视哪些传感器。去年宣布,温度监控功能适用于Ryzen处理器,据称该功能已包含在4.15内核中,据此:https ://www.phoronix.com/scan.php?page=news_item&px=AMD-Zen-Temps -Hwmon-Next但是,似乎温度是偏移的,根据以下内容在内核4.18.6中已修复此问题:https ://www.phoronix.com/scan.php?page = news_item&px = Linux-4.18.6-k10temp-Correct

据我所知,在Windows下绝对没有关于Windows下的每核温度监控的话题。

但是,其他消息来源则建议我可能需要专门基于主板来构建模块。这些说明似乎建议我可以基于sensor-detect的输出构建适当的内核驱动程序:https : //linuxconfig.org/monitor-amd-ryzen-temperatures-in-linux-with-latest-kernel-modules

根据传感器检测的编码,我有nct6775,但找不到任何迹象表明我具有适当的内核模块(lsmod未显示,还有其他地方我应该看吗?)。不幸的是,我无法从存储库中进行构建,因为它不再位于github上。

所以这是我的问题:

  1. 哪些驱动程序和内核模块提供哪些信息?具体来说,哪些提供了Windows下可用的每核读数?

  2. linux下Ryzen的温度驱动程序的状态是什么:完整,不完整,被一起黑客入侵且永远不会可靠?

  3. 如果我可以制造nct6775,那么除了已经拥有的K10之外,还能给我带来什么?我还可以从哪里获得构建它们的资源?

  4. 为什么这么差的记录?课程发布后一年半没有关于此的明确信息,按照行业标准,AMD是否会毫无帮助吗?

Sourcejedi

[OP删除的答案:]我仍然想知道:现在使nct6775真正可用的是什么?

在以下链接中,有很多尝试回答一般性问题的尝试。不幸的是,它们都不是全面的,因此我将尝试对其进行改进。Linux:如何查找用于设备的设备驱动程序?

在您的情况下,可以将传感器设备找到为中所示的链接之一ls -l /sys/class/hwmon/*您可以尝试扩展该命令,并立即找到您的内核模块:

ls -l /sys/class/hwmon/*/device/driver/module

但是,此命令进行一些假设。并非在所有情况下都有效。如果该命令不起作用,请通过检查链中的每个单独的链接来缩小范围。有三种可能的情况。

  1. 您有一个driver链接,但没有module链接。

    这意味着驱动程序已内置在内核中!哪种会回答您的问题:-)。

    同样有可能ls -ldriver链接上。即要查看驱动程序的名称,请更改以上命令以删除该/module部件。通常,驱动程序名称与可加载模块的名称相同,但是有时它们是不同的。

  2. driver链接不立刻device,但...

    如果以上命令不起作用,则可能需要替换devicedevice/device,以此类推。

    device链接将您带到父设备。但是有时,驱动程序代替了祖父母设备,甚至更远的是:-)。

  3. 没有任何父级device具有driver链接,或者根本没有父级device链接。

    device链接将您带到父设备。例如,您可能有网络设备/sys/class/wlan0,并且/sys/class/wlan0/device可能指向提供的PCI卡wlan0

    在您的情况下,我可以想象它在标准pci总线上没有像设备这样的东西在这种情况下,驱动程序应该在中定义自己的自定义设备/sys/devices/platform/这正是coretemp我的Intel CPU驱动程序所做的。

    但是,如果您的驱动程序错了,它将创建一个没有父设备的设备,因此也就没有device链接。传感器(hwmon设备)是较模糊的子设备之一;我已经看过几次这种情况了。展望ls /sys/devices/virtual/*,我似乎有一个得到这个错误的三个设备,和所有的人都hwmon设备。

    如果没有“身体的” /父母的device,那么就不会有driver对于真正的虚拟设备(如回送(lo)或bridge网络设备,这是预期的行为它反映了Linux内核的设备模型。在物理设备上,您可以删除与其绑定的驱动程序,并可能绑定其他驱动程序。没有物理设备来支持它是没有意义的。不幸的是,因为没有这样的等效方法来找到实现虚拟设备的模块。


内容:

  1. 在/ sys中查找示例结果
  2. 我找到了模块名称,现在...

1.在/ sys中查找示例结果

$ cd /sys/class/hwmon/
$ ls -l *
total 0
lrwxrwxrwx. 1 root root 0 Dec  2 17:50 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
lrwxrwxrwx. 1 root root 0 Dec  2 17:50 hwmon1 -> ../../devices/virtual/hwmon/hwmon1
lrwxrwxrwx. 1 root root 0 Dec  2 17:50 hwmon2 -> ../../devices/virtual/thermal/thermal_zone8/hwmon2
lrwxrwxrwx. 1 root root 0 Dec  2 17:50 hwmon3 -> ../../devices/platform/coretemp.0/hwmon/hwmon3

$ ls -l hwmon3/device/driver/module
lrwxrwxrwx. 1 root root 0 Dec  2 18:32 /sys/class/hwmon/hwmon3/device/driver/module -> ../../../../module/coretemp

但是其他结果看起来并不那么有用:-)。什么virtual/thermal/thermal_zone0/hwmon0

hwmon设备(和某些其他类型)也有一个name例如,iwlwifi传感器确实由我的Intel Wi-Fi卡提供。但是该驱动程序存在故障,因此将其声明为虚拟设备。

$ head */name
==> hwmon0/name <==
acpitz

==> hwmon1/name <==
dell_smm

==> hwmon2/name <==
iwlwifi

==> hwmon3/name <==
coretemp

这是另一台设备,驱动程序位于“祖父母”上:

$ ls -l */device/device/driver
lrwxrwxrwx. 1 root root 0 Dec  2 18:33 /sys/class/hwmon/hwmon0/device/device/driver -> ../../../../bus/acpi/drivers/thermal

该驱动程序也没有模块,因为该模块是内核内置的。如果可以在内核构建配置中找到相应的选项,则可以确认这一点。但是,此名称不必与模块相同。

$ ls -l */device/device/driver/module
ls: cannot access '*/device/device/driver/module': No such file or directory

$ grep CORETEMP= /boot/config-$(uname -r)
CONFIG_SENSORS_CORETEMP=m
$ grep ACPI_THERMAL= /boot/config-$(uname -r)
CONFIG_ACPI_THERMAL=y

2.我找到了模块名称,现在...

您说您不确定100%所做的事情。如果找到了模块名称,但是您担心,因为您不记得是否从未知的网站安装了模块名称,因此可以查看以下内容。

您可以重新加载模块并检查从中重新加载模块的路径:

$ modprobe --remove coretemp

$ modprobe -v coretemp
insmod /lib/modules/4.19.4-200.fc28.x86_64/kernel/drivers/hwmon/coretemp.ko.xz

然后,您可以查询程序包管理器,以确认模块文件来自分发内核程序包。例如,RPM:

$ rpm -q --whatprovides /lib/modules/4.19.4-200.fc28.x86_64/kernel/drivers/hwmon/coretemp.ko.xz
kernel-core-4.19.4-200.fc28.x86_64

$ rpm -q --whatprovides /boot/vmlinuz-$(uname -r)
kernel-core-4.19.4-200.fc28.x86_64

程序包管理器还应允许您验证安装的程序包文件没有被修改。

确认软件包的来源不是那么简单::)。通常,您查看软件包名称并猜测:-)。您可以使用来获得可用软件包以及它们来自何处的列表dnf info kernel,但我认为dnf无法显示已安装的RPM文件或可用RPM的校验和。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ryzen 2600上的温度峰值-传感器发生故障?

来自分类Dev

如何加载 it87,让 lm 传感器与 AMD Ryzen 配合使用?

来自分类Dev

如何为 18.04 安装 it87 内核模块(ryzen 2xxx 支持)

来自分类Dev

“传感器”命令是否显示 CPU 内核的准确温度?

来自分类Dev

AMD ryzen 1920X的温度低(不正确?)

来自分类Dev

CPU(Ryzen9)上的安全持续工作温度

来自分类Dev

传感器:如何以华氏温度显示温度?

来自分类Dev

zigbee模块与湿度/温度传感器对话

来自分类Dev

找到合适的Android传感器并使用它们

来自分类Dev

哪些设备支持Android传感器批处理?

来自分类Dev

如何在AMD Ryzen(Android Studio)上使用Android Emulator?

来自分类Dev

CPU温度传感器错误?

来自分类Dev

温度传感器坏了吗?

来自分类Dev

Ubuntu无法读取温度传感器?

来自分类Dev

有硬件温度传感器指示灯吗?

来自分类Dev

具有hddtemp的SSD温度传感器读数

来自分类Dev

具有hddtemp的SSD温度传感器读数

来自分类Dev

如何使lm传感器返回CPU温度(it87)?

来自分类Dev

如何解码蓝牙温度传感器

来自分类Dev

如何使用传感器跟踪温度变化?

来自分类Dev

如何使脉搏传感器防水?或者有防水的脉搏传感器吗?

来自分类Dev

重新启用突然运动传感器

来自分类Dev

DS18B20 +数字温度传感器:如何处理传感器输出中的数据?

来自分类Dev

如何修复ryzen处理器的驱动程序错误(代码32)?

来自分类Dev

带有arduino的流量传感器

来自分类Dev

Android如何设置传感器延迟?

来自分类Dev

如何使用光敏传感器?

来自分类Dev

如何注销多个传感器的android

来自分类Dev

如何顺序获取传感器数据?

Related 相关文章

热门标签

归档