Привет, дорогие читатели! Сегодня расскажу интересную ситуацию, с которой пришлось столкнуться и победить.
Предыстория
Довелось встретиться с сервером Kraftway на базе материнской платы P9D-M. После запуска оказалось, что производительность его оставляет желать лучшего. Несмотря на 32 гигабайта оперативной памяти. Глянули в диспетчер задач – а там…. 1 ядро на процессоре. Ну да ладно, посмотрим, что там в настройках BIOS.
Эммм….! Как так? Одно ядро – это совсем не катит! Ну да ладно, попробуем перепрошиться через встроенный прошивальщик.
А его нет! Просто нет на борту. Да что ж за ерундень такая! BIOS не прошить, оставить всё как есть – не вариант.
Сборка прошивальщика
Тут товарищ почитал Интернеты и нашёл несложную схему самодельного флешера, которую и собрал буквально на коленке. Из того, что было под рукой – LPT-порт, четыре резистора, разъем под микросхему биоса и конденсатора.
Интерфейс – LPT, питание берётся от SATA Molex (для микросхемы по Datasheet нужно 3,3 Вольта).
Важное замечание – питание нужно обеспечить качественно, пропаять всё очень надёжно. Мы получали много ошибок при прошивке на плохом контакте, пока не устранили все косяки.
Далее, качаем софт для прошивки – spipgm (120 Кб). Обращаю внимание, что для использования утилиты под Windows необходимо запускать исполняемый файл spipgmw.exe (входит в комплект).
Вытаскиваем BIOS из мат.платы, устанавливаем в наш прошивальщик и подключаем к нашему LPT-порту (на выключенном компьютере).
Затем запускаем утилиту с ключём /i – для идентификации чипа. Если отобразится модель чипа и серийный номер, значит всё в порядке!
Далее, на всякий случай сохраним содержимое памяти чипа, если вдруг наш скачанный BIOS не покатит по каким-либо причинам. Для этого используем ключ /d <имя файла>
Процесс занимает продолжительное время, так что запаситесь терпением! В указанном примере мы сохраняем содержимое памяти чипа в файл bios-backup.bin в текущем каталоге.
Подготовка образа для заливки
Идём на официальный сайт ASUS и находим нашу материнскую плату. В разделе “Поддержка” идём в раздел “Драйверы и Утилиты”, выбираем операционную систему “DOS” и качаем актуальную версию BIOS. На данный момент это 1801. Читайте подробнее о том, как подбирать драйверы на сайте производителя оборудования.
Вот незадача! В архиве находится CAP-файл с именем P9D-M-ASUS-1801.CAP, который на 2 килобайта больше, чем снятый дамп с микросхемы.
Из материалов с Хабра (https://habrahabr.ru/post/185704/) понимаем, что у нас обычный UEFI Capsule файл, а сама прошивка начинается со смещения 0x00000800
(как раз те 2 килобайта разницы).
Отрезаем первые два килобайта файла (до нужного смещения) в любом 16-ричном редакторе (например WinHex) и сохраняем под произвольным именем.
Я сохранил под именем P9D-M-ASUS-1801.ROM в каталог с утилитой.
Прошивка
Ну чтож, пора приступать к прошивке!
Воспользуемся следующими командами:
- spipgmw.exe /u (от слова Unlock – разблокировать микросхему на запись);
- spipgmw.exe /e (от слова Erase – стереть содержимое памяти микросхемы);
- spipgmw.exe /p P9D-M-ASUS-1801.ROM (от слова Programming – закачать указанный файл – длительная процедура);
- spipgmw.exe /v P9D-M-ASUS-1801.ROM (от слова Verify – сравнить содержимое памяти чипа с файлом. На этом этапе выявляются ошибки в прошивке).
Я записал видео с ходом прошивки, кому интересно – посмотрите! Осторожно! Без мата.
Результаты
В результате успешно увиделись все 4 ядра процессора, а также появилась встроенная утилита для прошивки! Теперь можно всего воткнуть последний BIOS!
Версия BIOS соответствует той, которую прошивали.
Оставляю прежде всего как инструкцию для себя, если вдруг встретится подобная ситуация, но буду рад, если кому-то ещё поможет.
Comments: