Как подружить китайскую оперативную память с сервером.
Доброго времени суток.
И так начнем с предисловия.
Приобрел старый сервер построенный на плате, Intel S1200BTL c процессором Intel xeon E3 1230 и оперативной памятью 2Гб.
2ГБ оперативной памяти мало, для моих задач по этому решил докупить.
Плата поддерживает только оперативную память ECC no REG. ECC REG и обычную от десктопа не поддерживает.
Не нашел за адекватные деньги рядом. Поэтому решено было взять у великих и могучих китайцев.
Приехало установил все работает.
Проблема
Пришло время икс подымать сервер.
Начал устанавливать ОС, но сервер маслает вертушки на 100% , а это 17к оборотов.
Установлено 3 шт, рев как от пылесоса.
Немного пошукав по интернету было найдено решение, в виде прошивки биоса мат платы где обновляется алгоритм работы вентиляторов.
Сразу скажу это не помогло.
Я проклял все когда пытался найти обновление на сайте Intel, на столько там это все через жопу. (это не относиться к делу так крик души.)
Товарищи мне подсказали что нужно подключиться к BMC, и посмотреть логи и хотя бы понять на что ругается.
Как же я разочаровался в интел когда лог который сформировался был под паролем.
Нашел вкладку сенсор и там была проблема только в одном пункте.
Вот так выглядит сенсоры на памяти которая была изначально.
Вот так выглядит сенсоры с китайской памятью.
Нашел в мануале что это какой то датчик температуры который должен быть в оперативной памяти.
Причина локализована что дело точно в памяти.
Решение
Решение проблемы собственно пришло само собой, нужно изменить SPD оперативной памяти.
На википедии есть отличная статья про SPD оперативной памяти вот ей и воспользовался. SPD DDR3
Рассматривая SPD DDR3 по адресу 0x20 есть какой-то параметр «DIMM thermal sensor present?» отвечающий за темпер.
На той которой все работает значение 80 на китайской тоже 80, а вот на обычных DDR3 от десктопа там 00.
На основе полученных данных меняем в адресе 0x20 значение на 00.
Вроде как это значит Disable, но возможно что нет если кто знает точно пишите.
Подгоняем контрольную сумму. О том как считать вот тут
https://comsystem-tlt.ru/obzori/peredelka-ddr3-pamjati-v-ddr3l-s-pravkoj-crc
Зашиваю SPD и ура чудо сервер успокоился.
Также хочется отметить что ошибка не как не изменилась. но при этом все стало спокойно.
Есть предположение что в китайской памяти забыли про эти датчики, а в SPD активировали функцию этих датчиков.
По этому сервер видит что они должны быть, а данные от них не поступает.