Всем привет!
Имеем Gigabyte h81n-d2h мать и Linux (buildroot, да такой изврат) на ней.
Хочется сделать вентиляторы тихими. в UEFI стоит silent (там кстати другого не дано, Full и Silent), но при загрузке ОС чё-то тише не становится.
lm-sensors глясят следующее:
it8620-isa-0a30 Adapter: ISA adapter in0: 300.00 mV (min = +0.00 V, max = +3.06 V) in1: 2.00 V (min = +0.00 V, max = +3.06 V) in2: 2.06 V (min = +0.00 V, max = +3.06 V) in3: 2.00 V (min = +0.00 V, max = +3.06 V) in4: 12.00 mV (min = +0.00 V, max = +3.06 V) in5: 1.75 V (min = +0.00 V, max = +3.06 V) in6: 1.54 V (min = +0.00 V, max = +3.06 V) 3VSB: 3.41 V (min = +0.00 V, max = +6.12 V) Vbat: 2.90 V fan1: 998 RPM (min = 0 RPM) fan2: 1960 RPM (min = 0 RPM) fan3: 0 RPM (min = 0 RPM) fan4: 0 RPM (min = 0 RPM) fan5: 0 RPM (min = 0 RPM) temp1: +42.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor temp2: -128.0°C (low = +127.0°C, high = +127.0°C) sensor = disabled temp3: +28.0°C (low = +127.0°C, high = +127.0°C) sensor = Intel PECI temp4: +46.0°C temp5: +46.0°C temp6: +47.0°C intrusion0: ALARM acpitz-acpi-0 Adapter: ACPI interface temp1: +27.8°C (crit = +105.0°C) temp2: +29.8°C (crit = +105.0°C) coretemp-isa-0000 Adapter: ISA adapter Package id 0: +37.0°C (high = +80.0°C, crit = +100.0°C) Core 0: +35.0°C (high = +80.0°C, crit = +100.0°C) Core 1: +36.0°C (high = +80.0°C, crit = +100.0°C)
При этом есть в /sys/class/hwmon/hwmon2 следующая ситуация:
# cat /sys/class/hwmon/hwmon2/pwm2_enable
2
# cat /sys/class/hwmon/hwmon2/pwm2
70
Я пробовал делать так:
# echo 1 >/sys/class/hwmon/hwmon2/pwm2_enable
# echo 50 >/sys/class/hwmon/hwmon2/pwm2
# cat /sys/class/hwmon/hwmon2/pwm2
50
Но при таком раскладе кулер останавливается совсем. Даже более он останавливается при ЛЮБОМ pwm2 если pwm2_enable поставить 1.
Я уж было отчаялся и вернул pwm2_enable и 2 и обратил внимание, что кулер стал работать тише, и действительно, в lm-sensors скорость FAN2 стала 1700 RPM.
Методом проб и ошибок я выяснил, что значение pwm2 влияет на скорость вентилятора от 41 до 119, в любых других положениях он останавливается совсем.
алгоритм установки скорости следующий:
# echo 1 >/sys/class/hwmon/hwmon2/pwm2_enable
# echo 41 >/sys/class/hwmon/hwmon2/pwm2
# echo 2 >/sys/class/hwmon/hwmon2/pwm2_enable
# cat /sys/class/hwmon/hwmon2/fan2_input
1450
# cat /sys/class/hwmon/hwmon2/pwm2
41
Фиг с ним, что 41 это минимум, ну возможно. Но вот почему оно не реагирует в pwm2_enable = 1 ? Это я что-то не так понимаю или как всегда что-то где-то кривущее..?