LINUX.ORG.RU

Как узнать информацию о производителе чипов памяти под линуксом?

 


0

1

Заказал HX436C17PB3K2/16 по скидке, народ говорил, что эти плашки делали на Samsung B-Die, но есть новости, что в свежих партиях теперь Hynix CJR. Есть ли какой-то способ прочитать информацию о установленных планках ОЗУ под линуксом? dmidecode ничего не показывает. Хотелось бы проверить продавца на вшивость (сказали, что распродают завалявшиеся с прошлого года киты, осталось 3-4 штуки) и вернуть назад, если там хрюникс.

И так, господа, это хрюникс. На заявленных производителем таймингах не завелась на Prime X470 Pro, 3600 МГц смог выжать только с 18-18-18-38-T1. Не советую брать.

★★★★★

Последнее исправление: Meyer (всего исправлений: 2)

1. Берёшь даташит на чип, ищешь в нём на тему наличия регистров, идентифицирующих производителя и модель

2. Если да, вкуриваешь на тему можно ли это прочитать из линукса

А по сабжу, мне кажется что нет

Harald ★★★★★
()
Ответ на: комментарий от Harald

А по сабжу, мне кажется что нет

Ладно, у коллег есть компьютеры с виндой. Под неё есть какая-то утилита для этого дела.

идентифицирующих производителя и модель

Там тоже ничего. Как я уже говорил, есть куча восторженных отзывов, что эти плашки на Samsung B-Die. И предостережения, что новые партии уже на Hynix CJR.

Meyer ★★★★★
() автор топика
Последнее исправление: Meyer (всего исправлений: 1)
Ответ на: комментарий от Harald

да и вообще на самом чипе должно быть написано

Для этого нужно снять радиатор, что сразу же лишает гарантии и возможности возврата. Плюс часто перемаркировывают.

Meyer ★★★★★
() автор топика

А чем хёникс не угодил? Я только что поменял хёникс на кингстон, интересно. Всегда думал что хёникс лучше.

anonymous
()

memtest показывает SPD (но без расшифровки).

Вот история успеха (глава «Чтение SPD»). // Поиграться и себе? Там NixOS использовалась. Для debian пакет i2c-tools есть

UPD: попробовал на старом нетбуке — ничего не узнал. Надо повторить на более современной конфигурации...

anymouze ★★
()
Последнее исправление: anymouze (всего исправлений: 1)
Ответ на: комментарий от anonymous

Да. С памятью DDR4 на чипах Hynix с большой вероятностью будут проблемы при попытке разогнать её на платформе AMD с нормальными таймингами/частотами - 3200 с CL и иже с ними 17 это не нормальные тайминги. У указанной мной памяти производителем заявлена работоспособность на 3600 MHz с 17-18-18-32 (для партии на самсунгах).

Meyer ★★★★★
() автор топика


Memory Device
Array Handle: 0x0012
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: SODIMM
Set: None
Locator: Bottom - Slot 1 (top)
Bank Locator: BANK 0
Type: DDR2
Type Detail: Synchronous
Speed: 800 MT/s
Manufacturer: Micron
Serial Number: B6748C14
Asset Tag: Unknown

IPR ★★★★★
()
Ответ на: комментарий от Meyer

Если есть в ядре драйвер ee1004, то i2c-tools/eeprom/decode-dimms должен показывать.

vel ★★★★★
()

Никак. Вернее, можно написать свою программу для этого, но я думаю это равноценно «никак».

anonymous
()
Ответ на: комментарий от anonymous

Кингстон не производит чипов памяти. Они просто запаивают чипы других производителей, в том числе это хайникс. Основных производителей чипов всего три - samsung, hynix, micron.

anonymous
()
Ответ на: комментарий от slamd64

Во-во. Как раз задался вопросом, почему мне ни разу в жизни не было хоть сколько-нибудь интересно, кто производитель моих чипов памяти.

Deleted
()

Теоретически возможно

На каждой планке есть то ли SPI, то ли I2C чип памяти, маленький такой на 8 ног, но из него берется информация о планке - организация банков, тайминги.

Чтобы добраться до информации о чипе нужно раскуривать спецификации с jedec.org. Раньше они валялись свободно, теперь нужно регистрироваться и за очень нехилые деньги, которые могут позволить себе лишь производители оборудования. Но может кто в инет выложил.

Добирается до чипа и BIOS, когда инициализирует SDRAM (настраивает само-рефреш памяти). Может там поискать? Это биос только может проделать при старте из EPROM-а, потому что инициализация состоит из серии команд на определенный адрес посылается секретная последовательность данных, чип переключается в режим, в котором его программируют. Так что програмно, при стартовавшей системе это не проделать, поппробуй в BIOS глянуть.

bugs-bunny
()
Ответ на: комментарий от anonymous

SPD EEPROM - serial presence detect

Спасибо. Но там о чипах только информация про количество линий CAS и RAS, тайминги, ну и название планки. чтобы BIOS мог настроить контроллер памяти на дальнейшую работу с этой планкой.

А дальше происходит магия по спецификаци jedec.org c чипами. Не факт, что BIOS вообще определяет типы самих чипов, ему достаточно настроить их саморефреш. Но если что-то и определяет, можно поискать в его страничке инфы. А если что-то отдает системе, то поискать в ACPI/DMI.

bugs-bunny
()
Ответ на: комментарий от slamd64

Ага. Не знаю почему, но чипы микрона и хуникса не слишком хорошо поддаются разгону. Да и от самсунга (все, что не B/C-Die) вроде тоже.

Meyer ★★★★★
() автор топика

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

autonomous ★★★★★
()
Последнее исправление: autonomous (всего исправлений: 1)
Ответ на: комментарий от autonomous

компьютерные комплектующие относятся к группе технически сложных товаров

В законе список закрытый, комплектующих там нет. Это магазины любят обманывать.

anonymous
()
Ответ на: комментарий от anonymous

можешь потом попробовать это доказать в суде, говорят есть разные решения по этому поводу, но вряд ли топикстартер будет платить адвокату сотни евро за суд с неизвестным результатом

пруф https://pravoved.ru/question/1790967/

autonomous ★★★★★
()
Ответ на: комментарий от autonomous

В магазине сказали, что можно будет в течение двух недель вернуть, при сохранности упаковки и внешней презентабельности.

Meyer ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Так я память на чипах от микрона и на Z270+i7-7700K разогнать толком не смог.

Meyer ★★★★★
() автор топика
Ответ на: комментарий от Meyer

Я не понимаю вот этих приколов с «разгонами».

Ну бред IMHO. Ради пары сотен мегагерц рисковать дорогим железом - это чушь какая-то.

Лично мне проще чуть больше денежек заплатить, но использовать железо в штатном режиме.

slamd64 ★★★★★
()
Ответ на: комментарий от slamd64

К сожалению, частота шины Infinity Fabric в райзенах завязана на тактовую частоту ОЗУ.

Лично мне проще чуть больше денежек заплатить, но использовать железо в штатном режиме.

Я сделал тоже самое. Производителем заявлена работа этих плашек на 3600CL17 (разгон с завода), но я читал отзывы, что можно можно их завести на более низкой частоте, но с гораздо более вкусными таймингами. К сожалению, с чипами Hynix может выйти облом.

Meyer ★★★★★
() автор топика
Последнее исправление: Meyer (всего исправлений: 1)

в ddr4 eeprom 512байтный и информация о производителе чипа во второй половине. По идее должен поддерживаться драйвером ee1004, но у меня оно не работало и пришлось читать напрямую через i2c
Исходя из этого:
https://github.com/torvalds/linux/blob/master/drivers/misc/eeprom/ee1004.c#L107
1. выгружаем драйвер eeprom чтобы освободить доступ к i2c устройству
2. Ищем память на i2c (обычно это один из smbus) путём i2cdump по адресам 0x50-0x54, там будут еепромы с разных плашек
3. когда дамп что-то выдаст - это будут первые 256 байт eeprom. Чтобы считать вторую страницу - нужно записать 0 на эту же шину по адресу 0x37 (можно через i2cset)
Чтобы снова прочитать первую страницу записать 0 по адресу 0x36
Считывал через i2cdump, потом самописным скриптом конвертил из hex в бинарь
Осторожно, я не знаю есть ли защита от записи в памяти. Вполне вероятно что разным экспериментами с i2c память можно и убить

Полученный бинарь можно скормтить скрипту decode-dimms (который почти ничего пока не умеет узнавать) или лучше виндовым утилитам для разбора eeprom ddr4, которые прекрасно работают и под wine если подсунуть bin файлик

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)

А чего ты решил, что ты там что-то кроме Kingston прочитаешь, ведь инфу в EEPROM пишет Kingston. Все, что ты можешь - посмотреть что на чипе или по параметрам SPD догадаться что за чип. Чипы памяти сами о себе ничего не рассказывают.

slapin ★★★★★
()
Ответ на: комментарий от slapin

в eeprom ddr4 есть информация о чипе во второй половине. Но пока что линуксовые утилиты штатно её не читают, как прочитать из линукса написал выше. На винде всегда через него и узнают какой чип

mittorn ★★★★★
()

забыл добавить - чтобы i2c памяти появился пришлось врубать всякие модули типа i2c_piix4 в ядре и сам драйвер i2c_dev

mittorn ★★★★★
()
Ответ на: комментарий от slapin

при больом желании вендор может и наврать. Проверить это можно например расчитав тайминги под чип который там указан. если там совсем другой чип, вероятно он их не возьмёт

mittorn ★★★★★
()

вот, нашёл инструкцию по драйверу ee1004
может и заработает
https://www.spinics.net/lists/linux-i2c/msg32331.html
P.S у меня заработало, никакой возни с пыхтоном
decode-dimms выдаёт такое:

---=== Manufacturer Data ===---
Module Manufacturer                              Kingston
DRAM Manufacturer                                SK Hynix (former Hyundai Electronics)
Manufacturing Location Code                      0x01
Manufacturing Date                               2018-W12
Assembly Serial Number                           0xA62CED9A
Part Number                                      KHX3000C15D4/4GX

если надо подробнее - придётся пихнуть то что в /sys/bus/i2c/drivers/ee1004/?-005?/eeprom в виндовые утилиты

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
17 января 2021 г.

Господа, прошу прощения за некроманство.

Натнулся вот на эту статью (https://damieng.com/blog/2020/02/08/ddr4-ram-spd-linux) и решил узнать а что же там у меня у памяти внутри. Отсюда (https://www.spinics.net/lists/linux-i2c/msg42062.html) узнал, что для DDR4 нужен современный драйвер ee1004.

Arch, DDR4, Ryzen 2400G. Что я сдедал:

sudo modprobe i2c-dev
sudo modprobe ee1004
sudo i2cdetect -l
i2c-3	i2c       	AMDGPU DM aux hw bus 1          	I2C adapter
i2c-1	i2c       	AMDGPU DM i2c hw bus 1          	I2C adapter
i2c-2	i2c       	AMDGPU DM i2c hw bus 2          	I2C adapter
i2c-0	i2c       	AMDGPU DM i2c hw bus 0          	I2C adapter

Подгружал ещё i2c-amd-mp2-pci как то описано в первой статье - разницы никакой (по статье оно требуется на слудещем шаге, но мало ли). Не видно ни одного smbus. ЧЯДНТ?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.