Как прочитать SPD на планке памяти из операционной системы
В принципе это короткая заметка как можно прочитать вообще любую Eeprom прямо из системы, но SPD более наглядная история. Что же такое SPD? Это стандартизированный способ автоматического доступа к информации о модуле памяти. А если кратко то это Eeprom на планках памяти что содержит ключевую информацию о планке.
Для начала установим i2c-tools для работы по i2c

sudo apt install i2c-tools
Теперь отвлечемся и перейдем к i2c. Сначала выполним команду.

sudo i2cdetect -l
#Вывод
i2c-0 smbus      SMBus I801 adapter at f040       SMBus adapter
i2c-1 i2c        Synopsys DesignWare I2C adapter  I2C adapter
i2c-2 i2c        i915 gmbus dpb                   I2C adapter
i2c-3 i2c        i915 gmbus dpc                   I2C adapter
i2c-4 i2c        i915 gmbus misc                  I2C adapter
i2c-5 i2c        AUX B/DDI B/PHY B                I2C adapter
i2c-6 i2c        AUX C/DDI C/PHY C                I2C adapter
Он покажет все линии у нас в компьютере. Далее с помощью следующей команды перебираем все линии в поисках микросхемы по адресу 50 или 51. Где ноль это линия i2c.

sudo i2cdetect -r -y 0
Далее выполним команду для обнаружения драйвера. Обычно для eeprom используется драйвер at24. Его мы и ищем и отключим.

sudo lsmod | grep at24
Вот мы и нашли драйвер.
Выполним команду для удаления драйвeра

sudo modprobe -r at24
После выполняем команду чтения.
Где ноль после “-y” это номер линии, “0x50” адрес микросхемы.

sudo i2cdump -y 0 0x50
#Вывод
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 92 13 0b 03 04 21 02 01 03 11 01 08 0a 00 fe 00    ?????!???????.?.
10: 69 78 69 30 69 11 18 81 20 08 3c 3c 00 f0 83 01    ixi0i??? ?<<.???
20: 00 00 00 00 00 00 00 00 00 88 00 00 00 00 00 00    .........?......
30: 00 00 00 00 00 00 00 00 00 00 00 00 2f 11 41 00    ............/?A.
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 80 ce 01 14 17 f1 75 b3 64 59 93    .....??????u?dY?
80: 4d 34 37 31 42 35 31 37 33 51 48 30 2d 59 4b 30    M471B5173QH0-YK0
90: 20 20 00 00 80 ce 00 00 00 57 30 30 5a 30 30 30      ..??...W00Z000
a0: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 01    ?.?............?
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 30 4c 00    .............0L.
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
Вот мы прочитали SPD. Из вывода можно легко найти название планки “M471B5173QH0-YK0” обычно название это любое большое обозначение. Вот и всё. Далее рекомендую перезагрузить компьютер.
Made on
Tilda