web-dev-qa-db-ja.com

lm_sensorsを使用して570マザーボードのCPU電圧を測定する方法は?

CPUのVcore電圧を測定しようとしていますが、失敗しています。私のCPUは ASRock 570M Pro マザーボードのRyzen 3700Xで、Arch Linux(完全に更新)を使用しています。

lm_sensorsパッケージをダウンロードし、sensors-detectを実行してすべてのスキャンを受け入れてから、watch sensorsを実行しました。 CPUがアイドル状態で端末のみが稼働しているときの出力を以下に示します。

負荷がかかっている場合、変化する電圧値はin0のみで、最大約720 mVに達します(1つのコアで100%)。オンラインのガイドの中には、in0が通常Vcoreであると示唆しているものもありますが、ここではこれを実現するには低すぎます。 3700Xの通常の動作電圧は 。2 V〜1.5 V であり、単一コアが最大負荷でブーストしているときに後者に到達します。 (私のテストでは、温度とファン速度は正しいように見えます。)

Vcoreを正しく読み取るにはどうすればよいですか?ありがとうございました。

amdgpu-pci-0800
Adapter: PCI adapter
vddgfx:        1.11 V  
fan1:        1471 RPM  (min =    0 RPM, max = 4100 RPM)
Edge:         +27.0°C  (crit = +91.0°C, hyst = -273.1°C)
power1:       47.25 W  (cap = 180.00 W)

k10temp-pci-00c3
Adapter: PCI adapter
Tdie:         +29.8°C  (high = +70.0°C)
Tctl:         +29.8°C  

nct6798-isa-0290
Adapter: ISA adapter
in0:                    96.00 mV (min =  +0.00 V, max =  +1.74 V)
in1:                     1.66 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in2:                     3.46 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in3:                     3.33 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:                     1.83 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                     1.10 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:                     1.20 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in7:                     3.46 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in8:                     3.28 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in9:                     1.66 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in10:                    1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in11:                  624.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in12:                    1.04 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in13:                  928.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in14:                  904.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                   895 RPM  (min =    0 RPM)
fan2:                  1023 RPM  (min =    0 RPM)
fan3:                   752 RPM  (min =    0 RPM)
fan4:                   629 RPM  (min =    0 RPM)
fan5:                     0 RPM  (min =    0 RPM)
fan6:                  3161 RPM  (min =    0 RPM)
fan7:                     0 RPM  (min =    0 RPM)
SYSTIN:                 +30.0°C  (high = +105.0°C, hyst = +95.0°C)  sensor = thermistor
CPUTIN:                 +26.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
AUXTIN0:                +15.0°C    sensor = thermistor
AUXTIN1:                -61.0°C    sensor = thermistor
AUXTIN2:                +13.0°C    sensor = thermistor
AUXTIN3:                +31.0°C    sensor = thermistor
SMBUSMASTER 1:          +51.0°C  (high = +105.0°C, hyst = +95.0°C)
SMBUSMASTER 0:          +29.5°C  
PCH_CHIP_CPU_MAX_TEMP:   +0.0°C  
PCH_CHIP_TEMP:           +0.0°C  
intrusion0:            ALARM
intrusion1:            ALARM
beep_enable:           disabled
1
alligator

現在、センサーチップcompute in0に適用される/etc/sensors.conf/etc/sensors3.conf、または/etc/sensors.d/*.confnct6798-isa-0290ステートメントがありますか?持っている場合は、それらをコメントアウトして、rootとしてsensors --setを実行します。

次に、値をもう一度見てください。

私の古いメモ(おそらくインターネットのどこで誰が知っているかを見つけたデータシートから書き留めたもの)によると、NuvotonNC6798Dの電圧入力の範囲は0 .. 2.048 Vで、8ビットの精度であり、入力の数は範囲を拡張するための内蔵2xディバイダー。範囲ダブラーを使用したこれらの入力は、in2in3in7in8、およびin9であり、場合によってはin0でもあります。これは、各電圧レジスタの最下位ビットが、入力に分圧器があるかどうかに応じて、8または16mVのいずれかの変化を意味することを意味します。

内蔵の分周器を備えた電圧センサーはチップに不可欠であり、デフォルトの指定があります。

  • in2 = AVSB
  • in3 = 3Vcc(通常の3.3Vレール)
  • in7 = 3Vsb(スタンバイ3.3V入力)
  • in8 = Vbat(CMOSバッテリー電圧)
  • in9 = Vtt(プロセッサメモリコントローラの電圧?)

何かがin0値に追加の2x分周器を適用しているように見えます。もしそうなら、次のようなものを追加します

chip "nct6798-isa-0290"    # add this if it does not already exist
    compute in0 @*2, @/2   # then add this line _after_ the previous one

lm-sensors構成に修正する必要があります。

1
telcoM