Подкиньте, пожалуйста, кто-нибудь идейку.
Вентилятор достал. Шумит сильно. Раньше температура была в районе 37 градусов, а теперь 43-44 (понятия не имею почему). Вот он и включается. Еще есть какой то глюк. Он не включается пока не открыть и закрыть крышку. До этого sensors выдает комнатную температуру.
Задача. Сделать так, что бы он не шумел.
Пробовал разобрать/собрать. Там над GPU и CPU пластина алюминиевая прикручена. К ней приделана медная полоска и вентилятор. Между чипами и пластиной расстояние один миллиметр. Там какая то прокладка. Поставил новую. Не помогло. Второй раз в дополнение к прокладкам помазал термопастой. Эффект почти не заметен.
Нагуглил программку, правда под винду на VB. Там через порты переписываются какие то регистры. Переписал код, работающий с этими регистрами под linux и использованием ioperm, inb_p/outb_p. Программа segfaultится. Заработало заменой ibn_p/outb_p на inb/outb (почему? опасно ли это?) В исходной программе был регистр 0x50, но опытным путем установил, что писать надо в 0x51. Если туда записывать 30 с интервалом в 50ms вентилятор не включается.
Операция записи в регистр далеко не атомарная. Сначала надо записать команду в управляющий порт а затем последовательно смещение и значение в порт для данных. Не опасно ли это? Какую блокировку нужно получить? Возможно ли это сделать из userspace?
А можно ли у Atom N270 тупо выключить вентилятор. Он не сгорит? А если он будет греться, не прогреет ли он hdd до опасных тепмератур.
Какие еще есть варианты (кроме как выбросить бук)