Что на самом деле сообщает датчик скорости вентилятора?

1361
T. Verron

У меня проблема с перегревом на моем нетбуке (ASUS EeePC 1015PW), которую я пытаюсь устранить. Использование lm-датчиков при перегреве дало мне такой вывод:

acpitz-virtual-0 Adapter: Virtual device temp1: +86.0°C (crit = +100.0°C)   eeepc-isa-0000 Adapter: ISA adapter fan1: 4089 RPM   coretemp-isa-0000 Adapter: ISA adapter Core 0: +82.0°C (crit = +100.0°C) Core 1: +80.0°C (crit = +100.0°C) 

Но я не слышал вентилятор, хотя датчик утверждает, что он вращается. Поэтому я включил ручное управление ШИМ и установил вентилятор на полную скорость, и через несколько минут я получил такой вывод:

acpitz-virtual-0 Adapter: Virtual device temp1: +65.0°C (crit = +100.0°C)  eeepc-isa-0000 Adapter: ISA adapter fan1: 4016 RPM  coretemp-isa-0000 Adapter: ISA adapter Core 0: +62.0°C (crit = +100.0°C) Core 1: +58.0°C (crit = +100.0°C) 

И на этот раз я услышал, как вращается вентилятор. Таким образом, вполне очевидно, что проблема связана либо с управлением вентилятором, либо с мониторингом вентилятора. Отсюда вопрос: какую физическую информацию действительно сообщает датчик вентилятора?

Почему я уверен, что человек, которого я контролирую, это тот, кого я наблюдаю:

*** root # cd /sys/class/hwmon/hwmon2 *** hwmon2 # ls device fan1_input name power pwm1 pwm1_enable subsystem uevent *** hwmon2 # cat * cat: device: is a folder 4094 eeepc cat: power: is a folder 0 2 cat: subsystem: is a folder *** hwmon2 # echo 1 > pwm1_enable; echo 255 > pwm1 *** hwmon2 # cat * cat: device: is a folder 4016 eeepc cat: power: is a folder 255 1 cat: subsystem: is a folder 

Похоже, что lm-sensor читает содержимое этого файла fan1_input, который находится в той же папке, что и файл pwm1, с которым я играю, и они должны быть связаны с тем же устройством.

Я попытался установить вентилятор на половину скорости echo 125 > pwm1, в результате вентилятор продолжал вращаться, хотя и медленнее (логично), но в fan1_input содержалось 4094! Итак, я попытался поиграть ... Оказывается, что на любой скорости ниже 242, вентилятор заявляет, что он вращается со скоростью 4090-ти оборотов в минуту (4094 каждый раз, когда я пробовал сегодня), в то время как выше 243 он сообщает о скорости 4020-ти оборотов в минуту (между 4015 и 4025).

И теперь я действительно озадачен ... Как это может быть? Неужели компьютер не читает вход вентилятора в том же «масштабе», что и вентилятор?

Спасибо

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

0
AFAIK большинство датчиков вентиляторов считывают данные непосредственно с провода контроллера от самого вентилятора. Старые 3-проводные вентиляторы ЦП (и карты GFX) имели красный (+) черный (-) и желтый (датчик) провода. Не уверен, что они будут такими же фанатами в EEEPC HaydnWVN 11 лет назад 0
@HaydnWVN: Тогда возникает вопрос: какая информация передается по этому проводу (в какой бы форме она ни была) и где она читается (физически). T. Verron 11 лет назад 0
Разве в BIOS нет опции, позволяющей сообщать компьютеру, при какой температуре должен включаться вентилятор? Не цитируйте меня, но я уверен, что я видел подобную опцию в BIOS раньше. mickburkejnr 11 лет назад 0
@mickburkejnr: Не в моем. Кроме того, я предполагаю, что в первом списке датчиков компьютер убежден, что вентилятор вращается, следуя тому же датчику, что и lm-сенсоры. T. Verron 11 лет назад 0
Вы не сможете услышать вентилятор (в хорошем состоянии), работающий на низкой скорости. (Откуда вы знаете, что устройство перегревается?) Daniel R Hicks 11 лет назад 0
@DanH: Я могу слышать, когда он работает (предположительно) 4000 об / мин, но не когда он работает (как предположительно) 4100 об / мин. Что вы называете низкой скоростью, кстати? [И я знаю, что устройство перегревается, потому что оно достигает критической температуры (мгновенное отключение) через несколько часов после запуска, независимо от того, что я работаю. (Первый список датчиков, который я дал выше, был, когда машина находилась в полностью пассивном состоянии с лучшими настройками экономии, которые я мог использовать)] T. Verron 11 лет назад 0
Скорость вращения вентилятора может варьироваться от нескольких сотен об / мин до нескольких тысяч. Вообще говоря, чем меньше вентилятор, тем быстрее он будет работать. 80-миллиметровый вентилятор ЦП может иметь диапазон 800-3200 об / мин, например. (Вы уверены, что вентилятор, который вы читаете, - это тот, который вы слышите?) Daniel R Hicks 11 лет назад 0
@DanH: В `/ sys / class` у меня есть ровно 3 папки с именами от hwmon0 до 2, каждая из которых соответствует одному из датчиков, показанных lmsensors. Тот, который я включил (и единственный, которого я мог включить), связан с именем `eeepc`, поэтому, если нет действительно извращенной механики, о которой я не знаю, да, это тот же самый вентилятор. Что касается скорости, я повторил 255 на pwm этого вентилятора, так что я думаю, мы можем предположить, что 4015-иш RPM это его максимальная скорость? T. Verron 11 лет назад 0
Около 4000 об / мин звучит разумно, как максимальная скорость вентилятора. Но я говорю о том, что в устройстве, вероятно, есть 2-3 вентилятора, и вы видите только скорость одного из них. Я сильно подозреваю, что вентилятор, который вы слышите, ускоряется не тот, на котором вы читаете RPM. Daniel R Hicks 11 лет назад 0
@DanH: Если я не предполагаю, что вентилятор, который я ускоряю вручную, на самом деле является тем, который я слышу, я не могу даже начать устранять проблему. Кроме того, я сомневаюсь, что конструкторы установили несколько вентиляторов на ноутбуках вместо одного вентилятора и распределенного кулера (если это необходимо, что не так на компьютере без графического процессора). T. Verron 11 лет назад 0
Я хочу сказать, что тот, кого вы «ускоряете вручную», и тот, кого вы слышите, вероятно, не тот, чья частота вращения указана. И у моего ноутбука определенно есть два поклонника. Daniel R Hicks 11 лет назад 0
@DanH: Я упоминал в [этом комментарии] (http://superuser.com/questions/446610/what-does-the-fan-speed-sensor-really-report#comment518148_446610) почему я почти уверен, что это тот же вентилятор: 3 устройства в журналах «датчиков», 3 устройства в папке «hwmon» с соответствием, четко установленным в файле «name». Однако я понимаю, почему вы настаиваете, это определенно было бы хорошим объяснением этой тайны, но я боюсь, что это не правильное объяснение. T. Verron 11 лет назад 0
Я вижу, что два вентилятора - это единственная причина, по которой вы получаете одинаковую скорость вращения вентилятора в обоих случаях. Некоторые установки «оценивают» скорость вентилятора по напряжению вентилятора, но вы наверняка меняли напряжение на «шумном» вентиляторе. И если бы датчик был полностью сломан, я бы не ожидал увидеть какие-либо изменения в сообщаемой скорости, и, скорее всего, он не был бы полуразумным числом. Daniel R Hicks 11 лет назад 0
@DanH: я провел еще несколько тестов, настроил вентилятор на половину скорости и так далее. По моему мнению, это имеет тенденцию доказывать, что датчик по какой-то причине выходит из строя. Я включаю результаты в основной пост. T. Verron 11 лет назад 0
Ну, это может показаться, что датчик сломан. Что может быть причиной того, что автоматическое управление скоростью вентилятора не работает. Я не могу придумать способ сбоя, который может вызвать показания, которые вы видите, но я никогда не играл с логикой этих вещей. Daniel R Hicks 11 лет назад 0

1 ответ на вопрос

1
Ignacio Vazquez-Abrams

На самом деле он вообще не сообщает физическую информацию. Физические датчики возвращают значение от 0 до (скажем) 65535, а затем этим значением манипулируют (умножают, добавляют и т. Д.), Чтобы получить результат, который вы видите. Может случиться так, что программное обеспечение неправильно откалибровано или что-то подобное, что может привести к странным значениям, таким как те, которые вы видите.

Спасибо за Ваш ответ. Если я правильно понимаю, вы имеете в виду, что я не должен подвергать сомнению само значение, а вместо этого исследовать, что материнская плата делает с ним впоследствии? Кроме того, когда вы говорите «программное обеспечение», вы имеете в виду ОС или BIOS? T. Verron 11 лет назад 0
Ни. Фактическое программное обеспечение, которое проверяет датчики (т.е. lm_sensors), само отвечает за манипулирование значением. Ignacio Vazquez-Abrams 11 лет назад 0
Мне пришлось установить lm_sensors для получения этих значений, но проблема (горячий компьютер + вентилятор не вращался) была до этого. Кроме того, в приведенных выше списках файлов, lm_sensors читает файл fan1_input (который содержит уже манипулированное значение). Было бы несколько странно, если бы он также отвечал за написание этого файла? T. Verron 11 лет назад 0

Похожие вопросы