Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Мониторинг PCIe-платы по PMBUS/SMBUS
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
alexadmin
Даже не знаю, есть ли смысл тут спрашивать, вопрос у меня больше софтовый, но тем не менее...
Хочется сделать плату PCIe в которой была бы возможность контролировать работу через служебный интерфейс, автоматически управлять серверными вентиляторами в зависимости от температуры и т.д. С нижним уровнем SMBUS/I2C все понятно, а вот дальше как-то мутно. Есть спецификация PMBUS, которая содержит в протоколе ряд команд для передачи данных о напряжении/температуре/вентиляторах и т.д. И оставляет довольно много для manufacturer-specific. В то же время, если смотреть исходники linux, там есть некая поддержка pmbus, но пилят драйвера под конкретные чипы.

Собственно вопросы:
1. Будет ли поддерживаться биосом (системным контроллером серверным) и ОС (Windows/linux) мое абстрактное устройство, если я реализую поддержку PMBUS по спецификации или потребуется пользовательская программа?
2. Если поставить стандартное устройство (или мимикрировать под него), например из списка https://github.com/torvalds/linux/tree/mast...ers/hwmon/pmbus , то повышаются ли шансы на автоматическую поддержку всяким ПО для мониторинга?

Пытался читать описание материнских плат серверных, там слово pmbus вообще отсутствует, про smbus один раз упоминается.
makc
По опыту не на всех материнских платах на слотах PCI-E/PCI-32 подключены линии SMBus, причем на настольных машинах чаще их нет. На серверах - как повезет.

А для управления в любом случае понадобится ПО + драйвера, т.к. ОС/BIOS оптимизированы на работу с устройствами (стандартными) на мат.плате и априори не рассчитаны на все то многообразие, которое может быть в нее воткнуто.
Bios71
Цитата(makc @ Aug 31 2018, 13:26) *
А для управления в любом случае понадобится ПО + драйвера, т.к. ОС/BIOS оптимизированы на работу с устройствами (стандартными) на мат.плате и априори не рассчитаны на все то многообразие, которое может быть в нее воткнуто.


если только не заплатить конкретным разработчикам, конкретной материнки, для поддержки конкретного устройства
тогда часть работы по настройке ПО/Драйвера/ос/биос переходит на их плечи.
Но выйти на разработчика и заплатить денюшку, это , увы, только для ОЧЕНЬ богатых клиентов
makc
Цитата(Bios71 @ Sep 3 2018, 09:51) *
если только не заплатить конкретным разработчикам, конкретной материнки, для поддержки конкретного устройства
тогда часть работы по настройке ПО/Драйвера/ос/биос переходит на их плечи.
Но выйти на разработчика и заплатить денюшку, это , увы, только для ОЧЕНЬ богатых клиентов


С учетом количества доступных примеров и документации задачу написания такого ПО может сейчас решить студент на коленке. Я конечно утрирую, но по-моему не стоит упираться в поддержку BIOSом и платформой заказного железа, когда эта функциональность нужна только под ОС.
izerg
Цитата(alexadmin @ Aug 31 2018, 12:46) *
Пытался читать описание материнских плат серверных, там слово pmbus вообще отсутствует, про smbus один раз упоминается.

Можно попробовать добраться к SMBUS через слоты памяти... SPD память там практически всегда присутствует.
Jury093
Цитата(alexadmin @ Aug 31 2018, 12:46) *
Хочется сделать плату PCIe в которой была бы возможность контролировать работу через служебный интерфейс, автоматически управлять серверными вентиляторами в зависимости от температуры и т.д. С нижним уровнем SMBUS/I2C все понятно, а вот дальше как-то мутно. Есть спецификация PMBUS, которая содержит в протоколе ряд команд для передачи данных о напряжении/температуре/вентиляторах и т.д. И оставляет довольно много для manufacturer-specific. В то же время, если смотреть исходники linux, там есть некая поддержка pmbus, но пилят драйвера под конкретные чипы.

я бы посоветовал организовать контроллер вентиляторов/термодатчиков прямо на своей плате - тем самым исключается перегрев при зависание внешнего софта. а интерфейс мониторинга/управления пробросить через канал PCIe и поддержать из своего драйвера: либо через управление своей внешней софтиной (типа как Nvidia control panel) либо через слой в класс "Hardware Monitoring support" (это в линуксе), тогда есть шанс быть поддержанным сторонним софтом для мониторинга. для windows движуха похожая, но видимо более затратная..
в общем, ищите инфу в классе видеокарт, там схожие условия
Bios71
Цитата(makc @ Sep 3 2018, 10:54) *
С учетом количества доступных примеров и документации задачу написания такого ПО может сейчас решить студент на коленке. Я конечно утрирую, но по-моему не стоит упираться в поддержку BIOSом и платформой заказного железа, когда эта функциональность нужна только под ОС.


вот видите, какой вы разносторонний. А я только про ACPI таблицы + WMI, с их термозонами, и подумал.
makc
Цитата(izerg @ Sep 3 2018, 11:31) *
Можно попробовать добраться к SMBUS через слоты памяти... SPD память там практически всегда присутствует.


А с платой PCIe связываться через отдельный кабель с переходником на DIMM? По-моему это не самая лучшая идея, особенно с учетом небольшого числа слотов DIMM на некоторых мат.платах.
Bios71
Цитата(alexadmin @ Aug 31 2018, 13:46) *
но пилят драйвера под конкретные чипы.


потому как иной чип имеет по 6 штук I2C , и не факт что память, ЕС, GPIO expander и BMC физически висят все вместе на одном I2C.
Это как бог на душу, разработчику сервера, положит. И на какой из I2C кинут PMBus, тоже не ведомо.
Но подозреваю, что если PMBus всетаки реализован, то обязательно будет и разьем для подключению к нему на материнке, и описание оного в документации на сервер.

А "пилящие" драйвера под конкретный чип, скорее всего имеют схему сервера и потому знают что где искать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.