我已经建立了一个新的PC和便宜,我没有购买Windows,所以我是第一次尝试Linux与Ubuntu16.04。我知道lm-传感器是访问我想要的信息的标准方法,这实际上就是电压,特别是VCore。我希望能够监测VCore电压,以方便超频(因为我的主板不允许固定电压,我不能监测危险电压的自动VID)。
我安装了以下相关软件包:lm-传感器(v.1:3.4.0-2)、libsensors4 (v.3:4.0-2)、libsensors applet-plugin0(v3.0.0+git5-0.1ubuntu1)。
CPU为i5-6600K,主板为ASRock Z170A-X1/3.1。
我运行了sensors-detect,它找到的唯一传感器是coretemp。这是添加到我的模块,它工作良好的温度。下面是正在运行的传感器的示例输出:
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +47.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +46.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +47.0°C (high = +80.0°C, crit = +100.0°C)
Core 2: +34.0°C (high = +80.0°C, crit = +100.0°C)
Core 3: +45.0°C (high = +80.0°C, crit = +100.0°C)我怀疑需要一个额外的传感器来访问电压,因为大多数指南都显示sensors-detect,导致添加的模块比coretemp多。在我的例子中,发现了一个未知的装置,它怀疑它可能是一个传感器.
Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): y
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor/ITE'... No
Trying family `SMSC'... No
Trying family `VIA/Winbond/Nuvoton/Fintek'... Yes
Found unknown chip with ID 0xd121
(logical device B has address 0x290, could be sensors)
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor/ITE'... No
Trying family `SMSC'... No
Trying family `VIA/Winbond/Nuvoton/Fintek'... No
Trying family `ITE'... No我使用dmesg查看内核环缓冲区中提到的地址0x290,并找到了这一行,这对我来说是很难理解的,但我在这里供您参考。
[ 0.206389] system 00:00: [io 0x0290-0x029f] has been reserved此外,我有其他的应用程序是有限的信息,他们能够显示。例如,id在某种程度上类似于Windows上的CPU-Z (如果您知道的话,建议一些更好的东西),它仅限于基本的CPU id字符串、光刻、套接字类型、支持的特性等。CPU VCore和其他字段没有任何报告。时钟速度,BLCK速度,乘法器,涡轮时钟被报告为股票值,不管我的BIOS超钟设置(不正确,因为我能够监测CPU速度与系统监视器)。像这样的工具可能都依赖于lm传感器,我认为这是我问题的根源,所以这并不奇怪。
我也尝试过使用红酒运行CPU-Z,但结果基本上是一样的:显示基本的CPUID内容,而不是我正在寻找的更详细的传感器内容。这是在初始化过程中发生错误之后:错误代码0x2(2)。
这只是一个没有支撑的主板的情况吗?如果是的话,会否增加支持?有什么方法可以手动添加支持吗?除了红外传感器还有别的选择吗?还有另一种方法,例如,手动接近硬件级别,并通过bash以某种方式访问电压吗?我应该试着重新安装不同的版本/发行版吗?如果是这样的话,我一定会丢失这个安装和它的文件吗?
发布于 2017-07-11 23:48:29
葡萄酒不会让你到达处理器的ring0。可以执行特权指令的地方。
Linux提供了一个内核模块msr.ko,它允许读取/写入英特尔架构软件开发人员手册中描述的特定模型寄存器。在其BIOS和内核开发人员指南中也使用AMD
https://software.intel.com/en-us/articles/intel-sdm
http://developer.amd.com/resources/developer-guides-manuals/
对于6600 K,您可以幸运地在其数据表中找到电压信息。将查询PCI以获得值。
您将在MSR寄存器和CPUID指令的叶子的帮助下编写算法,以获得处理器的Turbo比,并用两个TSC读取来估计BCLK,在一个间隔内采样。
涡轮频率是比率和基准时钟的乘积。
我已经编程了CoreFreq,它将显示频率和空闲状态。可以自由地挖掘源代码中的算法:
https://askubuntu.com/questions/876286
复制相似问题