LINUX.ORG.RU

Внешний контроллер вентиляторов под linux

 


0

2

Досталась материка, на которой всего один коннектор для вентилятора (CPU). Я привык, что у меня отображается частота вращения всех трёх вентиляторов, чтобы было видно, что вентилятор забило пылью.

Есть в природе готовая коробочка или проект на arduino/stm32, как-то подключающаяся к материнке (по USB?) и передающая данные об оборотах подключеных к ней вентиляторов и т.д.? Причём, чтобы это было нормально было интегрировано в систему, чтобы sensors и другие утилиты отображали данные.

Как-то погуглил, вобще не нашёл управляемых контроллеров вентиляторов, всё как-то с переменными резисторами/кнопками...

★★★★★

Ответ на: комментарий от t184256

Свои рабочие компы собираю из списаного железа, иногда могу забыть смазать старый вентилятор или что ещё. Ну и да, пыльно, за стеной цех, на одежде много пыли тащится в комнату. Года за 1,5-2 круглосуточной работы вентилятор может встать, причём иногда это происходит тихо, без повышенного шума. Или при выключении крутится, а при включении компа не стартует.

mky ★★★★★
() автор топика
Ответ на: комментарий от Tanger

Как раз такого варианта и хотелось избежать. Специальная программа, общающаяся по отдельному протоколу с контроллером вентиляторов (arduino). Причем, я ещё бы понял, если бы был отдельный демон, который только проксирует запросы к arduino, чтобы можно было независимо от этго afancontrol получать данные.

Ну и прошивка, в которую номера пинов задаются через define и смена требует перекомпиляции, так себе. У arduino есть же EEPROM, можно было написать прошивку, позволяющую редактировать EEPROM и не требующую перекомпиляции

Я вобще не знаю, а из userspace можно создавать файлы в /sys, типа fuse для /sys, чтобы, например, /sys/class/hwmon/hwmon1/fan2_input обрабатывался специальным демоном?

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

Как раз такого варианта и хотелось избежать. Специальная программа, общающаяся по отдельному протоколу с контроллером вентиляторов (arduino).

Зато оно из коробки делает то что тебе нужно.

Вот такое ещё гуглится: https://github.com/harbaum/I2C-Tiny-USB
Уверен что возьни тут будет много.

The i2c-tiny-usb is meant to be used with Linux. It comes with a Linux kernel driver that bridges between the USB and I2C subsystems in the Linux kernel. The driver then attaches to the USB device and make the i2c bus available to the i2c subsystem. Thus the entire setup is transparent to client applications like the lm_sensors framework and no special client chip drivers are required. Instead the drivers already present in the linux kernel are used with the i2c-tiny-usb as well.

Ну и прошивка, в которую номера пинов задаются через define и смена требует перекомпиляции, так себе. У arduino есть же EEPROM, можно было написать прошивку, позволяющую редактировать EEPROM и не требующую перекомпиляции

Эм… Зачем может понадобиться менять пины после залития прошивки?

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

Зато оно из коробки делает то что тебе нужно.

Причём, чтобы это было нормально было интегрировано в систему, чтобы sensors и другие утилиты отображали данные.

Плюс эта хрень на питоне, то есть живёт, пока автор не забил обновлять код.

I2C-Tiny-USB интерестно, раз драйвер i2c-tiny-usb в основном ядре. Наверное, можно переписать прошивку, чтобы мк внутри себя эмулировал i2c с подключеным к нему поддерживаемый в ядре hardware monitor. Спасибо.

Зачем может понадобиться менять пины после залития прошивки?

Чтобы была возможность подключать NTC и 1wire датчики температуры. Если используется дорогой ATmega32U4, то пусть он ещё что-то полезное, кроме тахометров, делает.

mky ★★★★★
() автор топика
Ответ на: комментарий от avgust23

Ужос. Бинарник 110 Мбайт, без исходнико, желающий работать от root. Только как вариант, что никто не хочет патчить ядро, чтобы данные от внешнего контроллера вентиляторов отображались через /sys/.

mky ★★★★★
() автор топика

Как-то погуглил, вобще не нашёл управляемых контроллеров вентиляторов, всё как-то с переменными резисторами/кнопками…

Тогда можно изначально самому управлять скоростью вращения вентиляторов «Ардуиной», выдавая значения оборотов вала вентилятора куда нужно.

Enthusiast ★★★
()
Ответ на: комментарий от mky

Я вобще не знаю, а из userspace можно создавать файлы в /sys, типа fuse для /sys, чтобы, например, /sys/class/hwmon/hwmon1/fan2_input обрабатывался специальным демоном?

А зачем именно в /sys? Сделай FIFO где-нибудь в /tmp и пусть демон его читает. У меня так скрипт выбирает максимальную температуру из двух источников для fancontrol, потому что сам он не умеет.

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

Чтобы команда sensors отрабатывала и выхлопе одной команды были все вентиляторы. Чтобы не переписывать мои скрипты мониторинга. Чтобы другие утилиты штатно отображали. В целом интерестно, там же в /sys много чего, допустим яркость подсветки.

В целом пофиг, просто хотел узнать, может такой функционал уже есть. Так ведь когда-то fuse не было, потом появился...

где-нибудь в /tmp

Не, если найду время, буду ковырять i2c-tiny-usb, заодно пойму, можно при vusb работать с 1-wire.

mky ★★★★★
() автор топика