пятница, 30 января 2009 г.

Настройка lm_sensors для Asus P5E3

Стандартная конфигурация lm_sensors с помощью sensors-detect нашла правильные модули для мониторинга и они показывали нормальные данные кроме вольтажа, который отличался на ±10% от номинала. И это слегка надоедало мне.

Наконец, после прочтения статьи из вики lm_sensors Asus article, я смог найти правильные формулы для вольтажа которые совпадали бы со значениями в BIOS’е.

Сначала, надо было декомпилировать таблицы ACPI (пакет iasl должен быть установлен):
# cat /proc/acpi/dsdt > dsdt.bin
# iasl -d dsdt.bin

Расшифровывание всей этой ACPI магии которая запишется в dsdt.dsl — не очень простая задача. Я искал функцию RVLT которая даёт формулу для вольтажа:
Method (RVLT, 1, NotSerialized)
{
    And (Arg0, 0xFFFF, Local0)
    Store (VGET (Local0), Local1)
    Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), Zero)),
        Local2)
    Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), One)),
        Local3)
    Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x02)),
        Local4)
    Multiply (Local1, Add (Local2, Local3), Local5)
    Divide (Local5, Local3, , Local5)
    Add (Local5, Local4, Local5)
    Return (Local5)
} 

Переводя на нормальный язык она делает примерно следующее:
Local1 = VGET(Local0);
Local2 = VPAR[Local0][0];
Local3 = VPAR[Local0][1];
Local4 = VPAR[Local0][2];
return Local1 * (Local2 + Local3) / Local3 + Local4;

Чтобы найти параметры Local для каждого из сенсоров, пришлось найти определение VPAR:
Name (VPAR, Package (0x04)
{
    Package (0x03)
    {
        Zero,
        One,
        Zero
    },

    Package (0x03)
    {
        0x22,
        0x22,
        Zero
    },

    Package (0x03)
    {
        0x14,
        0x0A,
        Zero
    },

    Package (0x03)
    {
        0x3C,
        0x0A,
        Zero
    }
})

Сравнивая это с порядком данных в других местах таблицы (VCore, +3.3V, +12V, +5V) можно высмотреть, что правильные коэффициенты для +12V — это 60/10, а для +5V — это 20/10.

Получившийся конфиг тут.

Комментариев нет:

Отправить комментарий