четвер, 15 травня 2014 р.

Xeon сокет 771 в материнку під сокет 775! Саморобний дешевий сервер!

Місяця два назад я побачив в інтернеті інформацію ніби-то деякі умільці зуміли запустити серверні процесори Xeon в звичайних материнських платах. Процесори звичайно не найновіші але і не сильно старі. Мова піде про процесори Xeon під сокет 771 які можна запустити в материнських платах під сокет 775 (процесори Pentium, Core2Duo, Core2Quad)
Найголовніше тут, це знайти відповідний перехідничок, який наклеюється знизу на процесор Xeon і перекидає місцями два контакти.


Тут на фото два такі перехідники і 10 копійок для порівняння масштабу. Перехідники з двох сторін мають липкі смужки, якими приклеюються до процесора. Такі перехідники можна знайти в інтернеті, вони уже є навіть у нас на Aukro по ціні 20 грн за перехідничок, я взяв дві штуки (один про запас).

Отож нам потрібен процесор Xeon який ми хочемо поставити у свою материнську плату. Варто зазначити що НЕ всі материнські плати підтримують всі процесори. Список деяких материнських плат і протестованих процесорів ви можете знайти нижче у статті тут: http://www.delidded.com/lga-771-to-775-adapter/
Логічно зробити висновок що якщо плата протестована з ксеонами на шину 1600 мгц то і ксеони на шині 1333 і 1066 мгц запустяться на цій платі.
Моя плата Asus P5Q SE підтримує шину 1600 мгц тому я без вагань поставив на неї процесор на шині 1333 мгц, Xeon 5160 (новий колись він коштував 851 доларів!)
http://ark.intel.com/ru/products/27219/Intel-Xeon-Processor-5160-4M-Cache-3_00-GHz-1333-MHz-FSB
Також тут треба додати момент про тепловиділення, деякі процесори ксеон є дуже гарячими, тому варто знати наперед чи підтримує ваша материнська плата такі потужні процесори і чи є у вас хороше охолодження. Процесор який я ставив у плату в цьому експерименті має потужність 80 ват а плата підтримує і більші (здається до 120-130 ват) тому і в цьому плані у мене все було добре.

Тепер почнемо наш апгрейд. Спочатку візьмемо процесор і приклеїмо до нього перехідник. Зверніть увагу все має бути як на цьому фото:


Тобто перший контакт процесора (жовтий трикутник) знизу справа, трикутник на перехіднику також обернений до першого контакту на процесорі. Сам перехідник має приклеюватися до процесора, тобто липкими стрічками до низу. І ще один момент, ми ніби пропускаємо один вертикальний ряд контактів справа від перехідника. Коли будете кріпити перехідник подивіться все кілька разів уважно, має бути так як на фото. Як каже прислів'я - "сім раз відміряй, один раз відріж".

Після цього беремося за сокет на материнській платі. Нам потрібно відрізати два "вуха" в які заходив старий процесор під сокет 775



Ці "вуха" що відмічені на фото, червоним, треба зрізати. Я використовував скальпель. Головне не спішити і робити все акуратно щоб не зламати ноги на сокеті які є дуже ніжними і маленькими.
Після того як "вуха" успішно відрізано можна ставити наш новий процесор у цей сокет.
Щоб поставити його вірною стороною знову шукайте позначку першого контакту як на процесорі так і на сокеті і на материнські платі. Як неважко здогадатися, всі позначки перших контактів мають співпасти, як на цьому фото:


Наступний крок, ставимо охолодження, збираємо все інше що потрібне і запускаємо комп'ютер, він має стартувати.


Половину справи зроблено, комп'ютер уже працює і з ним можна працювати. Але є нюанси.
Перше це те, про що сказано у кінці цього хорошого відео:
https://www.youtube.com/watch?v=H5PsPu-Wh2s
Операційна система може не завантажуватися, на хвилині 9:20 вищезгаданого відео розказують як це виправити, достатньо в BIOS виключити одну опцію, а саме Intel (R) C-STATE tech переключити в Disable.


Я ж стикнувся з іншою проблемою...

Мій комп'ютер стартував і працював, але при старті біос жалівся на незовсім сумісний процесор і було рекомендовано оновити прошивку (BIOS). Найбільша проблема в тому що біос у мене уже останньої версії і виробник ніколи не зробить біос сумісний з серверними процесорами Xeon бо ці материнські плати і процесори, задумані як не сумісні :)

Тому щоб у нас було все гарно вихід тільки один, самому лізти у біос і "допилювати" підтримку свого процесора

Раз ми зайшли уже так далеко, тоді почнемо.
Все що я робив базувалося на цій інструкції:
http://www.overclock.net/t/1431723/mod-lga775-support-for-lga771-xeon-cpus
Перший пост тут це переробка процесора, а другий це програмна частина.
http://donovan6000.blogspot.ru/2013/06/insyde-bios-modding-cpu-microcodes.html
Там все по англійськи і дуже багато всякої "єресі" Мене виручило те що материнська плата у мене від нормального виробника Asus, тому все було трохи простіше і швидше. Нам пригодяться майже всі програми які там згадуються, але щоб їх завантажити з вищеназваного сайту, там треба зареєструватися. Тому я зібрав все в один архів і виклав на свій сайт:
gbu.ho.ua/blog/bios.zip
Хочу сказати що проблема "крику" біоса при старті на неправильний процесор, відбувається через те що біос не має мікрокодів процесора. Мікрокоди це певні інструкції для біоса як поводитися з певними процесорами. Щось схоже на те якби вам дали книжку на незрозумілій мові, ви знаєте що це книга, але не можете її прочитати. Все що нам треба буде зробити це знайти наші мікрокоди і добавити до нашого біоса, тоді він буде повністю знати свій новий процесор.

Перше що ми зробимо це завантажуємо останній біос до своєї материнської плати, з сайта виробника. Якщо такого сайту уже немає, або немає біоса, це не страшно, біос можна прочитати зі своєї плати і записати у файл спеціальними програмами.

Тепер запускаємо свою модифіковану систему, запускаємо Windows, беремо програму яка покаже нам дані про наш новий процесор, наприклад програма Everst, дивимося там CPUID нашого процесора:


У мене воно було 000006FBh нам потрібно запам'ятати число без нулів спочатку і без "h" вкінці, у моєму випадку це число "6FB"
Тепер ми йдемо на сайт Intel, виробник процесорів Xeon і шукаємо наші мікрокоди тут:
http://www.intel.com/content/www/us/en/search.html?keyword=Linux
Як пишуть люди в інтернеті, фірма Intel випускає окремі файли з мікрокодами процесорів щоб виробники операційної системи Linux могли інтегрувати їх у свої дистрибутиви. Я так розумію це робиться для того щоб лінукс міг працювати на різних платформах і повністю підтримувати різне залізо. Чесно кажучи в пошуку я нічого такого не бачив але якщо пошукати "20130222" то ми знайдемо наші мікрокоди або можна пошукати "microcodes" так ми знайдемо і новіші версії мікрокодів але нам вони не підійдуть. Мені підійшла збірка мікрокодів "20130222", її я також скинув у свій архів який ви мали завантажити вище.

Тепер ці мікрокоди треба розпакувати. Ви скачали їх у архіві формату "tgz-tar" розпаковуєте їх звідти звичайним RAR-om або як я, взагалі користуюся програмою Total Commander. Ви мусите дістати файл "microcode.dat". Уже цей файл треба розпакувати програмою "microdecode.exe" яка також є в архіві. В результаті ви повинні отримати багато маленьких файлів з мікрокодами


Тепер нам пригодиться число з програми Everest, команда CPUID, мій код "6FB"


Далі я шукаю у цьому списку файли які починаються на "cpu000006fb"
"6FB"  Це якраз код мого процесора, таких файлів у мене тут знайшлося 7 штук, копіюємо їх окремо.

Далі ми працюємо з біосом який ми закачали з сайта виробника материнської плати. Відкриваємо його програмою MMTOOL, яка також є в архіві. Вибираємо "Load ROM", відкриваємо наш завантажений файл біоса, він має відкритися, тоді стаємо на останню закладку в програмі "CPU PATCH" тиснемо кнопку "Browse" і вибираємо всі наші файли які починаються на "cpu000006fb" вибрали один, відкрили і тиснемо кнопку "Apply" і так робимо зі всіма файликами, у мене їх було 7 штук. Після цього тиснемо кнопку "Save ROM" і зберігаємо цей наш новий падчений біос.

Зараз ми уже близькі до фінішу, залишилося лише прошити цей новий біос який ми зробили. У моїй платі це просто. Біос скидаємо на флешку, потім при старті материнки можна настинути "Alt+F2" або вручну з біоса запустити програму "Tools - EZ flash" і там уже вибираємо файл біоса на флешці і прошиваємо. Все, комп'ютер перезавантажиться і старт пройде успішно без всяких зауважень щодо нашого нового процесора, можна працювати.

Ще хочу додати що якщо біос у вас не АМІ а Award то можливо програма "MMTOOL" у вас не запрацює, можливо вам треба буде добавити мікрокоди з допомогою програми "CBROM" яка також є в архіві але складніша у користуванні тому, що вона консольна. (Радію що колись купив нормальну материнську плату ASUS до якої все підходить а не купити щось на 5 баксів дешевше але потім нічого з тою платою не зробиш хіба що повісити на стінку в туалеті)

Все це підтвердило ще один факт, що виробники заліза можуть усе зробити стандартне і використовувати ті самі напрацювання багато років. Але всі вони хочуть їсти тому роблять усе не сумісне, що два роки міняють сокети, процесори, плати щоб люди купували усе нове і залізо не підходило одне до іншого.

5 коментарів:

  1. Электроника 60М, з підтримкою монітора цікавить?

    ВідповістиВидалити
    Відповіді
    1. так цікавить? давно шукаю електроніку 60... пишу в приват

      Видалити
  2. http://gbu.ho.ua/blog/bios.zip
    Cторінка не знайдена...

    ВідповістиВидалити
  3. Ваша ссылна на сайт Интел для поиска микрокодов уже не работает. Вот эта пока еще жива
    https://downloadcenter.intel.com/search?keyword=Linux+Processor+Microcode+Data+File

    ВідповістиВидалити
  4. Файл microdecode в архивах микрокодов отсутствует.
    Скачать можно здесь.
    http://www.ex.ua/view/101024804

    ВідповістиВидалити