Intel fit как собрать биос
Данная инструкция позволит выполнить анлок турбо-буста наиболее современным методом, с помощью утилиты S3TurboTool.
За данную утилиту и новый драйвер анлока стоит благодарить ser8989.
Этот метод имеет весомые преимущества как перед классическим способом анлока через EFI-shell, так и перед методом с встраиванием FFS-драйвера в биос. Анлок через S3TurboTool:
- Достаточно выполнить 1 раз, не слетает при смене операционной системы или компонентов ПК
- Удобен, весь необходимый софт уже включен в дистрибутив программы
- Универсален, будет работать с любыми операционными системами
- Не слетает после выхода ПК из режима сна
- NEW: Позволяет интегрировать DXE-драйвер для двухпроцессорных систем (начиная с версии S3TurboTool_v1.41)
- NEW: Позволяет отключить звук встроенного бипера (начиная с S3TurboTool_v1.5)
- NEW: Позволяет создать RAW-драйвер (начиная с S3TurboTool_v1.53). Как и PEI, RAW-драйвер предназначен для односокетных систем и также не слетает после выхода системы из сна. Он предназначен для плат, биос которых не содержит модуль PchS3Peim, а значит использование PEI-драйвера в них невозможно.
Помимо удобства применения и массы настроек, рабочий анлок после выхода из сна — основное преимущество S3TurboTool над другими методами. Также благодаря новому драйверу было уменьшено энергопотребление процессора без нагрузки.
Использование PEI-драйвера было протестировано на биосах от Huananzhi x99 TF и F8\T8, но работает и на других китайских платах, биос которых содержит модуль PchS3Peim. Для плат без данного модуля полноценный анлок стал возможен с помощью RAW-драйвера.
Подготовка
Как обычно, все действия выполняются исключительно на свой страх и риск.
- Убедитесь, что используете подходящий процессор (Haswell степпинга pre-QS и выше). Подробнее о степпингах здесь.
- Убедитесь, что система охлаждения выдержит увеличившуюся после применения хака температуру.
Необходимый софт
Все необходимые утилиты уже включены в программу S3TurboTool, скачать её можно чуть ниже. Помимо неё нам понадобится только дамп биоса для используемой материнской платы.
-
S3TurboTool_v1.1_S3TurboHack_v0.2
Версия 1.1
Размер файла: 18 MB Кол-во скачиваний: 6405S3TurboTool_v1.41_S3TH_v1.0_DXETH_v1.0_beta
Версия 1.41
Размер файла: 18 MB Кол-во скачиваний: 1859S3TurboTool_v1.5_cat_S3TH_v1.0_DXETH_v1.0_beta
Версия 1.5
Размер файла: 18 MB Кол-во скачиваний: 3127S3TurboTool_v1.53cat_S3THv1_DXETHv1_RAWTHv1b
Версия 1.53
Размер файла: 18 MB Кол-во скачиваний: 10167
В некоторых платах (в основном производства Jingsha) биос защищен от записи, поэтому FPT при попытке прошивки будет выдавать ошибку error 280. К счастью, решение довольно простое: в биосе идем в IntelRCSetup > PCH Configuration > Security Configuration и меняем значение пункта Bios Lock на Disabled. После сохранения настроек и перезагрузки защита от записи будет снята.
Можно использовать как дамп родного биоса (снять его также можно через S3TurboTool), так и сторонние биосы, подходящие для вашей платы. Не следует использовать версии с уже интегрированным по старому методу FFS-драйвером.
Шаг 1. Удаляем микрокод 6F 06F2
Если для модификации выбран биос с уже вырезанным микрокодом, просто пропустите данный шаг.
Шаг 2. Настраиваем CPU C State Control
Шаг 3. Собираем драйвер анлока
- В S3TurboTool нажимаем кнопку «Собрать драйвер»
- Настраиваем необходимые оффсеты напряжения. Core — напряжение на ядра процессора, его понижение обычно даёт наиболее заметный результат. Как правило большинство моделей работают стабильно в диапазоне от -30 до -60, более удачные экземпляры до -100, процессоры с индексом L до -120. Cache (uncore) - обычно выбирается значение -50\-60, но на практике оно легко может превышать и -120. Проверяется стабильность кэша программой LinX с AVX-инструкциями или программами, сильно нагружающими память (к примеру TestMem5). Существует мнение, что сильный андервольт кэша ведет к нестабильности и увеличению таймингов ram.Sys agent — часто имеет значение -50, но как правило понижение напряжения этого модуля не даёт видимых результатов, поэтому можно и вовсе не трогать его.
- Оставляем галочку «Разблокировка турбо», а вот пункт «Использовать баг SVID\FIVR» лучше оставить для энтузиастов и галочку с него снять.
- По желанию, можно добавить в драйвер код биппера. Звучать он будет при выходе из сна и на стандартные звуки спикера не повлияет.
- Нажимаем на кнопку «Собрать драйвер» и получаем уведомление, что созданный файл находится в папке «S3TurboHack».
Баг SVID/FIVR это так называемый vcc1.8 в других драйверах, при определённых значениях SVID/FIVR сносит крышу и так как потребление определяется с ошибкой в меньшую сторону слетает ограничение TDP, использовать крайне осторожно у меня на 2678v3 в тесте линкс потребление поднимается по ваттметру до 430 ватт. -ser8989
Шаг 4. Добавляем драйвер в биос через UEFITool
Шаг 5. Прошиваем биос
Нажимаем кнопку «Прошить биос», указываем путь к нему и наблюдаем за процессом прошивки. После выполнения перезагружаем систему.
Если во время прошивки программа выдает error 200 — не стоит пугаться. Скорее всего, путь к файлу слишком длинный. Перенос в корень диска исправит ситуацию.
Шаг 6. Проверяем
Для проверки можно использовать программу HwInfo, которая показывает частоты для каждого ядра. Параллельно можно запустить какой-либо бенчмарк или стресс-тест (например cpu-z), чтобы нагрузить процессор.
Если всё прошло удачно — частота каждого ядра будет равна максимальному значению турбо-буста процессора.
Видео-инструкции
В видео формате все описанные действия можно посмотреть в следующих роликах:
Как добавить DXE-драйвер для двухпроцессорных систем
Начиная с версии S3TurboTool_v1.41_S3TH_v1.0_DXETH_v1.0_beta в программе реализовано создание DXE-драйвера, корректно работающего в двухпроцессорных конфигурациях (ранее для подобных систем анлок можно было реализовать только с помощью EFI-драйверов). Ниже приводится краткая инструкция по добавлению драйвера, оригинал которой находится здесь.
Как добавить RAW-драйвер для однопроцессорных систем
Использование RAW-драйвера оправдано для тех плат, в биосе которых нет модуля PchS3Peim, а значит использование PEI-драйвера в них невозможно.
ВНИМАНИЕ! После установки RAW драйвера не редактируйте этот биос любыми программами, в противном случае биос станет неработоспособным, если прошить такой биос то материнская плата «ОКИРПИЧИТСЯ», восстановить работоспособность будет возможно
только с помощью программатора.
- В S3TurboTool нажимаем "Собрать драйвер"
- Нажимаем в верхнем правом углу кнопку RAW и в открывшемся проводнике выбираем необходимый файл биоса
- Настраиваем необходимые смещения напряжения. Нажимаем «Собрать и установить драйвер»
- Файл биоса с новым названием сохранился в ту же папку и готов к прошивке. Прошить его можно также соответствующей кнопкой в S3TurboTool.
. или сказЪ о том, как я скормил D845GVAD2 BIOS. Повествование в двух действиях.
Итак, исходная позиция. Есть Intel Desktop Board D845GVAD2 на i845 чипсете, BIOS серьезно поврежден. Требуется его прошить. Идея - прошить только бутблок, "собрать" который куда проще, чем весь образ BIOS. Остальное можно прошить с флоппика или CD/DVD. Идея не нова.
Видим два файла:
English: LY84510A.86A.0043.P17.EB.EXE - Windows версия
English: LY84510A.86A.0043.P17.IB.exe - DOS версия
Нас интересует именно DOS версия. Скачиваем. Получаем файл LY84510A.86A.0043.P17.IB.exe . Это архив, распаковываем его. Внутри следующие файлы:
DESC.TXT
DISKIMG.EXE
LICENSE.TXT
P17-0043.ITK
README.TXT
RUN.BAT
SW.EXE
Нас интересуют два архива - SW.EXE и DISKIMG.EXE - собственно разобранный по файлам BIOS с прошивальщиком и образ голой загрузочной дискеты соответственно.
Далее, бутблок моей платы занимает 64Кб. В моем случае первая половинка - последние 32Кб P17-0043.bi5 и вторая половинка - последние 32Кб P17-0043.bi6. Просто посмотрите как выглядит конец P17-0043.bi6, в случае с другими Intel BIOS основанными на AMI будет похожая картина. Здесь можно кое-что дополнительное почерпнуть на эту тему: rom.by/forum/FAK_Intelovskie_BIOSy
Вырезаем последние 32Кб с этих файлов и склеиваем (я использую Total Commander для этих операций). Должен получиться файл размером ровно 65536 байт = 64Кб.
Далее берем нашу плату, по маркировке флэшки определяем ее объем (в моем случае это 512Кб=524288 байт). Бутблок должен располагаться в конце флэшки. Далее есть два пути.
1) Создать файл размером, равным размеру флэшки, состоящий из байт со значением 0xFF (или 0FFh, кому как удобнее). В последние 64Кб записать бутблок наш.
После этого записать этот файл во флэшку программатором.
2) Обязательно стереть флэшку, удостовериться что она чистая (все байты имеют значение 0xFF), после этого просто записать наш бутблок в ее конец.
После этого вставляем флэшку в матплату. Поскольку у нас кроме бутблока ничего нет, джампер BIOS CONFIG можно оставить в положении Normal. Включаем плату. Признак того что все сделано правильно - бегущие посткоды. Код E9 - инициализация FDD, его наличие - показатель попытки восстановить BIOS.
Действие второе , в котором надо скормить BIOS с дискеты или CD/DVD диска.
Распаковываем файл DISKIMG.EXE, получаем такие файлы:
AUTOEXEC.BAT
CONFIG.SYS
DISK.IMG
ERR_LEV.BAT
FDXXMS.SYS
FINDRAMD.EXE
RAWRITE.EXE
TDSK.EXE
Нас интересует файл DISK.IMG. Записываем его на дискету (можно использовать программу WinImage либо Diskimg.exe, полученный при распаковке LY84510A.86A.0043.P17.IB.exe).
Далее копируем все файлы, полученные при распаковке SW.EXE на дискету. Переходим на дискетку, просматриваем *.bat файлы на предмет команды запуска прошивальщика. В моем случае в файле execute.bat есть две строчки:
IF EXIST IFLASH.EXE Iflash /f /p P17-0043.BIO
IF EXIST IFLASH2.EXE Iflash2 /f /p P17-0043.BIO
Сохраняем эти строчки где-либо. После этого удаляем с дискеты autoexec.bat и config.sys . Создаем чистый autoexec.bat и вставляем туда сохраненные ранее строчки. Затем создаем пустой файл config.sys .
Вставляем дискету, включаем плату, ждем окончания прошивки (в моем случае коды 46->EE, если ничего не путаю). Выключаем плату, ставим если необходимо джампер в положение "Normal", снова включаем. если плата не стартовала, значит либо что-то сделано не так, либо в чем-то еще проблема.
2) Для CD/DVD диска.
Здесь идея в том, чтобы сделать загрузочный диск с образом дискеты. Все то же самое, только все описанные выше манипуляции производим с образом дискеты в программе WinImage, затем сохраняем образ с расширением IMA, запускаем NERO Burning ROM, выбираем тип проекта CD (загрузочный) или DVD (загрузочный), выбираем использование файла-образа, указываем наш файл *.IMA, устанавливаем эмуляцию дискеты 1.44Мб, записываем, вставляем в привод, запускаем плату, ждем окончания прошивки.
Возможно, что бутблок другой платы не умеет грузиться с CD/DVD, Тогда остается только дискета.
Почему же необходимо очищать флэшку перед записью бутблока? Когда я восстанавливал BIOS, вначале я "склеил" 8 бутблоков и получил файл размером 512Кб. Процедура далее прошла нормально, плата стартовала, проходила POST, но вместо некоторых надписей выводилась абракадабра - флэшер явно что-то недочищал. Для желающих разобраться прилагаю два файла - нормальный образ (LY84510A.86A.rar) и "с абракадаброй" (Vnimanie_Fajl_povrezhden_Ne_vshivat_Warning_File_is_damaged_Do_not_flash.rar). Интересно, что флэшер недочистил.
Ну и до кучи опции флэшера - где-то спрашивал кто-то, а флэшер их отдает только в DOS режиме и/или только на подходящей плате:
Intel Flash Memory Update Utility Part 643643-046
GUI-mode options:
/m - Monochrome display /b - Use BIOS video calls
/t - Use EGA/VGA line count /n - Do not use pointer device
Command-line mode options:
/h - Help (this text)
/q - Quiet mode; errors only, and no prompts
/qb - Quiet mode; No beeps
Standard options:
/r - Force reboot after update /@ - Use override file
/f - Force CMOS defaults next POST /d - Verbose debugging output
/c - Clear ESCD (Extended System Configuration Data) next POST
/p pathname - Program FLASH device with contents of 'pathname'.
/pu pathname - Program User Binary area with contents of 'pathname'.
/v pathname - Verify current FLASH with contents of 'pathname'.
/sX pathname - Save resident FLASH area to 'pathname' (or 'vvvv'BIOS),
X = < 'B'IOS, 'L'anguage, 'U'ser, or 'R'ecovery >area.
/x pathname - eXamine FLASH header of 'pathname'.
Special Operations:
/v pathname - Verify current flash with contents of 'pathname.'
/x pathname - eXamine flash header of 'pathname'.
/sX pathname - Save resident flash area to 'pathname' (or 'vvvv'BIOS)
X = < 'B'IOS, 'L'anguage, 'U'ser, 'R'ecovery >area.
/ae - Erase OEM CMOS Defaults.
/ac - Copy Custom CMOS Defaults into the OEM CMOS Defaults.
/af - Force OEM CMOS Defaults next POST.
/ag pathname - Get OEM CMOS Defaults to 'pathname'.
/as pathname - Set OEM CMOS Defaults with contents of 'pathname'.
/ew pathname - Write BMI settings with contents of 'pathname'.
/er pathname - Retrieve BMI settings to 'pathname'.
EFI - не BIOS . Даже букв в названиях разное количество. А если это ещё и на плате от Intel (снова отличное количество букв в названии) - получается совсем тяжко. Попробуем таки разобраться, при этом без углубления в слишком тонкие материи, а больше с прагматическим уклоном а-ля "сделать-прошить-забыть".
Капсула
Итак, скачанное с сайта Intel под видом прошивки (верно для всех плат, начиная с 2004-го года) суть капсула EFI . Капсула, как не сложно догадаться из названия - инкапсулирует в себе много всякой ботвы различных компонентов, из которых, собственно, прошивальщик "на лету" собирает конечный образ EFI BIOS (режет слух и возможны непонятки, потому далее буду использовать привычное название - BIOS ). Увидеть всё это хозяйство (кучу файлов/модулей в составе капсулы) можно с помощью пока недоделанной, но для такого уже рабочей - альфы BIOS Patcher 7 (которую я где-то уже выкладывал в ветке по EFI ) .
Полуспособ номер один - оживляем через BootBlock
При открытии патчером капсулы видны длинные ветки инкапсулированных один в другой файлов, иногда такой глубины, что сразу чувствуешь всю капсульную натуру такой капсулы. Но нам не нужны все. Нам вообще, достаточно найти лишь одну "веточку", которая есть ничто иное, как бутблок в чистом виде. Обычно оный имеет стандартный размер в 64Кб (10000h), однако не факт - уже сталкивался с бутблоком на 256Кб на новых платах с EFI .
Итого, даже не зная ничего и не желая напрягаться - тупо переберить все, что найдёте FFS , пока не увидите справа напротив Size заветные 010000 . Другим точным указанием на то, что это именно BootBlock - есть наличие в составе FFS модуля (тип RAW ) с названием SecCore Driver ( погоняло нашего бутблока "у них - в EFI "). Далее непринуждённо тыкаем кнопку "Сохранить как" и получаем на выходе нужный код BootBlock.
Восстановить с помощью этого файла оригинальный BIOS уже дальше дело техники. Кто внимательно читал "Искусство перешивки BIOS " тому это будет совсем просто. Полученный код с помощью любого hex-редактора вставляем в самый конец "заготовки" прошивки (пустой файл, равный по объёму требуемой прошивке). Прошиваем и получаем ошибку CRC BIOS (ясен перец - его-то - BIOS -а - и нет вовсе), срабатывает аварийная процедура восстановления BIOS (которая располагается в оживлённом нами BootBlock -е) и после стандартных шаманских действий в такой ситуации на выходе получаем рабочий компьютер.
Способ номер два - собираем прошивку
Если предыдущий полуспособ по какой-то причине не подходит, придётся разбираться плотней. Итак, делаем скидку на то, что альфа патчера является альфой и что все варианты сразу описать не смогу.
CapsuleToImage
- recovery firmvare - есть ранее нами уже рассекреченный бутблок (поэтому и пишется в конец)
- main firmware - основной код BIOS (кликуха - DXE Core или POST по-нашенски)
- logos - и прочие подобные файлы (их может не быть) есть просто дополнительная мишура, полноэкранная заставка в данном случае
Попробовал. Загрузчик нашел без проблем, а вот как сохранить его непонял. Отметил его, нажал "Сохранить как", но ничего не сохраняется, файл не создается.
Роман, спасибо - в аккурат, вовремя пришлось (чтоб её, эту маму) ; Ысчо раз, очень вовремя и как всегда грамотно.
- Ситчик веселенький есть.
- Приезжайте, обхохочетесь.
Роман, у меня есть самые свежие исходные коды BIOS-ов для материнских плат на современных чипсетах AMD любых вариантов - RS690 (все варианты), RS780 (все варианты), наверное, еще какие-то. BIOSы c поддержкой AGESA все версий: 3,4,6. В комплекте куча фирменного софта для отладки BIOS-ов. Интересует?
Очень интересует, хоть я и не Роман
Либо нечему гореть, либо нечем поджечь!
blaster, аналогично, меня тоже очень интересует.
Партизан подпольной луны aka (R)soft
BIOS-это как раз и есть основной профиль этого форума-так зачем спрашивать?
а для сепаратизма есть приват-чтоб остальных не дразнить
Дайте пожалуйста ссылочку именно на патчер, окно которого изображено в этой статье, все перерыл не могу найти.
Не понял, где взять ПАтчер 7.
-=Кто сказал что бесполезно биться головой об стену. =- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам
А вот если у меня Insyde BIOS, и там нет капсул.
Только три FFS (очевидно, что это логотип, собственно биос и бутблок). Могу я такое сразу зашить через программатор?
Вот скриншот:
А поясните, пожалуйста следующую вещь.
Пользуюсь указанным альфа патчером.
Делаю, как и написано. Сохраняю бутблок.
Но! Что смущает!
Во первых не работает
Во вторых вот картинка того, что сохранилось (начало)
Так там с нулевого адреса идёт EA D0 FF .
Хотя эта команда должна идти на 16 байте. (чтобы она была первой инструкцией по FFFF:FFF0).
Размер сохранённого файла 0x10000
То есть, дописывая в конец (как указано ) 4-мегбитного (512Kб) биос-файла, ничего не сдвинется.
(
Полученный код с помощью любого hex-редактора вставляем в самый конец "заготовки" прошивки (пустой файл, равный по объёму требуемой прошивке)
Ребят, как вообще эта программа работает? Как можно вставить выход с неё в заготовку?
Я, хоть убей, не пойму как первая выполняемая инструкция при таком выходе должна попасть в FFFF:FFF0. Либо нужно писать программу, чтобы она по 16 байт переписывала. или что. Объясните, пожалуйста.
lsvmo
1. При подобных вопросах было бы неплохо приводить ссылку на разбираемый образ прошивки.
2. Вместо картинки весом 232 кб можно было бы дать сохраненный bootblock весом 64 кб.
3. Глубоко наплевать, что у вас оказалось по нулевому адресу в bootblock'е. Вас интересует инструкция, лежащая в конце bootblock'а (начиная с последних 16 байт).
Плата от Intel DG31GL.
По ссылкам.
Ссылка на то, что получилось у меня с помощью альфа-программы
DG31GL.rom
Насколько я знаю, начиная с 16-ого байта от конца должна быть инструкция EA адрес.
то есть jmp адрес
А у меня её нет. А есть она только по нулевому адресу. Вот я и говорю, как так?
Подскажите, пожалуйста.
Может у кого есть образ прошивки этой платы?
P.S. Кстати, на других BIOS от Intel программа почему-то вообще сама завершается. Открываешь файл, а она раз - и нет её. Например, на DG965RY.
Насколько я знаю, начиная с 16-ого байта от конца должна быть инструкция EA адрес.
то есть jmp адрес
А у меня её нет.
1. Необязательно это должен быть jmp (т.е. можно извратиться кучей других способов для передачи управления в нужную точку), хотя обычно производители не страдают извращениями.
2. Необязательно jmp будет первой же инструкцией по 0xFFFF:0xFFF0.
3. Необязательно код операции jmp будет равен 0xEA.
4. Т.е. bootblock у вас вполне адекватный.
Нда, какую чушь только не пишут гости, в частности Батов Дмитрий Евгеньевич.
а ещё можно обнулить микрокод проца, сильно подув в 1ю ножку, плотно заткнув остальные, тогда все ячейки возвращаются в FF.
Спасибо, очень хороший "цикл" статей о EFI.
Очень не хватает информации как при помощи BIOSPatcher7 вставить модуль в капсулу.
-= Материнская Intel DZ68DB =-
"Научена" производителем запарывать себя саму при перепрошивке БИОСа штатными средствами (по моему опыту с двумя материнскими - F7 точно, из Win может просто ничего не обновиться или сбиться настройки БИОСа, материнская остаётся работоспособной). Надо обязательно включать параметр в БИОСе (по умолчанию Disabled) "Flash Update Sleep Delay" (некая отсрочка при обновлении).
"Вскрытие" показало, что биос потёр область FFS (первоначальной инициализации, с SecCore) и не успел ничего записать взамен (т.к. он сам же при перепрошивке сделал reset или power cycle).
-= Аппаратная часть =-
Intel на матерях использует микросхемы для хранения БИОСа с интерфейсом SPI. В сети имеет хождение программа и схема программатора spipgm, созданного чехом (нужно 4 резистора и барарейку). Подключаться надо непосредственно к контактам самой микросхемы ПРЯМО НА ПЛАТЕ. Используется специальная колодочка или же подручные средства. В моём случае использовал кусочки из IDE-шлейфа на 40 пин. Отделить от него две группы по 4 проводка в каждой. Аккуратно снимается изоляция с одной стороны проводников длинной 4-5 мм, необходимо зачищать именно отступив от края (обреза) кабеля чтобы оставшаяся его незачищенная часть изоляции фиксировала проводники, не давала им распушаться. Эти зачищенные части нужно совместить с ножками микросхемы и надёжно зафиксировать. Предварительно необходимо припаять эти кусочки шлейфа к резисторам, LPT-разъему и отсеку для батареек (некоторые через несколько диодов подключают к +5В, у меня запитывалось от двух аккумуляторов типа AA; запитывание от батарейки, снятой с материнской платы быстро садит эту батарейку и, возможно, батарека должна быть обязательно на плате).
-= О прошивке =-
Предварительно переписывал из микросхемы запоротый БИОС. Рассмотрение его в hex-ах выявило, что стерты данные, где должен быть FFS первоначальной инициализации с SecCore. Это с адреса 3A0000 h и до конца файла.
Пробовал:
1) вписать отсутствующий фрагмент (FFS с SecCore по адресу 3A0000h) в имеющийся образ из микросхемы;
2) как тут написано изготавливать "прошивку" из пустого файла с записанной в конец FFS, содержащей веточку SecCore.
При заливке в материнскую -- циклическое включение/выключение последней.
Она посвящена процедуре прошивки платы как программно (когда плата функционирует), так и с аппаратным сторонним программатором. Нас интересует второй вариант и особенно стр. 25 документа ("Step 5. Prepare the Target PC").
Процедура ПОДГОТОВКИ по пунктам (чего я не делал и потому не получал нужного результата):
CAUTION: To avoid damaging the motherboard and/or other components, AUX power to the machine must be OFF, and the power cord unplugged from AC power.
CAUTION: To avoid damaging the motherboard and/or other components, make sure you follow standard anti-static precautions, including the use of ground straps.
CAUTION: Overwriting the BIOS with a new image can be problematic while the management engine is active, because the management engine can create activity on the SPI bus.
1. On the target PC, make sure power is off.
2. Disconnect the power cable from AC power.
3. There is a green standby power LED next to the SATA connector on the motherboard. Wait until this LED turns off.
4. On the host PC, plug the USB end of the Dediprog cable into a USB port.
5. Отключить SATA кабели, если мешают.
6. Set motherboard in configuration mode (BIOS CFG Jumper, pin 2-3).
7. On the target PC, connect the programmer by connecting the ISP-TC-8 alligator clip to the SPI flash device on the motherboard. Make sure pin 1 on the alligator clip is connected to pin 1 on the flash device. The white line on the SPI plug should line up with the white dot or arrow on the motherboard.
8. Note the configuration of the BIOS CFG jumper.
CAUTION: Make sure the target PC is powered down and the power cable disconnected from AC power before moving the BIOS CFG jumper. Moving the jumper with the power on may result in unreliable computer operation.
9. Grasp the tab on the BIOS CFG jumper, carefully remove the jumper, and set the jumper aside. For detailed information about removing the BIOS CFG jumper, refer to the motherboard product guide.
10. Reconnect the power cable to the target PC, enabling AUX power.
11. Press and hold the power button on the target PC until the system powers up, then powers back off.
12. Locate the green standby power LED. It should now be lit (and the red Intel® ME status LED should be off если материнская плата с поддержкой ME).
Процедура после прошивки описана на стр. 40 ("Step 10. Exit Dediprog and reassemble the target PC").
Для тех, кто не владеет английским приведу СВОЙ перевод. Разумеется, никакой ответственности за качество и правильность перевода. Делайте всё на свой страх, риск и кошелёк.
ПРЕДУПРЕЖДЕНИЕ: Чтобы избежать повреждения материнской платы и/или других компонентов, питание компьютера должно быть отключено и вилка 220 В физически _вытащена_ из розетки.
ПРЕДУПРЕЖДЕНИЕ: Чтобы избежать повреждения материнской платы и/или других компонентов, убедитесь, что Вы принимаете все надлежащие меры по защите от статического электричества, включая заземляющие браслеты.
ПРЕДУПРЕЖДЕНИЕ: Только для материнских плат с технологией управления (intel Management Engine). Например, на чипсетах Q-серий. Запись в БИОС нового образа может быть затруднена при активном "движке" технологии ME, т.к. он также использует шину SPI и может передавать по ней данные при прошивке БИОСа.
1. Выключите питание прошиваемого компьютера (пациента).
2. Физически _вытащите_ вилку 220 В из розетки прошиваемого компьютера (пациента).
3. Отключите кабели от монитор, если от был подключен (в ряде случаев с монитора приходит питание на материнскую плату) + отключите ещё и все другие периферийные устройства (принтеры и проч.). Оставьте только клавиатуру.
4. На плате есть зелёный светодиод дежурного питания. Дождитесь, что он ПОЛНОСТЬЮ ПОГАСНЕТ (разрядится блок питания и не поступает питания от других устройств, например, по USB).
5. Установить перемычку на плате-пациенте в режим конфигурации БИОСа ("BIOS CFG", положение уточняйте в инструкции от материнской платы).
>>>
6. На втором (рабочем) компьютере подключить программатор к USB.
7. На плате-пациенте подключить колодку-клипсу программатора к флеш-микросхеме. При установке убедиться, что метки контакта 1 на микросхеме и на колодке совпадают. Контакт 1 на материнской плате помечен белой точкой или стрелочкой.
=== ОТ МЕНЯ по пунктам 6 и 7: в моём случае я сначала готовил плату-пациента (прикреплял "шлейфики") и уже после этого подключал к рабочему компьютеру разъём LPT. Более того, после закрепления шлейфов убеждался, что имеется контакт всех проводников со всеми соответствующими ножками flash-микросхемы (мультиметром, однако, способ проверки придумывайте сами, не буду ничего советовать, не спец). В окончании процедуры подключал/вставлял батарейки питания "прошивальщика", т.е. по факту микросхемы БИОСа.
----
8. Перемычку конфигурации БИОСа на плате-пациенте ("BIOS CFG") УБРАТЬ, т.е. так установить режим восстановления БИОСа.
ПРЕДУПРЕЖДЕНИЕ: Любые операции с перемычкой конфигурации БИОСа производить при выключенном компьютере с погасшим светодиодом дежурного питания _на_плате_. В противном случае может наблюдаться нестабильная работа компьютера!
9. Подключите питание компьютера-пациента чтобы загорелся светодиод дежурного питания НА ПЛАТЕ (включить вилку в 220 В и выключатель на САМОМ БЛОКЕ ПИТАНИЯ).
10. Нажать и ДЕРЖАТЬ кнопку питания на передней панели компьютера-пациента до тех пор, пока компьютер не запустится и не отключится вновь.
11. Если у Вас плата-пациент с технологией iAMT (Management Engine, например, на Q-чипсете), то на ней рядом с зелёным светодиодом питания расположен красный светодиод "движка" ME. Убедиться, что зелёный светодиод горит, КРАСНЫЙ ВСЕГДА выключен. Если красный мигает - прошивать нельзя: выключить компьютер, дождаться погасания зелёного светодиода и повторить пункты 9 и 10.
12. Идём в программу-программатор и выполняем программирование (прошивку) микросхемы SPI. По окончании записи рекомендуют прочитать образ из микросхемы и сравнить его с файлом, использованным для прошивки.
13. Выключить питание компьютера-пациента, вытащить вилку из розетки 220 В компьютера-пациента. Отключить батарейку питания "прошивальщика". Отключить LPT-разъём из рабочего компьютера.
14. Дождаться погасания зелёного светодиода НА ПЛАТЕ-пациенте.
15. Снять клипсу программатора / провода подключения к flash-микросхеме платы-пациента.
16. Подключить монитор и клавиатуру.
* Далее делаем перепрошивку БИОСа средствами восстановления БИОСа самой платы *
17. Взять USB-flash'ку, отформатированную в формате FAT/FAT32. Скопировать файл профивки с расширением BIO (им уже пользовались при правке повреждённого образа из микросхемы; или взять на сайте Intel в разделе поддержка->драйверы->BIOS). Скопировать на usb-флешку ту же версию БИОСа, что была на плате до неудачной попытки прошить её!
18. USB-flash'ку вставить в плату-пациент.
19. Подключите питание компьютера-пациента чтобы загорелся светодиод дежурного питания НА ПЛАТЕ (включить вилку в 220 В и выключатель на САМОМ БЛОКЕ ПИТАНИЯ).
20. Нажать кнопку питания на передней панели компьютера-пациента. Он может сам же тут же сделать цикл "перевключения". Если всё пойдёт ОК: USB-флешка на определённом моменте начнёт показывать обращения к ней (если на ней есть такой светодиод) и на мониторе будет отражаться ход операций прошивания. По окончании на мониторе будет фраза, что обновление БИОСа успешно окончено и необходимо отключить компьютер и установить перемычку режима БИОСа в другое положение.
21. Выключить питание компьютера-пациента, вытащить вилку из розетки 220 В компьютера-пациента.
22. Отключить кабель монитора от компьютера.
23. Дождаться ПОЛНОГО погасания зелёного светодиода НА ПЛАТЕ-пациенте.
24. Установить перемычку на плате-пациенте в режим конфигурации БИОСа ("BIOS CFG", положение уточняйте в инструкции от материнской платы).
25. Подключить монитор, подать и включить питание, СДЕЛАТЬ СБРОС НАСТРОЕК БИОСа по умолчанию (BIOS defaults).
26. Выключить питание компьютера-пациента, вытащить вилку из розетки 220 В компьютера-пациента.
27. Отключить кабель монитора от компьютера.
28. Дождаться ПОЛНОГО погасания зелёного светодиода НА ПЛАТЕ-пациенте.
29. Установить перемычку на плате-пациенте в "нормальный" (Normal/default) режим БИОСа ("BIOS CFG", положение уточняйте в инструкции от материнской платы).
Необходимым и достаточным условием работы большинства процессоров-мутантов на сокете 1151-1151v2 является прошивка модифицированного BIOS. В статье рассмотрены общий и частные случаи модификации BIOS.
реклама
Требования к материнской плате
Для установки мутантов подходят только материнские платы 1151-1151v2 на следующих чипсетах: H110, B150, Q150, Q170, H170, Z170, C232, C236, B250, Q270, H270, Z270, H310C (не путать с H310), B365, Z370.
Для установки мутантов совершенно точно НЕ подходят материнские платы 1151v2 на следующих чипсетах: H310 (не путать с H310C), B360, Q370, H370 и Z390.
Для инженерников-мутантов 6-го поколения – QHR7, QPH7 и QHPW – подходят только материнские платы с чипсетами 100 серии.
Как отличить H310 от H310C
реклама
H310C подходит для модификации, H310 не подходит.
Если невозможно определить чипсет по названию материнской платы, следует открыть ее BIOS в CoffeeTime, речь о котором ниже.
Где брать BIOS для модификации
BIOS для модификации можно скачать на официальном сайте производителя материнской платы. Выбирать последнюю версию.
реклама
Если необходимо установить старую версию BIOS, выбирать версию не ниже той, где добавлена поддержка Kaby Lake. Исключение – QHR7, QPH7 и QHPW.
BIOS для QHR7, QPH7 и QHPW
Сразу закроем вопрос с инженерниками-мутантами 6-го поколения. Для их работы необходима старая версия BIOS, где нет поддержки Kaby Lake.
В списке BIOS находим версию, где появилась поддержка новых процессоров. Для Asus Z170M Plus это 3017. Значит нужна версия BIOS ниже, чем 3017.
реклама
В отдельных случаях необходимо добавление микрокода 506E1 в BIOS. Как это сделать через CoffeeTime рассмотрено ниже.
Софт для модификации
Для модификации BIOS удобно использовать CoffeeTime. Рассмотрим модификацию на примере последней версии 0.99.
Модификация BIOS в CoffeeTime
Весь процесс модификации сводится к прожиманию активных кнопочек Patch, замене версии и отключению ME, замене версий VBIOS + GOP и микрокодов. Если задержать курсор мыши на параметрах CoffeeTime, то всплывут текстовые подсказки за что отвечает тот или иной параметр.
В общем случае должно получиться так:
Выбор версии ME
Для мутантов на выбор доступно две версии ME – Corporate 11.7.0.3307 и Corporate 11.8.77.3664.
На материнских платах Asus рекомендуется 11.7.0.3307 из-за возможности получить кирпич при последующем откате версии ME. В случае, если откат не планируется, а также во всех остальных случаях рекомендуется последняя версия.
Ограничение на количество микрокодов
BIOS некоторых материнских плат не может вместить большое количество микрокодов. В этом случае приходится ограничиваться поддержкой лишь части процессоров. Следующие микрокоды обеспечивают работу:
- 506E3 – релизных процессоров 6-го поколения Skylake;
- 506E8 – инженерных процессоров 7-го поколения Kaby Lake, в частности QL2X, QL3X;
- 906E9 – релизных процессоров 7-го поколения Kaby Lake;
- 906EA – релизных и инженерных процессоров 8 и 9-го поколений Coffee Lake на 6-ядерном кристалле, в частности QNCT, QNVH;
- 906EB – релизных и инженерных процессоров 8 и 9-го поколений Coffee Lake на 4-ядерном кристалле;
- 906EC – релизных и инженерных процессоров 9-го поколения Coffee Lake Refresh степпинга P0, в частности QQLT, QQLS;
- 906ED – релизных и инженерных процессоров 9-го поколения Coffee Lake Refresh степпинга R0, в частности QTJ2, QTJ1, QTJ0, SRFD0 (9980HK).
Микрокоды для инженерных версий 6-го поколения Skylake 506E0 и 506E1 нет смысла добавлять в новые версии BIOS.
Никаких процессоров 10-го поколения Comet Lake и микрокодов для них на 1151 нет. QTJ2 - ничто иное как процессор на кристалле R0 Coffee Lake Refresh.
Выбор ревизии микрокода
Микрокоды Intel регулярно получают обновления. Ревизия микрокода в BIOS на практике может повлиять на разгон памяти. CoffeeTime 0.99 по умолчанию предлагает микрокоды EA, с которыми память разгоняется хорошо.
Гнаться за последними микрокодами в BIOS не следует – Windows автоматически подгружает новый микрокод при старте системы.
Перенос персональных данных (опционально)
Каждая материнская плата имеет уникальный MAC-адрес, который прописан в BIOS. У Asus есть дополнительные данные.
Представленные на официальном сайте BIOS этих данных не содержат. Чтобы их перенести в модифицированный BIOS, нужно сделать бэкап оригинального BIOS. CoffeeTime умеет переносить эти данные из бэкапа.
Перенос персональных данных не обязателен для работы материнской платы.
Дополнительные настройки (опционально)
Отдельной вкладкой в CoffeeTime представлены дополнительные настройки.
К применению рекомендуются специальные патчи для MSI и Clevo, – исключительно для материнских плат этих брендов.
Установка частоты памяти по умолчанию на 2133 применяется при невозможности запуска системы с частотой памяти выше.
Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news - это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
AMD'шники могут смело пропустить весь текст ниже и читать вторую часть этой статьи, а мы продолжаем разбирать получившийся файл ROM.
Intel рассказывает о структуре своих BIOS'ов на страницах даташита на соответствующие чипсеты. Для всех чипсетов, начиная с 6 серии, этот формат в общем не менялся, поэтому его можно смело взять оттуда. Файл делится на 3-5 регионов:
Необязательными являются регионы GbE (используется совместно с встроенными сетевыми картами Intel начального уровня) и PDR (предназначен для данных OEM, но я ни разу не видел, чтобы он где-то использовался).
Descriptor
Этот регион должен находится в первой (из двух поддерживаемых) микросхеме flash по нулевому адресу и подразделяется на 11 секций, суммарный размер которых не должен превышать 4 килобайта. Устроен он так:
Первые 16 байт не используются и всегда равны 0xFF, за ними следует сигнатура 0x0FF0A55A, затем секция Descriptor Map, указывающая смещение начальных пяти секций и их размер.
Секция Component содержит информацию об используемых микросхемах flash: их количество (1 или 2), плотность (от 512 Кб до 16 Мб), запрещенные команды (такие как chip erase, например) и частоты чтения, быстрого чтения и стирания/записи.
Секция Region содержит смещения и размеры других регионов.
Секция Master содержит настройки доступа каждого из трех возможных мастеров (BIOS, ME, GbE) к пяти возможным регионам.
Секции PCH/PROC Straps содержат параметры конфигурации процессора и северного моста.
Секция Upper Map содержит смещение и размер таблицы VSCC .
Таблица VSCC содержит идентификаторы JEDEC и данные VSCC всех поддерживаемых Management Engine микросхем flash.
Секция OEM может быть заполнена OEM-производителями по своему усмотрению, но я не видел её заполнения ни разу.
Проверим теперь структуру полученного нами файла ROM на соответствие вышеприведенной:
Легко видно, что структура вполне себе соответствует, но угадать, за что именно отвечает каждый байт каждой секции будет непросто.
К счастью, Intel избавил нас от угадывания, выпустив утилиту FITC , которая позволяет настроить дескриптор (и не только его) и содержит подсказки по каждому доступному для редактирования пункту. Утилита эта входит в набор для разработчиков материнских плат и не предназначена для конечных пользователей, но ссылку на нее всегда можно найти на форумах, посвященных модификации BIOS'ов.
Открываем наш файл ROM в FITC 8.xx и все настройки дескриптора как на ладони:
Я крайне не рекомендую ничего менять, кто не знает, зачем он это делает.
Самыми часто изменяемыми настройками здесь являются настройки доступа к регионам (выделены зеленым на скриншоте hex-редактора), которые в дикой природе встречаются двух видов: вышеприведенные «всем можно всё» и стандартные настройки Intel. Иногда открытость записи в регион МЕ помогает справится с нарушением его работоспособности, просто перезаписав его полностью. На платах со стандартными настройками это невозможно без получения доступа к МЕ, которое на разных платах реализовано по разному и может потребовать достаточно нетривиальных манипуляций (замыкания ног аудиочипа во время загрузки, например).
Обратная сторона открытости — вредоносный код может делать что угодно с дескриптором и всем остальным содержимым микросхемы BIOS. Почему-то об этом говорить не принято, при том, что абсолютно все платы ASUS на P67 с BIOS'ам версий 3ххх и все платы ASUS на Z68 имеют открытый дескриптор. И security никакая, и с obscurity проблемы, о чем инженеры думали — не знаю.
Вторая полезная настройка — плотность микросхемы BIOS, которую приходится менять в случае восстановления испорченного BIOS'а платы с микросхемой большого объема, используя работоспособную плату с микросхемой меньшего.
Присутствует только на платах со встроенными сетевыми картами Intel начального уровня, вроде 82579.
В даташите на этот чип в разделе 10 имеется описание структуры NVM , которая и хранится в регионе GbE целиком.
Главная настройка, которую может быть интересно изменить — MAC-адрес, находящийся в самом начале региона, в первых 6 байтах. Если вдруг вам нужно сменить аппаратный MAC своей встроенной карты Intel, и регион GbE на вашей плате имеется — вы знаете что делать.
В нашем примере регион GbE находится по смещению 0x1000 от начала и содержит стандартный MAC для всех образов NVM, выпускаемых Intel в качестве обновления — 88:88:88:88:87:88:
При прошивке стандартными средствами регион GbE не обновляется вообще, несмотря на присутствие обновленного NVM в файле с обновлением BIOS'а, поэтому Intel пришлось выпустить отдельную утилиту NVM Update, когда в результате ошибки в версии 1.3 карта переставала работать нормально после установки Windows 8.
Регион содержит кучу других настроек, о которых можно прочесть в указанном выше даташите.
Здесь находится Management Engine Firmware и ее настройки. Про ME можно писать бесконечно, потому что там чего только нет. Лучшее описание структуры этого региона и возможных векторов атаки на него вы можете прочесть в докладе Игоря Скочински на Breakpoint 2012.
Для тех, кто еще не ушел читать его — краткая выжимка:
В чипсетах Intel имеется микроконтролер с архитектурой ARCompact, получающий питание от дежурной линии ATX, имеющий доступ ко всем устройствам, к RAM, собственный сетевой стек и работающий под управлением ОСРВ ThreadX. Вот он то и обеспечивает все рекламируемые Intel технологии, вроде Active Management, AntiTheft, Identity Protection, Rapid Start, Smart Connect, Protected Audio Video Path и так далее и тому подобное. А при помощи Dynamic Application Loader на нем можно даже Java-апплеты запускать.
На наше счастье, с безопасностью МЕ все более или менее в порядке, и пока я не слышал о случаях успешного внедрения вредоносного кода, но само по себе наличие в чипсете МК, исполняющего неизвестные никому, кроме Intel, программы и имеющего полный доступ к RAM и сети — уже повод для паранойи у склонных к ней людей.
Изменить доступные настройки МЕ можно при помощи той же Intel FITC:
В нашем примере регион ME начинается со смещения 0x3000 и имеет размер 1,5 Мб, что указывает на плату без поддержки AMT .
Регион состоит из одного или нескольких EFI Firmware Volume, о структуре которых я напишу во второй части этой статьи.
Там же мы затронем процесс загрузки UEFI и полезные в некоторых случаях патчи.
Platform Data Region
Регион предназначен для описания каких-либо зависящих от платформы возможностей и по плану должен использоваться OEM-производителями, но по факту я не видел его ни разу.
Источники информации
Читайте также: