From 123e150814f5e71426610e8d7106d30163292cf3 Mon Sep 17 00:00:00 2001 From: Pavel Belyaev Date: Sat, 8 Mar 2025 17:10:10 +0500 Subject: [PATCH] tst --- README.md | 224 +++++++++++++++++++++++++++--------------------------- 1 file changed, 112 insertions(+), 112 deletions(-) diff --git a/README.md b/README.md index 0e09564..6986167 100644 --- a/README.md +++ b/README.md @@ -1,112 +1,112 @@ -# fanControlLinux - -Скрипт, регулирующий скорость вращения вентиляторов на основе температуры процессора и жестких дисков. - -Оценивает температуру 4х дисков, определяет самый горячий. - -Работает на основе линейной функции, например при температуре 40 градусов нужны обороты 40%, а при температуре 45 градусов уже 65%, -как понять какие обороты поставить в промежуточной точке 43 градуса? - -Нужно по двум координатам графика просчитать коэффициенты **Y=(kx+b)** (**K** и **B**), Y в данном случае обороты, а X - температура, -т.е., зная коэффициенты графика можно подставить любой X и посчитать Y. - -Но график меняет своё ускорение, на малых температурах можно понизить обороты, но вот если слишком жарко на улице и нагрузка на систему большая, -то температура может приближаться к критичной и в этом случае нужно сильнее прибавлять с каждым градусом. - -## Terramaster F4-423 - датчики - -``` -modprobe coretemp -modprobe drivetemp -modprobe it87 force_id=0x8620 -``` -Для вашего конкретного устройства добивайтесь, чтобы команда `sensors` выводила все датчики, пример, -когда детектятся все жесткие диски, процессор и обороты вентилятора. - -``` -drivetemp-scsi-3-0 -Adapter: SCSI adapter -temp1: +38.0°C (low = +0.0°C, high = +60.0°C) - (crit low = -40.0°C, crit = +70.0°C) - (lowest = +25.0°C, highest = +41.0°C) - -drivetemp-scsi-1-0 -Adapter: SCSI adapter -temp1: +41.0°C (low = +0.0°C, high = +60.0°C) - (crit low = -40.0°C, crit = +70.0°C) - (lowest = +26.0°C, highest = +43.0°C) - -coretemp-isa-0000 -Adapter: ISA adapter -Package id 0: +43.0°C (high = +105.0°C, crit = +105.0°C) -Core 0: +38.0°C (high = +105.0°C, crit = +105.0°C) -Core 1: +38.0°C (high = +105.0°C, crit = +105.0°C) -Core 2: +38.0°C (high = +105.0°C, crit = +105.0°C) -Core 3: +38.0°C (high = +105.0°C, crit = +105.0°C) - -acpitz-acpi-0 -Adapter: ACPI interface -temp1: +27.8°C - -it8620-isa-0a30 -Adapter: ISA adapter -in0: 1.88 V (min = +0.00 V, max = +3.06 V) -in1: 1.37 V (min = +0.00 V, max = +3.06 V) -in2: 2.23 V (min = +0.00 V, max = +3.06 V) -+5V: 5.59 V (min = +0.00 V, max = +6.12 V) -in4: 2.27 V (min = +0.00 V, max = +3.06 V) -in5: 2.21 V (min = +0.00 V, max = +3.06 V) -in6: 1.34 V (min = +0.00 V, max = +3.06 V) -3VSB: 5.06 V (min = +0.00 V, max = +6.12 V) -Vbat: 3.36 V -fan2: 0 RPM (min = 0 RPM) -fan3: 1875 RPM (min = 0 RPM) -fan4: 0 RPM (min = 0 RPM) -fan5: 0 RPM (min = 0 RPM) -temp1: +34.0°C (low = -128.0°C, high = +127.0°C) sensor = thermal diode -temp2: +35.0°C (low = -128.0°C, high = +127.0°C) sensor = thermal diode -temp3: +40.0°C (low = -128.0°C, high = +127.0°C) -temp4: +40.0°C -temp5: +40.0°C -temp6: +40.0°C -intrusion0: ALARM - -drivetemp-scsi-2-0 -Adapter: SCSI adapter -temp1: +41.0°C (low = +0.0°C, high = +60.0°C) - (crit low = -40.0°C, crit = +70.0°C) - (lowest = +26.0°C, highest = +43.0°C) - -drivetemp-scsi-0-0 -Adapter: SCSI adapter -temp1: +39.0°C (low = +0.0°C, high = +60.0°C) - (crit low = -40.0°C, crit = +70.0°C) - (lowest = +26.0°C, highest = +42.0°C) - -nvme-pci-0300 -Adapter: PCI adapter -Composite: +37.9°C (low = -273.1°C, high = +81.8°C) - (crit = +84.8°C) -Sensor 1: +37.9°C (low = -273.1°C, high = +65261.8°C) -Sensor 2: +34.9°C (low = -273.1°C, high = +65261.8°C) -``` -## Определение датчиков в sys/class/hwmon - -``` -for f in $(ls -1 /sys/class/hwmon/); do echo $f" - "$(cat /sys/class/hwmon/${f}/name); done -``` -Данная команда выведет следующее - -``` -hwmon0 - acpitz -hwmon1 - nvme -hwmon2 - coretemp -hwmon3 - drivetemp -hwmon4 - drivetemp -hwmon5 - drivetemp -hwmon6 - drivetemp -hwmon7 - it8620 -``` -* **hwmon2** - температура процессора -* **hwmon7** - датчики чипсета, там и вентиляторы - +# fanControlLinux + +Скрипт, регулирующий скорость вращения вентиляторов на основе температуры процессора и жестких дисков. + +Оценивает температуру 4х дисков, определяет самый горячий. + +Работает на основе линейной функции, например при температуре 40 градусов нужны обороты 40%, а при температуре 45 градусов уже 65%, +как понять какие обороты поставить в промежуточной точке 43 градуса? + +Нужно по двум координатам графика просчитать коэффициенты **Y=(kx+b)** (**K** и **B**), Y в данном случае обороты, а X - температура, +т.е., зная коэффициенты графика можно подставить любой X и посчитать Y. + +Но график меняет своё ускорение, на малых температурах можно понизить обороты, но вот если слишком жарко на улице и нагрузка на систему большая, +то температура может приближаться к критичной и в этом случае нужно сильнее прибавлять с каждым градусом. + +## Terramaster F4-423 - датчики + +``` +modprobe coretemp +modprobe drivetemp +modprobe it87 force_id=0x8620 +``` +Для вашего конкретного устройства добивайтесь, чтобы команда `sensors` выводила все датчики, пример, +когда детектятся все жесткие диски, процессор и обороты вентилятора. + +``` +drivetemp-scsi-3-0 +Adapter: SCSI adapter +temp1: +38.0°C (low = +0.0°C, high = +60.0°C) + (crit low = -40.0°C, crit = +70.0°C) + (lowest = +25.0°C, highest = +41.0°C) + +drivetemp-scsi-1-0 +Adapter: SCSI adapter +temp1: +41.0°C (low = +0.0°C, high = +60.0°C) + (crit low = -40.0°C, crit = +70.0°C) + (lowest = +26.0°C, highest = +43.0°C) + +coretemp-isa-0000 +Adapter: ISA adapter +Package id 0: +43.0°C (high = +105.0°C, crit = +105.0°C) +Core 0: +38.0°C (high = +105.0°C, crit = +105.0°C) +Core 1: +38.0°C (high = +105.0°C, crit = +105.0°C) +Core 2: +38.0°C (high = +105.0°C, crit = +105.0°C) +Core 3: +38.0°C (high = +105.0°C, crit = +105.0°C) + +acpitz-acpi-0 +Adapter: ACPI interface +temp1: +27.7°C + +it8620-isa-0a30 +Adapter: ISA adapter +in0: 1.88 V (min = +0.00 V, max = +3.06 V) +in1: 1.37 V (min = +0.00 V, max = +3.06 V) +in2: 2.23 V (min = +0.00 V, max = +3.06 V) ++5V: 5.59 V (min = +0.00 V, max = +6.12 V) +in4: 2.27 V (min = +0.00 V, max = +3.06 V) +in5: 2.21 V (min = +0.00 V, max = +3.06 V) +in6: 1.34 V (min = +0.00 V, max = +3.06 V) +3VSB: 5.06 V (min = +0.00 V, max = +6.12 V) +Vbat: 3.36 V +fan2: 0 RPM (min = 0 RPM) +fan3: 1875 RPM (min = 0 RPM) +fan4: 0 RPM (min = 0 RPM) +fan5: 0 RPM (min = 0 RPM) +temp1: +34.0°C (low = -128.0°C, high = +127.0°C) sensor = thermal diode +temp2: +35.0°C (low = -128.0°C, high = +127.0°C) sensor = thermal diode +temp3: +40.0°C (low = -128.0°C, high = +127.0°C) +temp4: +40.0°C +temp5: +40.0°C +temp6: +40.0°C +intrusion0: ALARM + +drivetemp-scsi-2-0 +Adapter: SCSI adapter +temp1: +41.0°C (low = +0.0°C, high = +60.0°C) + (crit low = -40.0°C, crit = +70.0°C) + (lowest = +26.0°C, highest = +43.0°C) + +drivetemp-scsi-0-0 +Adapter: SCSI adapter +temp1: +39.0°C (low = +0.0°C, high = +60.0°C) + (crit low = -40.0°C, crit = +70.0°C) + (lowest = +26.0°C, highest = +42.0°C) + +nvme-pci-0300 +Adapter: PCI adapter +Composite: +37.9°C (low = -273.1°C, high = +81.8°C) + (crit = +84.8°C) +Sensor 1: +37.9°C (low = -273.1°C, high = +65261.8°C) +Sensor 2: +34.9°C (low = -273.1°C, high = +65261.8°C) +``` +## Определение датчиков в sys/class/hwmon + +``` +for f in $(ls -1 /sys/class/hwmon/); do echo $f" - "$(cat /sys/class/hwmon/${f}/name); done +``` +Данная команда выведет следующее + +``` +hwmon0 - acpitz +hwmon1 - nvme +hwmon2 - coretemp +hwmon3 - drivetemp +hwmon4 - drivetemp +hwmon5 - drivetemp +hwmon6 - drivetemp +hwmon7 - it8620 +``` +* **hwmon2** - температура процессора +* **hwmon7** - датчики чипсета, там и вентиляторы +