afudos от 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 биоса.
Если есть желающие покопать дальше, в перспективе думаю не проблема написать софтину которая сможет делать анализ дампов и решать вышеуказанный процесс полностью автоматически.

ASUS M4A785-M ищу дамп BIOS с рабочей мамки