k10temp-pci-00c3 По-идее он должен показывать температуру CPU, но там стоит ноль." /> k10temp-pci-00c3 По-идее он должен показывать температуру CPU, но там стоит ноль." /> libsensors не показывает температуру CPU - Ubuntu.ru

Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: libsensors не показывает температуру CPU  (Прочитано 172906 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TeenSpirit

  • Автор темы
  • Любитель
  • *
  • Сообщений: 72
  • Подпись под аватаром
    • Просмотр профиля
    • Speed24
libsensors не показывает температуру CPU
« : 13 Февраля 2023, 12:54:48 »
Добрый день!

Использую "Индикатор аппаратных датчиков", в нем есть датчик libsensors => k10temp-pci-00c3

По-идее он должен показывать температуру CPU, но там стоит ноль.

Если зайти в BIOS, температура показывается, она меняется, значит с аппаратной частью проблем нет. С показом температуры видеокарты проблем нет - она показывается.

Ubuntu 20.04.5 LTS
libsensors5:amd64 1:3.6.0-2ubuntu1.1
AMD Ryzen 9 5950X

sensors
k10temp-pci-00c3
Adapter: PCI adapter
temp1:         +0.0°C  (high = +70.0°C)

amdgpu-pci-2b00
Adapter: PCI adapter
vddgfx:      875.00 mV
fan1:             N/A  (min =    0 RPM, max = 6900 RPM)
edge:         +40.0°C  (crit = +97.0°C, hyst = -273.1°C)
power1:        6.11 W  (cap =  35.00 W)

Подскажите, может как-то надо настроить?

PS. sensors-detect - запускалось
« Последнее редактирование: 13 Февраля 2023, 12:59:07 от TeenSpirit »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6907
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #1 : 13 Февраля 2023, 13:08:38 »
Взять самую новую *бунту и посмотреть в ней.

Онлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5589
  • Все по палатам!
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #2 : 13 Февраля 2023, 13:31:48 »
По типу материнчкой платы, процессора поискать по интернету...
ЗЫ
Посмотрел - проблемы есть, к примеру
https://www.reddit.com/r/Proxmox/comments/mvsjv7/get_cpu_temperature_in_proxmox_ve_on_ryzen_9_5950x/
Извините, я все еще учусь

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1794
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #3 : 13 Февраля 2023, 16:01:18 »
TeenSpirit, приложение лёгонькое, psensor, тоже не показывает ? У меня приложение conky c моим конфигом на некоторых дистрибутивах температуру не показывает, приходится в конфиге строчку редактировать взяв её из конфига, где всё нормально.

Оффлайн Soobrazitelnyy

  • Любитель
  • *
  • Сообщений: 77
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #4 : 14 Февраля 2023, 01:21:06 »
PS. sensors-detect - запускалось
Тут у damix'а было что-то похожее.

Температурные датчики на Ryzen в принципе не работают из коробки.  Пришлось собрать из исходников и установить модуль ядра nct6775.
(Нажмите, чтобы показать/скрыть)

Для большинства железа они есть в ядре linux, но для некоторых (особенно новых) устройств их нужно ставить отдельно.
(Нажмите, чтобы показать/скрыть)

Monitor AMD Ryzen Temperatures In Linux with latest kernel modules... There are two modules that you’ll encounter on Ryzen boards. They are it87 and nct6775. Just about every board has one or the other. it87 is more common.


nct6775 или it87 помогло?


Оффлайн TeenSpirit

  • Автор темы
  • Любитель
  • *
  • Сообщений: 72
  • Подпись под аватаром
    • Просмотр профиля
    • Speed24
Re: libsensors не показывает температуру CPU
« Ответ #5 : 14 Февраля 2023, 04:45:23 »
vladimirzhuravlev, psensor - тоже ноль. Это в принципе ожидаемо, читается с lmsensor k10temp-pci-00c3.

andytux, я загрузился с флешки 22.04, да - температура показывается. Целых три: k10temp-pci-00c3/{0,1,2}

Soobrazitelnyy, я прошелся по тредам. Похоже, что многие вещи перестали быть актуальными.

Собрать модуль nct6775 или it87

https://github.com/groeck/nct6775.git и https://github.com/groeck/it87.git - ссылки мертвые. Зато у этого же автора есть репо https://github.com/groeck/k10temp

Поэтому я собрал его.

k10temp

В нем заявлена поддержка Ryzen. Я поставил как мог:

git clone https://github.com/groeck/k10temp.git
cd k10temp
make
sudo make install
sudo modprobe k10temp
sudo sensors-detect

Не помогло.

Да, до пересборки просто пробовал sudo modprobe k10temp - этот модуль уже был в системе.

Пересбор lm-sensors

Не собирается, пока не знаю почему, пропустил.

Добавить к параметрам ядра acpi_enforce_resources=lax

Пропустил, потому что не нужно. тут написано, что для моей материнки MSI B550 Tomahawk этот параметр не нужен:

Цитировать
That being said, there are motherboards which allow accessing their HW sensors chips without using this parameter (such as MSI B550 Tomahawk).

sudo sensors-detect

После очередной попытки заметил, что sensors-detect в общем-то отыскивает сенсор:

...
AMD Family 17h thermal sensors...                           Success!
    (driver `k10temp')
...

Я не знаю, было это раньше, или нет. Но везде, где люди что-то пересобирали и ставили, похожей надписи ДО манипуляций не было, а ПОСЛЕ - появлялась. То есть сенсор сначала не детектился, а после установки модуля - появлялся, и температура снималась.

Значит, что сенсор в общем-то обнаружен, но по какой-то причине все равно выдает 0. Хотя в BIOS температура показывается. Что-то непонятное получается.
« Последнее редактирование: 14 Февраля 2023, 05:06:33 от TeenSpirit »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6907
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #6 : 14 Февраля 2023, 07:30:08 »
Цитировать
с флешки 22.04, да - температура показывается
Вот ты сам себе и ответил.
В 22.04 более новый libsensors5: 3.6.0-7. Можно было-бы попробовать его вручную поставить, но как минимум ей нужен libc6 2.33.
« Последнее редактирование: 14 Февраля 2023, 07:35:19 от andytux »

Оффлайн TeenSpirit

  • Автор темы
  • Любитель
  • *
  • Сообщений: 72
  • Подпись под аватаром
    • Просмотр профиля
    • Speed24
Re: libsensors не показывает температуру CPU
« Ответ #7 : 14 Февраля 2023, 11:21:59 »
andytux, я не специалист по сборке из C++. Можно как-то поставить libc6 2.33 отдельно для сборки libsensors5, и уже с его помощью собрать эту библиотеку? Не будет каких-то подводных камней? И при сборке наверное нужно делать статическую линковку?

Как вариант, я могу собрать либу в докер-контейнере, пробросить файлы и уже на них сделать make install. Сработает?

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6907
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #8 : 14 Февраля 2023, 11:27:47 »
Цитировать
как-то поставить libc6 2.33...
Просто и надежно - поставь *бунту 22.04. Все остальные варианты имеют многочисленные "но..." Например, может дело и не в libsensors5.
« Последнее редактирование: 14 Февраля 2023, 11:30:08 от andytux »

Оффлайн Soobrazitelnyy

  • Любитель
  • *
  • Сообщений: 77
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #9 : 14 Февраля 2023, 22:22:08 »
В 22.04 более новый libsensors5: 3.6.0-7. Можно было-бы попробовать его вручную поставить, но как минимум ей нужен libc6 2.33.
Просто и надежно - поставь *бунту 22.04. Все остальные варианты имеют многочисленные "но..." Например, может дело и не в libsensors5.

Может быть проблема в ядре? Нет полной поддержки? Какая версия ядра у автора?

Нашлась такая информация:
...После изучения вопроса у меня сложилось впечатление, что для использования Ryzen 5950x в Ubuntu 20.04 потребуется заменить ядро на версию 5.9 и выше...
...Ядро 5.9 позволяет мониторить теплопакет без сторонних утилит...
...Обновляться до нового ядра нужно только в случае, если вы хотите видеть температуры процессора, но это решается и без обновления, ибо драйвер k10temp можно спокойно выдрать из 5.9 и собрать под убунтовским ядром...
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 14 Февраля 2023, 22:24:28 от Soobrazitelnyy »

Оффлайн TeenSpirit

  • Автор темы
  • Любитель
  • *
  • Сообщений: 72
  • Подпись под аватаром
    • Просмотр профиля
    • Speed24
Re: libsensors не показывает температуру CPU
« Ответ #10 : 15 Февраля 2023, 00:16:37 »
andytux, как вариант. Но я хочу помучаться.

Soobrazitelnyy,

uname -a
Linux hostel-desktop 5.4.86-050486-generic #202012301143 SMP Wed Dec 30 12:04:12 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Я посмотрел тред на ixbt, спасибо. Те проблемы, что у них - у меня не было. Только температура.

У меня сейчас альтернативы

  • обновить ядро - самый простой способ
  • пересобрать последнюю версию libsensors5 - было бы интересно, думаю сделать это в докере. Хотя у меня есть под рукой и 22.04
  • что-то сделать с k10temp из ядра 5.9 - но я не понял, что значит "выдрать". Я уже собирал k10temp, сенсор детектится, но с него снимается ноль, написал об этом выше в треде

Еще вспомнил, что можно смотреть температуру так.

cat /sys/devices/virtual/thermal/cooling_device0/{cur_state,max_state,type}
0
3
Processor

Вроде cur_state - температура. На Orange PI температура снималась через /sys/devices/virtual/thermal/thermal_zone0/temp

В этом способе используется только ядро, а не libsensors5, но я могу ошибаться. Получается, проблема - в ядре. Или проблема "еще и в ядре".
« Последнее редактирование: 15 Февраля 2023, 00:18:48 от TeenSpirit »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6907
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #11 : 15 Февраля 2023, 08:38:03 »
"Охота пуще неволи."

Цитировать
5.4.86-050486-generic...
обновить ядро - самый простой способ
Если "по правильному", то да. Странно, что до сих пор на старом ядре.
В 22.04 ядро 5.15.0-25, да и в 20.04.5 должно быть 5.15*.
Можно не обновлять. Взять исо-образ 20.04.5 или 22.04. Из него скопировать ядро-инитрд и модули (это и есть "выдрать"). Загрузить систему с этим ядром.
Систему это не поломает. Если не получится, то так-же просто удалить эти файлы.

Цитировать
Или проблема "еще и в ядре"
Ядро - это ведь не только ядро. Это еще и firmware и modules. Firmware и "выдирают".


Пользователь добавил сообщение 15 Февраля 2023, 08:58:27:
Цитировать
пересобрать последнюю версию libsensors5
Она ведь не сама по себе. Кто-то ее запускает.
Например, она устанавливается пакетом lm-sensors. В пакете есть /usr/bin/sensor. Запустить ее примерно как описано здесь.
« Последнее редактирование: 15 Февраля 2023, 08:58:27 от andytux »

Оффлайн Soobrazitelnyy

  • Любитель
  • *
  • Сообщений: 77
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #12 : 15 Февраля 2023, 10:01:23 »
Странно, что до сих пор на старом ядре.
Слишком много косвенной информации, что используемое сейчас ядро просто не поддерживает полностью этот процессор. Можно установить второе ядро необходимой версии для проверки данной теории и если всё заработает, то все варианты про libsensors5 и прочее просто отпадут сами.

Также тут нашёл информацию о необходимой версии ядра для Вашего процессора. И в данной статье это: 5.15.41:
(Нажмите, чтобы показать/скрыть)

Вот тут интересная статья, где описывается тестирование "железа" с процессором AMD Zen 3 Ryzen 9 5900HX. И там есть интересный момент. Очень идентичная проблема.
Версия ОС: Ubuntu 20.04.3. Версия ядра - 5.13.0.
...Кроме того, датчики не определяли температуру процессора...
(Нажмите, чтобы показать/скрыть)

Тут есть интересная информация решения данной проблемы без обновлния ядра.
...Хотя это может быть исправлено в более позднем выпуске ядра, обходной путь заключался в установке «Zenpower3» через DKMS (сылка на GitHub, проект "живой")...
(Нажмите, чтобы показать/скрыть)

Zenpower3 is a Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2). Драйвер k10temp - там также упоминается. Пробуйте, есть все инструкции.
(Нажмите, чтобы показать/скрыть)

Оффлайн TeenSpirit

  • Автор темы
  • Любитель
  • *
  • Сообщений: 72
  • Подпись под аватаром
    • Просмотр профиля
    • Speed24
Re: libsensors не показывает температуру CPU
« Ответ #13 : 16 Февраля 2023, 20:37:59 »
Обновил ядро до 5.15.94-051594-generic

Проблема ушла.

sensors
k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +46.4°C 
Tccd1:        +36.0°C 
Tccd2:        +39.2°C

Всем спасибо за помощь!

Оффлайн Soobrazitelnyy

  • Любитель
  • *
  • Сообщений: 77
    • Просмотр профиля
Re: libsensors не показывает температуру CPU
« Ответ #14 : 16 Февраля 2023, 21:43:23 »
Проблема ушла.

Вы так заинтриговали данной проблемой. Пробовали установить Zenpower3 на "старом" ядре (отрицательный результат - тоже результат) или просто обновили ядро?

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.