Foxconn NF4....Модификация bios для отключения USB с целью обхода посткода 50, кто-нибудь делал такое?

Попалась плата Foxconn NF4, мётрво стояшая на графической заставки биос в 50 посткоде, стал копать форум
и узнал о том что 50 код это инициализация usb,первая мысль была о том, что это своеобразный recovery mode - плата из за ошибок в прошивке просит скормить её биос, воткнул чистую флешку, дейтвительно в момент 50 кода было видно обрашение к флешке (на ней мигал светодиод). записал на неё биос и естественно результата не получил, потом узнал что NForce4( раньше я не имел с ними дело)висит на 50 коде из за проблем в мосте, не долго думая MODBINом поставил дефалтными настройками отключенное USB и принялся прошивать биос,тут то и началось самое интересное....вызвать рвоту (бутблок:) ) особого труда не составило, зато при попытке прошивки флэшер настойчиво кричал 'Bios ROM is write protected' ...снова курю форум, вобщем полдня носился с дисководом как проклятуший от компа и материнки и обратно (как назло bootblock видимо не знаком с мультяшным контроллером клавиатуры), испробуя всевозможные прошивальшики, их комбинации и различные положения перемычек на плате...всё бестолку...пошёл уже в кладовку за феном чтобы сдуть злосчастную, но тут лень взяла своё - СТАЛ ВНИМАТЕЛЬНО ЧИТАТЬ ДАТАШИТ НА SST49LF И УЗНАЛ ЧТО ДЛЯ РАЗРЕШЕНИЯ ПРОШИВКИ НА НОГАХ #TBL и #WP ДОЛЖНА БЫТЬ ЛОГ. 1, #TBL ЗАЩИЩАЕТ ПЕРВЫЕ 64КБ, А #WP ОСТАВШИЕСЯ, В МОЕМ ЖЕ СЛУЧАЕ ПРИ НОРМАЛЬНОЙ ЗАГРУЗКЕ НА НИХ 0, А ПРИ ЗАГРУЗКЕ ЧЕРЕЗ БУТБЛОК #WP ПОДНИМАЕТСЯ В ЛОГ. 1, НА ВТОРОЙ ЖЕ ПОПРЕЖНЕМУ 0, СТАЛ ОТСЛЕЖИВАТЬ ПУТЬ СИГНАЛА #TBL - ОН ЧЕРЕЗ ПЕРЕМЫЧКУ МОЖЕТ БЫТЬ ПОСАЖЕН НА ЗЕМЛЮ, ДАЛЬШЕ СЛЕДИТЬ НЕ СТАЛ ,РЕШИЛ ПОПРОСТУ ЗАМНКУТЬ #WP и #TBL (ЕСТЕСТВЕННО ПЕРЕМЫЧКА НЕ ДОЛЖНА САДИТЬ ОДИН ИЗ ВЫВОДОВ НА ЗЕМЛЮ) МЕЖДУ СОБОЙ (Я ИСПОЛЬЗОВАЛ КАПЕЛЬКУ ПРИПОЯ) И НЕ ОШИБСЯ ! BIOS ОТЛИЧНО ПРОШИЛСЯ. (ДАЖЕ БУТБЛОК НЕ ПРИШЛОСЬ ИСКУССТВЕННО ВЫЗВАТЬ)..убрав припой я с надеждой врубил материнку но всё осталось как было (даже флэшка мигает (!) ) - по прежнему вис на 50 посткоде, только заставка теперь другая....есть ли возможность полностью откючить инициализацию USB.?



Перенес в Редактирование BIOS.
maco

Аватар пользователя versal

Хм... отключить-то наверняка можно, только не поможет это вам. Могу конечно ошибаться, но мост пора определять в утиль.


А что если:
=============================================================
было

seg001:8FF0 ; ---------------------------------------------------------------------------
seg001:8FF0 mov cx, 1
seg001:8FF3 mov di, 901Fh
seg001:8FF6 call sub_E08FFC
seg001:8FF9 jmp loc_E08612
seg001:8FFC
...................................


seg001:8612 loc_E08612: ; CODE XREF: seg001:8FF9j
seg001:8612 cli
seg001:8613
seg001:8613 loc_E08613: ; CODE XREF: seg001:loc_E08613j
seg001:8613 jmp short loc_E08613

стало:
seg001:8FF0 ; ---------------------------------------------------------------------------
seg001:8FF0 mov cx, 1
seg001:8FF3 mov di, 901Fh
seg001:8FF6 call sub_E08FFC
seg001:8FF9 jmp loc_E08612
seg001:8FFC
...................................
seg001:8612 loc_E08612: ; CODE XREF: seg001:8FF9j
seg001:8612 cli
seg001:8613
seg001:8613 loc_E08613: ; CODE XREF: seg001:loc_E08613j
seg001:8613 nop nop nop
Те, вне завизимости от результата пост флаг всегда чистый и за одно лишим эту сволочь возможности принудительно останавливатьса....НЭ??

Аватар пользователя Rom

Как-то я уже вырос из этих "отжиганий" и пр... Оно вам надо? Сначала вы воткнете PCI контроллер с usb, потом у вас отвалятся эти самые PCI, потом просто перестанет запускаться... Замените мост- это быстрее и надежне..

Сделал ! естественно не по вышеизложенному мной способу:) Сейчас весь пост проходит (операционку пока не ставил)...Позже напишу подробнее о том как я модифицировал биос чтобы обойти пост 50

После исключения указателя на процедуру post 50 из таблицы пост кодов, материнка и вся ее переферия в том числе USB работает исправно , но есть одна странность, невозможно войти в bios setup...позже буду разбираться с чем это связанно, возможно что bios был подпорчен modbinом во время редактирования, ведь фактически usb остались включены, несмотря на то что в настройках по умолчанию я их выключал.
вот что я делал (очень кратко)
1)делим original.bin на две половинки и грузим в IDA каждую из них в нужный сегмент


2) идём к стандартной точки входа F0000:F800D, далее следуем по стоящему там jmp
3) ищим инструкцию push 0E000h, это сегмент перехода, соответственно в индексном регистре si должен лежать адрес
в моём случае mov si, 8FF0h, соответственно переодим по адресу 0E000:8FF0, рядом здесь в регистр di заносится адрес начала таблицы указателей на процедуры пост, у меня было mov di, 901Fh, переходим туда
4) сворачиваем байты таблицы в слова, ищим указатеь на post50h, не трудно посчитать что это будет 80е слово в таблице
5) заносим сюда адрес пустышки, (луче брать где нибудь из начала таблицы, для того чтобы при последующем сжатии файл не получился компактнее
Очень странно что винда инициализирует контроллер нормально, а биос где-то спотыкается...

Аватар пользователя Rom

Цитата:
USB работает исправно
вы проверяли все порты подключением устройств или просто контроллеры в диспетчере устройств наблюдаете?

....обижаете, конечно подключал устройства....сам не пойму как такое может быть

Аватар пользователя Santa

в пп2 нолики лишние уберите.. Воизбежание недоразумений..

-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам

esor А не затруднит вас попроще и подробней написать как вы обошли 50 пост код - у меня есть программатор автопрог и материнка с NF4 и 50 кодом... буду очень благодарен

Аватар пользователя apple_rom

Знаю, что это нужно спрашивать меня, но вроде в биоспатчере (старом) были ключи для пропуска посткодов. Или нет?:)

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей