LINUX.ORG.RU

Непонятки в работе fancontrol

 , ,


0

1

Хай ЛОР, помоги пожалуйста разобраться! Эта тема, частичная отсылка к этой Проблемы с установкой ROCm. В этот раз с проприетарщиной не заморачивался, оставил опенсорс. Система lubuntu 24.04. Для видюхи AMD R9 Nano пришлось поставить lm-sensors, так как кулер не хотел крутиться. Далee: pwmconfig - sudo service fancontrol start. Все вроде бы гуд, но после перезагрузок часто сервис не запускается вот с такой ошибкой:

2024-12-19T22:18:50.789115+03:00 harry-system systemd[1]: Started fancontrol.service - fan speed regulator.
2024-12-19T22:18:50.794873+03:00 harry-system fancontrol[2956]: Loading configuration from /etc/fancontrol ...
2024-12-19T22:18:50.836345+03:00 harry-system fancontrol[2956]: Common settings:
2024-12-19T22:18:50.836534+03:00 harry-system fancontrol[2956]:   INTERVAL=10
2024-12-19T22:18:50.882826+03:00 harry-system fancontrol[2956]: Settings for hwmon2/pwm1:
2024-12-19T22:18:50.882967+03:00 harry-system fancontrol[2956]:   Depends on hwmon2/temp1_input
2024-12-19T22:18:50.883012+03:00 harry-system fancontrol[2956]:   Controls hwmon2/fan1_input
2024-12-19T22:18:50.883055+03:00 harry-system fancontrol[2956]:   MINTEMP=30
2024-12-19T22:18:50.883095+03:00 harry-system fancontrol[2956]:   MAXTEMP=65
2024-12-19T22:18:50.883135+03:00 harry-system fancontrol[2956]:   MINSTART=150
2024-12-19T22:18:50.883175+03:00 harry-system fancontrol[2956]:   MINSTOP=190
2024-12-19T22:18:50.883237+03:00 harry-system fancontrol[2956]:   MINPWM=190
2024-12-19T22:18:50.883278+03:00 harry-system fancontrol[2956]:   MAXPWM=210
2024-12-19T22:18:50.883318+03:00 harry-system fancontrol[2956]:   AVERAGE=1
2024-12-19T22:18:50.920735+03:00 harry-system fancontrol[2956]: Enabling PWM on fans...
2024-12-19T22:18:50.926310+03:00 harry-system fancontrol[2956]: Starting automatic fan control...
2024-12-19T22:18:50.930991+03:00 harry-system fancontrol[2956]: /usr/sbin/fancontrol: строка 590: read: ошибка чтения: 0: Недопустимый аргумент
2024-12-19T22:18:50.931104+03:00 harry-system fancontrol[2956]: Error reading Fan value from /sys/class/hwmon/hwmon2/fan1_input
2024-12-19T22:18:50.931168+03:00 harry-system fancontrol[2956]: Aborting, restoring fans...
2024-12-19T22:18:50.933652+03:00 harry-system fancontrol[2956]: Verify fans have returned to full speed
2024-12-19T22:18:50.937017+03:00 harry-system systemd[1]: fancontrol.service: Main process exited, code=exited, status=1/FAILURE
2024-12-19T22:18:50.937243+03:00 harry-system systemd[1]: fancontrol.service: Failed with result 'exit-code'.

Попытки зарестартить принудительно ведут к той же ошибке. При запуске pwmconfig до второго вопроса, то есть:

sudo pwmconfig
...
Warning!!! This program will stop your fans, one at a time,
for approximately 5 seconds each!!!
This may cause your processor temperature to rise!!!
If you do not want to do this hit control-C now!!!
Hit return to continue: 
[Enter]
Testing pwm control hwmon0/pwm1 ...
  hwmon0/fan1_input ... speed was 2220 now 870
    It appears that fan hwmon0/fan1_input
    is controlled by pwm hwmon0/pwm1
Would you like to generate a detailed correlation (y)?

Куллер на видюхе включается на полную, выхожу по Ctrl+c.

sudo service fancontrol start
sudo service fancontrol status
● fancontrol.service - fan speed regulator
     Loaded: loaded (/usr/lib/systemd/system/fancontrol.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-12-25 14:59:39 MSK; 12s ago
       Docs: man:fancontrol(8)
             man:pwmconfig(8)
    Process: 65362 ExecStartPre=/usr/sbin/fancontrol --check (code=exited, status=0/SUCCESS)
   Main PID: 65447 (fancontrol)
      Tasks: 2 (limit: 9354)
     Memory: 996.0K (peak: 2.0M)
        CPU: 356ms
     CGroup: /system.slice/fancontrol.service
             ├─65447 /bin/bash /usr/sbin/fancontrol
             └─65583 sleep 10

дек 25 14:59:39 harry-system fancontrol[65447]:   Controls hwmon2/fan1_input
дек 25 14:59:39 harry-system fancontrol[65447]:   MINTEMP=30
дек 25 14:59:39 harry-system fancontrol[65447]:   MAXTEMP=65
дек 25 14:59:39 harry-system fancontrol[65447]:   MINSTART=150
дек 25 14:59:39 harry-system fancontrol[65447]:   MINSTOP=190
дек 25 14:59:39 harry-system fancontrol[65447]:   MINPWM=190
дек 25 14:59:39 harry-system fancontrol[65447]:   MAXPWM=210
дек 25 14:59:39 harry-system fancontrol[65447]:   AVERAGE=1
дек 25 14:59:39 harry-system fancontrol[65447]: Enabling PWM on fans...
дек 25 14:59:39 harry-system fancontrol[65447]: Starting automatic fan control...

Вуаля, блин! Поиски в инете говорят о добавлении GRUB_CMDLINE_LINUX=«acpi_enforce_resources=lax». Добавил, но все равно кулер после перезагрузки не запускается часто (почти постоянно), пока не выполнишь пресловутый pwmconfig. Я б даже согласился на костыль в виде скрипта, но только pwmconfig в интерактивном режиме работает. В чем проблема, как починить, на крайняк окостылить?



Последнее исправление: Kaernk (всего исправлений: 5)
Ответ на: комментарий от usermod

Вопрос в том, как для pwmconfig «y» ответить, так как он работает только в интерактиве. А скрипт я уж как-нибудь наваяю. Собственно сама идея скрипта - крайняя мера. Почему ошибка fancontrol?

Kaernk
() автор топика
Последнее исправление: Kaernk (всего исправлений: 1)

pwmconfig нужен, чтобы его запустить один раз, создав конфиг /etc/fancontrol. Дальше смотри в этот конфиг и разбирайся, что именно не работает. По моему опыту, при перезагрузке в некоторых случаях могут меняться порядковые номера устройств в /sys/class/hwmon, соответственно, фанконтрол не находит нужное.

Теоретически, вроде можно задавать путь к файлу датчика оборотов не относительно /sys/class/hwmon, а полностью от корня /sys, и номер указывать обобщённо (типа /sys/devices/platform/nct6775.656/hwmon/hwmon[:digit:]/fan1_input, но насколько оно поможет…

Другой вариант — что-то ещё, типа биоса материнки, уже пытается управлять этим вентилятором. Тогда надо разбираться, что именно, и управление отключать.

anonymous
()
Ответ на: комментарий от anonymous

Проверял - не меняются номера hwmon-ов. Собственно еще раз повторюсь: при вызове pwmconfig достаточно до 2-го пунтка только дойти и кулер оживает и начинает реагировать на service fancontrol start. То есть, генерация(перегенерация) файла /etc/fancontrol не происходит. Да, до запуска pwmconfig, нельзя выполнить echo «255» > /sys/class/hwmon/hwmon2/fan1_input, пишет отказ в доступе, хотя делается из под рута.

Kaernk
() автор топика
Ответ на: комментарий от anonymous

Угу.

harry@harry-system:~/progs$ cat /sys/class/hwmon/hwmon2/pwm1
196
harry@harry-system:~/progs$ cat /sys/class/hwmon/hwmon2/fan1_input 
111

Была бы ошибка о недопустимости аргумента, а не о доступе.

Kaernk
() автор топика
Последнее исправление: Kaernk (всего исправлений: 1)