Atom 330システムとlm-sensors


いつの頃からか、正直覚えていないのですが、このサーバ、lm-sensorsを利用する際にちゃんとシステム情報を取得できないでいるようでした。おかげでCPU温度の情報とかがろくすっぽ取得できないとか、ファン制御ができなかったり、という気分で鬱になっていたのでした。ということで少し調査をして、復活させてみたのでした。

少し調べてみると、sensors-detectを使ったときに得られている情報が以前よりも少ない感じだったのです。情報をあさってみたところ、カーネルパラメータにおけるACPI上のリソースの取り扱いに関するものが出てきました。以下の引用は、カーネル付属のドキュメント(Documents/kernel-parameters.txt)からです。

acpi_enforce_resources= [ACPI]
        { strict | lax | no }
        Check for resource conflicts between native drivers
        and ACPI OperationRegions (SystemIO and SystemMemory
        only). IO ports and memory declared in ACPI might be
        used by the ACPI subsystem in arbitrary AML code and
        can interfere with legacy drivers.
        strict (default): access to resources claimed by ACPI
        is denied; legacy drivers trying to access reserved
        resources will fail to bind to device using them.
        lax: access to resources claimed by ACPI is allowed;
        legacy drivers trying to access reserved resources
        will bind successfully but a warning message is logged.
        no: ACPI OperationRegions are not marked as reserved,
        no further checks are performed.

どうやらACPIによって提示されるメモリなどのリソースの扱いに関して厳密にしたりいい加減にしたりすることができるようです。ということで「いい加減」となる”lax”オプションを追加する形で実験してみることにしました。

するとどうでしょう、無事に機能するようになりました(sensors-detectも機能してます)。

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +34.0°C  (crit = +90.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +39.0°C  (crit = +90.0°C)

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +34.0°C  (crit = +90.0°C)

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +38.0°C  (crit = +90.0°C)

smsc47m1-isa-0680
Adapter: ISA adapter
fan1:       2318 RPM  (min = 1280 RPM, div = 4)
fan2:       5120 RPM  (min = 1280 RPM, div = 4)

smsc47m192-i2c-0-2d
Adapter: SMBus I801 adapter at 2000
in0:         +2.54 V  (min =  +0.00 V, max =  +3.32 V)
Vcore:       +1.15 V  (min =  +0.00 V, max =  +2.99 V)
+3.3V:       +3.28 V  (min =  +2.97 V, max =  +3.63 V)
+5V:         +4.97 V  (min =  +4.50 V, max =  +5.50 V)
+12V:       +12.31 V  (min = +10.81 V, max = +13.19 V)
VCC:         +3.28 V  (min =  +2.97 V, max =  +3.63 V)
in6:         +1.58 V  (min =  +0.00 V, max =  +1.99 V)
in7:         +1.77 V  (min =  +0.00 V, max =  +2.39 V)
SIO Temp:    +40.0°C  (low  = -127.0°C, high = +127.0°C)
temp2:       +56.0°C  (low  = +53.0°C, high = +60.0°C)
temp3:       +47.0°C  (low  = -127.0°C, high = +127.0°C)
cpu0_vid:   +2.050 V

ということで勝利の鍵はこのスイッチでした。fancontrolの制御も復活したみたいなので、明日の朝にでも調整してみましょう。

Linuxデバイスドライバプログラミング
Linuxデバイスドライバプログラミング 平田 豊

ソフトバンククリエイティブ 2008-06-28
売り上げランキング : 98898

おすすめ平均 star
starかつてないデバイスドライバの聖書
starとてもわかりやすい
starおおよそ分かりやすいが、一部不親切なところも

Amazonで詳しく見る
by G-Tools

One Response

Leave a Reply