В розыске дамп BIOS с рабочей материнки включая бутблок, официальные биосы от асуса не подходят.
В результате полной прошивки утерян блок с МАКом адаптера, серийником мамки и прочим. Очень нужен дамп с рабочей мамки.
почему? KDV74, если автору не подходят биосы с офф саппорта, почему ему подойдут биосы с диска? он по-прежнему не сможет их приготовить, они же одинаковые автор, подобные темы уже поднимались, и решения выкладывались, и подсказки давали, про "включая бутблок" это вы так шутите?
Боюсь показаться занудой, но раз написано включая бут блок, значит тем кто пожелает помочь и слить биос с рабочей мамки придется слить его вместе с бутом (понятно что программатор сольет весь, но не у всех он есть)
Собственно вопрос решен, зона уникальных настроек в данной мамке находится по смещению 0xDC000, на работе с первой попавшейся асустековской матери слил дамп нашел где что лежит и слил блок, подправил мак, название и серийник и залил к себе. Работает
Выводы следующие:
Структура этой зоны для AMI биосов сходной версии асуса идентична, различается смещение.
Данная зона не входит собственно в биос материнки (то есть не упакована не является одним из модулей и лежит в чистом виде в резервной зоне перед бутблоком, при перепрошивке не перезаписывается стандартной вендорной утилитой)
Читается она строго через мост и под управлением микропрограммы биоса, соответственно не чувствительна к типу адаптера и вендорным утилитам настройки сетевых адаптеров.
Возможно наработать технологию восстановления такой зоны без наличия оригинального дампа, если интересно могу описать методику подробнее....
соответственно не чувствительна к типу адаптера и вендорным утилитам настройки сетевых адаптеров
утилитам от AMI тоже недоступна эта область? да и утилиты вендоров с соответствующими ключами также способны перешивать эти области
Цитата:
лежит в чистом виде в резервной зоне перед бутблоком
где по-вашему, находится бут-блок? в остальном - правильный подход (больше дела, меньше вопросов), можете расписать для новичков, вдруг количество подобных вопросов уменьшится
afudos от AMI ключи может и имеет, однако про SPI флеш на этой мамке знать не знает, соответственно не работает, afudos от асуса перекомпилирована и из нее удалена работа со всем ключами трогающими DMI и прочие вкусности, есть веские основания считать, что asus именно потому и порезала свой прошивальщик, что смещение этих зон отличается от оригинальных AMI.
В общем то ни одна из найденных в интернете утилей не смогла опознать SPI флеш материнки, посему пришлось работать руками и головой.
Что касается вендорных утилит производителей LAN адаптеров, то они могут работать лишь с eeprom подключенным к адаптеру, причем весьма не тривиальным способом, eeproma на матери нет и поскольку чип реалтека не сам забирает из биоса мак и в нем нет механизма работы с флешем биоса, вендорные утилиты БЕСПОЛЕЗНЫ, они просто напишут что eeprom не обнаружен.
Поковырявшись в доках на чипы я пришел к выводу что биос при старте после распаковки в памяти и процессе выполнения собственно микропрограммы bios на определенном этапе лезет в flash, считывает из определенной зоны лежащий там мак (и не только) и инициализирует встроенную сеть, при иницализации он заносит в конфигурационный регистр реалтека считанный мак и мы можем работать с адаптером.
Собственно что я сделал:
для прошивки использовал линукс и flashrom, это наилучший вариант и писать биос целиком полным дампом и работать с хекс редактором
Взял запасную SPI флэш и сделал копию биоса для хотсвопа назовем ее биос1. Во вторую флешку залил дамп состоящий из уникальной повторяющейся последовательности назовем ее биос2
1. Готовим дамп создав в хекс едиторе дамп с повторяющейся последовательностью например F1 F2 F3 F1 F2 F3 и так до конца.
2. Грузим линукс (например загрузочный UBUNTU) ставим flashrom делаем своп и шьем в нашу биос2 этот тестовый дамп.
3. Перезагружаем комп используя биос1 и запускаем встроенную в биос фирменную утилиту асус EZFlash, задача запустить прошивку биос но обойти проверку соответствия версии поскольку прошивальщик сунется в биос на каком то этапе и может обнаружить там наш тестовый биос2. Выбираем какой нить из скачанных биосов для данной материнки и доходим до момента в прошивальщике когда впыкатится окончательное меню "шить не шить"
4. Делаем своп на нашу тестовую биос2 и жмем прошить, произойдет стирание и запись, в принципе запись можно и не ждать, на данном этапе нам она не интересна. Выключаем.
5. вставляем биос1 и загружаемся в линукс (можно с загрузочного USB убунты, но лучше накатить его на диск так как ставить каждый раз из репозитария flashrom нудно)
6. Делаем хотсвоп и ставим биос2, читаем ее содержимое с помощью flasrom
7. Открываем считанный дамп и смотрим в какой зоне осталась не тронутой наша последовательность F1 F2 F3 F1 F2 F3 и записываем смещение по которому она находится, это и есть зона бута и зона прочих уникальных настроек. Фирменный прошивальщик в нее не пишет, дабы не пострадал мак, серийник мамки и прочее, ну и бут не трогает.
8. У нас по прежнему стоит биос2, заливаем в нее с помощью flashrom заводской обезличенный биос скачанный с сайта.
9. Выключаем комп у нас осталась стоять прошитая биос2 с заводской прошивкой, отключаем блок питания от розетки и замыкаем перемычку clr cmos на 3-5 секунд.
10. подключаем питание, включаем комп, заходим в биос и делаем сброс настроек к дефолтным.
11. Загружаемся в линукс и сливаем полный дамп нашего биос2 с заводским (тем который шили в п.8)
нас интересует смещение которое мы выяснили в п.7 начиная с него дальше будет располагаться зона прописанная FF вслед за ней будет идти бутблок он собственно в самом конце и находится. Начало бутблока можно отследить по записи AMIEBBLK, соответственно начиная с нашего смещения найденного в п.7 и до начала бутблока располагается резервная зона которая нас интересует
12. Просматриваем вычисленную зону на предмет присутствия там каких либо внятных записей, мы должны найти несколько последовательных фраз "Заполняется производителем оборудования OEM" это примерный перевод, оригинал ессно на английском, внимание эта запись отсутствует в оригинальном заводском дампе, она появляется ТОЛЬКО при корректном сбросе cmos в дефолт, то есть ее нам вписывает сама микропрограмма биос. У меня блок располагался по адресу 0xDC000 начинался с нескольких цифр, далее со смещения 0xDC010 шел упомянутый текст, что как бы намекало прямо, заполни и получи.
Собственно дальнейший процесс был очевиден, с первой попавшейся материнки был слит дамп (ASUS P5QC) там найдена такая же зона, мак адрес был найден моментально поскольку он записан там дважды, один раз в прямом виде прямо в коде и второй раз в виде текста. предположив что первые десять байт трогать не стоит (они немного отличаются для разных типов материнских плат) я сделал дамп со смещения 0xDC010 по 0XDC170 подправил МАК, наименование модели МП и серийный номер, вставил в свой биос и прошил, сеть благополучно получила мак адрес, все работает.
Что удивительно, материнские платы радикально разные! M4A785-м - AMD, P5QC - intel, сетевые адаптеры разные, северники разные. Схожесть дампа один в один, могу объяснить лишь методом его использования. Эту информацию считывает именно микропрограмма биоса, она же используя стандартизированные команды забивает МАК адрес в регистры LAN чипа.
Не смотря на то что первые 10 байт по смещению 0xDC000 немного отличаются, там есть нечто общее, это в районе 8-10 байта находится загадочная цифра 6. Прикинув примерно возраст материнок и то что у обоих одинаковые SPI флешки, осмелюсь предположить, что цифра 6 номер версии биоса (внутренний номер) который как раз и говорит о том что работа с зоной уникальных настроек у этого биоса одинакова для (как минимум) всех материнских плат для которых использовалась эта базовая версия AMI биоса.
Если есть желающие покопать дальше, в перспективе думаю не проблема написать софтину которая сможет делать анализ дампов и решать вышеуказанный процесс полностью автоматически.
Афтор, ты бы сразу сказал что вышивал биос всякими хоствапами, линуксами и т.д. а не программатором и не выносил мозг людям что оф. биос нерабочий и в нем нет бутблока.
Много буковок, не осилил, не читатель однако
Но с данным выссказыванием я бы поспорил. Все они могут и по всякому. Надо просто читать хелп к ним внимательно.
Цитата:
Что касается вендорных утилит производителей LAN адаптеров, то они могут работать лишь с eeprom подключенным к адаптеру, причем весьма не тривиальным способом, eeproma на матери нет и поскольку чип реалтека не сам забирает из биоса мак и в нем нет механизма работы с флешем биоса, вендорные утилиты БЕСПОЛЕЗНЫ, они просто напишут что eeprom не обнаружен.
Дружище, для тех кто в танке объясняю, в официальном биосе зона с маком, серийником мамки и прочими персоналиями ОТСУТСТВУЕТ!
Он рабочий но мака там нет, без мака виндовый драйвер положит твою сетевуху что бы не флудила нулевым и не гасила оборудование, это защитная функция именно драйвера, в случае если у тебя сдохнет флеш или будет затерта зона этих настроек я посмотрю как тебе поможет заводской биос. Удивляюсь порой с людей им даешь знание в чистом виде, а они вместо спасибо носом крутят.....
Линукс использовался по причине нативной работы собственно прошивальщика (flashrom есть и под дос, но не обновляется) и главное под линуксом можно проверить работает ли адаптер вообще, так как там интерфейсу можно сунуть мак руками и поднять, в виндах такой цирк не работает по причине указанной выше
Насчет всяких хотсвапов, как показала ПРАКТИКА лучший вариант для прошивки биоса современных матерей именно через flashrom, правда шьет она как программатор то есть полностью, без сохранения всех этих резервных зон.
Мне родной бут завести не удалось, пришлось собрать программатор и прошивать полностью, если бы знал сразу про чудеса с маком сохранил бы дамп, но век живи век учись....
Дамп могу выложить позже из дома, под рукой просто нет, сравнивать с заводским бессмысленно, я и так могу сказать в заводском начиная со смещения 0xDC000 идет блок FF вплоть до бута, в рабочем дампе 170 байт нужной даты и дальше FF
А по моему вы просто не так его готовите..............
И бекап никто не отменял сохранять.
Биос с оригинального диска от материнской платы, если Вас с оф. сайта неустраивают.
почему?
KDV74, если автору не подходят биосы с офф саппорта, почему ему подойдут биосы с диска? он по-прежнему не сможет их приготовить, они же одинаковые
автор, подобные темы уже поднимались, и решения выкладывались, и подсказки давали, про "включая бутблок" это вы так шутите?
Боюсь показаться занудой, но раз написано включая бут блок, значит тем кто пожелает помочь и слить биос с рабочей мамки придется слить его вместе с бутом (понятно что программатор сольет весь, но не у всех он есть)
Собственно вопрос решен, зона уникальных настроек в данной мамке находится по смещению 0xDC000, на работе с первой попавшейся асустековской матери слил дамп нашел где что лежит и слил блок, подправил мак, название и серийник и залил к себе. Работает
Выводы следующие:
Структура этой зоны для AMI биосов сходной версии асуса идентична, различается смещение.
Данная зона не входит собственно в биос материнки (то есть не упакована не является одним из модулей и лежит в чистом виде в резервной зоне перед бутблоком, при перепрошивке не перезаписывается стандартной вендорной утилитой)
Читается она строго через мост и под управлением микропрограммы биоса, соответственно не чувствительна к типу адаптера и вендорным утилитам настройки сетевых адаптеров.
Возможно наработать технологию восстановления такой зоны без наличия оригинального дампа, если интересно могу описать методику подробнее....
утилитам от AMI тоже недоступна эта область? да и утилиты вендоров с соответствующими ключами также способны перешивать эти области
где по-вашему, находится бут-блок?
в остальном - правильный подход (больше дела, меньше вопросов), можете расписать для новичков, вдруг количество подобных вопросов уменьшится
Если вопрос решен, покажите Ваш рабочий дамп слитый программатором и какая версия у него.
Чисто сравнить оф. биос и Ваш рабочий.
afudos от AMI ключи может и имеет, однако про SPI флеш на этой мамке знать не знает, соответственно не работает, afudos от асуса перекомпилирована и из нее удалена работа со всем ключами трогающими DMI и прочие вкусности, есть веские основания считать, что asus именно потому и порезала свой прошивальщик, что смещение этих зон отличается от оригинальных AMI.
В общем то ни одна из найденных в интернете утилей не смогла опознать SPI флеш материнки, посему пришлось работать руками и головой.
Что касается вендорных утилит производителей LAN адаптеров, то они могут работать лишь с eeprom подключенным к адаптеру, причем весьма не тривиальным способом, eeproma на матери нет и поскольку чип реалтека не сам забирает из биоса мак и в нем нет механизма работы с флешем биоса, вендорные утилиты БЕСПОЛЕЗНЫ, они просто напишут что eeprom не обнаружен.
Поковырявшись в доках на чипы я пришел к выводу что биос при старте после распаковки в памяти и процессе выполнения собственно микропрограммы bios на определенном этапе лезет в flash, считывает из определенной зоны лежащий там мак (и не только) и инициализирует встроенную сеть, при иницализации он заносит в конфигурационный регистр реалтека считанный мак и мы можем работать с адаптером.
Собственно что я сделал:
для прошивки использовал линукс и flashrom, это наилучший вариант и писать биос целиком полным дампом и работать с хекс редактором
Взял запасную SPI флэш и сделал копию биоса для хотсвопа назовем ее биос1. Во вторую флешку залил дамп состоящий из уникальной повторяющейся последовательности назовем ее биос2
1. Готовим дамп создав в хекс едиторе дамп с повторяющейся последовательностью например F1 F2 F3 F1 F2 F3 и так до конца.
2. Грузим линукс (например загрузочный UBUNTU) ставим flashrom делаем своп и шьем в нашу биос2 этот тестовый дамп.
3. Перезагружаем комп используя биос1 и запускаем встроенную в биос фирменную утилиту асус EZFlash, задача запустить прошивку биос но обойти проверку соответствия версии поскольку прошивальщик сунется в биос на каком то этапе и может обнаружить там наш тестовый биос2. Выбираем какой нить из скачанных биосов для данной материнки и доходим до момента в прошивальщике когда впыкатится окончательное меню "шить не шить"
4. Делаем своп на нашу тестовую биос2 и жмем прошить, произойдет стирание и запись, в принципе запись можно и не ждать, на данном этапе нам она не интересна. Выключаем.
5. вставляем биос1 и загружаемся в линукс (можно с загрузочного USB убунты, но лучше накатить его на диск так как ставить каждый раз из репозитария flashrom нудно)
6. Делаем хотсвоп и ставим биос2, читаем ее содержимое с помощью flasrom
7. Открываем считанный дамп и смотрим в какой зоне осталась не тронутой наша последовательность F1 F2 F3 F1 F2 F3 и записываем смещение по которому она находится, это и есть зона бута и зона прочих уникальных настроек. Фирменный прошивальщик в нее не пишет, дабы не пострадал мак, серийник мамки и прочее, ну и бут не трогает.
8. У нас по прежнему стоит биос2, заливаем в нее с помощью flashrom заводской обезличенный биос скачанный с сайта.
9. Выключаем комп у нас осталась стоять прошитая биос2 с заводской прошивкой, отключаем блок питания от розетки и замыкаем перемычку clr cmos на 3-5 секунд.
10. подключаем питание, включаем комп, заходим в биос и делаем сброс настроек к дефолтным.
11. Загружаемся в линукс и сливаем полный дамп нашего биос2 с заводским (тем который шили в п.8)
нас интересует смещение которое мы выяснили в п.7 начиная с него дальше будет располагаться зона прописанная FF вслед за ней будет идти бутблок он собственно в самом конце и находится. Начало бутблока можно отследить по записи AMIEBBLK, соответственно начиная с нашего смещения найденного в п.7 и до начала бутблока располагается резервная зона которая нас интересует
12. Просматриваем вычисленную зону на предмет присутствия там каких либо внятных записей, мы должны найти несколько последовательных фраз "Заполняется производителем оборудования OEM" это примерный перевод, оригинал ессно на английском, внимание эта запись отсутствует в оригинальном заводском дампе, она появляется ТОЛЬКО при корректном сбросе cmos в дефолт, то есть ее нам вписывает сама микропрограмма биос. У меня блок располагался по адресу 0xDC000 начинался с нескольких цифр, далее со смещения 0xDC010 шел упомянутый текст, что как бы намекало прямо, заполни и получи.
Собственно дальнейший процесс был очевиден, с первой попавшейся материнки был слит дамп (ASUS P5QC) там найдена такая же зона, мак адрес был найден моментально поскольку он записан там дважды, один раз в прямом виде прямо в коде и второй раз в виде текста. предположив что первые десять байт трогать не стоит (они немного отличаются для разных типов материнских плат) я сделал дамп со смещения 0xDC010 по 0XDC170 подправил МАК, наименование модели МП и серийный номер, вставил в свой биос и прошил, сеть благополучно получила мак адрес, все работает.
Что удивительно, материнские платы радикально разные! M4A785-м - AMD, P5QC - intel, сетевые адаптеры разные, северники разные. Схожесть дампа один в один, могу объяснить лишь методом его использования. Эту информацию считывает именно микропрограмма биоса, она же используя стандартизированные команды забивает МАК адрес в регистры LAN чипа.
Не смотря на то что первые 10 байт по смещению 0xDC000 немного отличаются, там есть нечто общее, это в районе 8-10 байта находится загадочная цифра 6. Прикинув примерно возраст материнок и то что у обоих одинаковые SPI флешки, осмелюсь предположить, что цифра 6 номер версии биоса (внутренний номер) который как раз и говорит о том что работа с зоной уникальных настроек у этого биоса одинакова для (как минимум) всех материнских плат для которых использовалась эта базовая версия AMI биоса.
Если есть желающие покопать дальше, в перспективе думаю не проблема написать софтину которая сможет делать анализ дампов и решать вышеуказанный процесс полностью автоматически.
Афтор, ты бы сразу сказал что вышивал биос всякими хоствапами, линуксами и т.д. а не программатором и не выносил мозг людям что оф. биос нерабочий и в нем нет бутблока.
Много буковок, не осилил, не читатель однако
Но с данным выссказыванием я бы поспорил. Все они могут и по всякому. Надо просто читать хелп к ним внимательно.
Дружище, для тех кто в танке объясняю, в официальном биосе зона с маком, серийником мамки и прочими персоналиями ОТСУТСТВУЕТ!
Он рабочий но мака там нет, без мака виндовый драйвер положит твою сетевуху что бы не флудила нулевым и не гасила оборудование, это защитная функция именно драйвера, в случае если у тебя сдохнет флеш или будет затерта зона этих настроек я посмотрю как тебе поможет заводской биос. Удивляюсь порой с людей им даешь знание в чистом виде, а они вместо спасибо носом крутят.....
Линукс использовался по причине нативной работы собственно прошивальщика (flashrom есть и под дос, но не обновляется) и главное под линуксом можно проверить работает ли адаптер вообще, так как там интерфейсу можно сунуть мак руками и поднять, в виндах такой цирк не работает по причине указанной выше
Насчет всяких хотсвапов, как показала ПРАКТИКА лучший вариант для прошивки биоса современных матерей именно через flashrom, правда шьет она как программатор то есть полностью, без сохранения всех этих резервных зон.
Мне родной бут завести не удалось, пришлось собрать программатор и прошивать полностью, если бы знал сразу про чудеса с маком сохранил бы дамп, но век живи век учись....
Дамп могу выложить позже из дома, под рукой просто нет, сравнивать с заводским бессмысленно, я и так могу сказать в заводском начиная со смещения 0xDC000 идет блок FF вплоть до бута, в рабочем дампе 170 байт нужной даты и дальше FF
Отправить комментарий