Автор: Unknown BIOS (не проверено) , 29 января 2007
При копании в гигабайтовских трупиках с таким мостом обнаружились десяток экземпляров естественно с выбитым USB, но где ЮМ греется не слишком сильно. Это меня натолкнуло на мысль, а можно ли разобрав биос, пропустить этот код 25 и продолжить инициализацию всего остального?

Переместил в Редактирование BIOS'а.
2008/04/05 maco
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

R_Soft

19 лет 1 месяц назад

Привет!

... если это кому-то нужно для дела, могу реализовать что-то типа патча (пока для Аварда и Фениксов).


Хотелось бы поднять материнку (с кодом 25), хоть и без USB, и использовать как проверочную под сокет478. Скажем процы проверять. В моем небогатом арсенале диагностического оборудования до сих пор нет тестовой матплаты под сокет 478. Если такой патч будет, то многоим людям он немало поможет...

С уважением, Владимир.

icbook

19 лет 1 месяц назад

Ну идейно, даташит на интеловские мосты есть в свободном доступе, нужна живая мать, чтоб поглядеть какие адреса BIOS для USB контроллера назначает и под нож все обращения к ним.

Если Вы внимательно читали предыдущее сообщение, то кроме 25-го кода найдется еще несколько точек, где есть манипуляции с USB.
Кроме того злачное место это отключение usb контроллера в BIOS - т.е. делаем дамп CMOS с включенным контороллером и выключенным, ищем нужную ячейку, а потом при проверке данной ячейки - USB всегда выключен

Это идея хороша для i386...
Гм. заняться что-ли? Времени вот только на все не хватает..
.
С нетерпением ждем результатов :)
Так, 0x25 код это вроде уже не бут-блок?

Не бут-блок... Это точно...

_AVP_

19 лет 1 месяц назад

2 icbook:
А как приблизительно выглядит код при инициализации на пост 25?
Тк устройств опрашивать предстоит много чтото типа
CALL иниц. PCI устройства 0
JMP по какому-то флагу на останов
CALL иниц. PCI устройства 1
...............?
2 applerom:
да, я имел ввиду пропускать не весь 25, а просто скажем позаменять условные переходы (если такие имеются)

vi

19 лет 1 месяц назад

Ну идейно, даташит на интеловские мосты есть в свободном доступе, нужна живая мать, чтоб поглядеть какие адреса BIOS для USB контроллера назначает и под нож все обращения к ним.

Если Вы внимательно читали предыдущее сообщение, то кроме 25-го кода найдется еще несколько точек, где есть манипуляции с USB.

Читал внимательно, все зависит от пряморукости написания биос, идейно было-бы правильно со стороны биос - пропускать весь инит при usb задизабленном ;) Но скорее всего пряморукие писатели биоса смос не проверяют и придется ловить все записи по соответствующим портам, хуже но решаемо ;)


Кроме того злачное место это отключение usb контроллера в BIOS - т.е. делаем дамп CMOS с включенным контороллером и выключенным, ищем нужную ячейку, а потом при проверке данной ячейки - USB всегда выключен

Это идея хороша для i386...
.
почему?


Гм. заняться что-ли? Времени вот только на все не хватает..
.
С нетерпением ждем результатов :)
Так, 0x25 код это вроде уже не бут-блок?

Не бут-блок... Это точно...


Это и останавливает, я для тестера памяти бут-блок ковырял, там все было-бы быстрее

Добавлено спустя 4 минуты 55 секунд:

2 icbook:
А как приблизительно выглядит код при инициализации на пост 25?
Тк устройств опрашивать предстоит много чтото типа
CALL иниц. PCI устройства 0
JMP по какому-то флагу на останов
CALL иниц. PCI устройства 1


IMHO Там скорее не jmp на останов, а бесконечное ожидание ответа от сгоревшего контроллера, или подвисон чипа при попытке его программмирования

R_Soft

19 лет 1 месяц назад

Привет, vi!

...IMHO Там скорее не jmp на останов, а бесконечное ожидание ответа от сгоревшего контроллера, или подвисон чипа при попытке его программмирования


Бутблок тоже давненько ковырял от SISа для сокет7... но до USB дело не доходило. Я мыслю так. Допустим инициализируется контроллер USB а далее читается(ются) байт(ы) состояния. Например должно быть FFFF, а в битом контроллере приходит с нулевыми битами (например FFFE или т.п.)... ну и соответственно прграмма поста далее стопорится. Какая ширина шины данных при этом - не знаю, пишу для примера...

Есть ещё идея. Закорачиваем одну (или несколько) ног D+ / D- на землю и пытаемся делать рестарт материнки. Код 25 появится или нет? Читал несколько постов на этом форуме, что если в разъеме USB коротит один из сигналов "D", то при старте материнки глюки могут быть самые разнообразные.... Проверить эту идею пока не могу т.к. нет под рукой рабочей материнки с ICH6/ICH7.
2 All: Если кто-нибудь из заинтересовавшихся проверит и напишет результат, буду очень признателен.

P.S. Кстати, лет 5 назад, тоже тестер памяти хотел сделать из рабочей материнки путём патчения БИОСА, чтобы выводил шину данных (на экран или в свой собственный технологический порт) при ошибке и по сигнатуре можно было бы искать битый чип... так и не дошли руки до этой идеи. У Вас что-то на этот счёт получилось?

С уважением, Владимир.

icbook

19 лет 1 месяц назад

А как приблизительно выглядит код при инициализации на пост 25?

Ваша непосредственность просто шокирует. Как впрочем и активное, но беспредметное последующее обсуждение. Я в данной ситуации посоветую "курить сырцы".

А код выглядит приблизительно, а для платы KM400-M2 абсолютно точно, так:
[code:1]E000:2103 POST_25 proc near
E000:2103 push ds
E000:2104 push 0E000h
E000:2107 push offset Ret_addr
E000:210A push 0EC31h
E000:210D push Ct_Early_Shadow
E000:2110 jmp far ptr 0F000h:0EC30h
E000:2115 Ret_addr:
E000:2115 pop ds
E000:2116 clc
E000:2117 retn
E000:2117 POST_25 endp[/code:1]

А Вы чего ожидали? Линейного тривиального кода с комментариями? Такого нет и не предвидится...

Set

19 лет 1 месяц назад

Была как-то партия матерей с Москвы, не помню уже названия, mATX какой-то - все с EB мостами и нерабочим (заклеенным даже) USB. Во всём остальном живые. К сожалению, тогда не обратил на них должного внимания, успокоились тут на мысли "мост выбивает так, что неработает только USB". Возможно что-то такое с ними и делали? -
Кстати, я так понял, что требуется отключать USB-контроллеры в биосе? Если так, то "их есть у меня". :)
В смысле - по работе как раз занят подобным и если это кому-то нужно для дела, могу реализовать что-то типа патча (пока для Аварда и Фениксов).

apple_rom, думаю, такие патчи, хотя бы для распространённых вариантов типа P4p800, 8IPE1000 могли бы помочь разобраться в проблеме.