Столкнулся с проблемой - контроллер "PCI Match Tech FG SA-3114 SATA150 4ports Raid" блокирует загрузку с IDE HDD на Asus P4GE-VM (чипсет i845GE, Award BIOS 256Mb v1014) с ошибкой "DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER" в том случае, когда на нём висит SATA DVD-RW Optiarc (если дисковод отключить - всё будет нормально). Никакое перетыкание платы по слотам или перепрошивка BIOS проблему не решает.
Блокировки удалось избежать, когда я полностью стёр BIOS контроллера - в таком случае контроллер "Mass storage device" всё равно находится при включении и отображается в таблице POST. Но возникает другая проблема - Windows XP перестаёт опознавать тип контроллера, определяет его как неверно работающее устройство "SCSI/RAID mass storage controller" (названия примерно такие - пишу по памяти), это устройство у неё работает с ошибками, не использует ресурсов и установка драйвера не помогает.
Но завести контроллер мне всё же удалось. Когда я неверно прошил его BIOS, машина висла при выполнении POST и нужно было отключить выполнение BIOS контроллера. Я это сделал почти по рекомендации: rom.by/article/Iskusstvo_pereshivki_BIOS_Chast_sedmaja, но позабыл номера ног и замкнул 14 и 15 ноги - LPC DQ1 и DQ2 (rom.by/images/wiki/9/9a/LPC_FWH.gif). Причём размыкать их оказалось не обязательно - с замкнутыми ногами контроллер позволяет грузиться и работает нормально (с помещённой в BIOS рабочей прошивкой v5.5.0.0).
У меня вопрос - можно ли того же самого добиться более легальными методами? То есть - можно ли как-то порезать BIOS контроллера таким образом, чтобы там оставалась часть, необходимая для работы драйвера Windows XP, и в то же время - BIOS контроллера не исполнялась при загрузке системы? (Уж про загрузку с DVD я вообще молчу - хотя бы без неё работало).
На вашем контроллере используется флешка с параллельным интерфейсом.
Можете попробовать убрать сигнатуру 0x55 0xAA в самом начале.
maco, спасибо - проверю чуть попозже, я и не надеялся на такой скорый ответ
Сейчас пока вынужден отложить эксперименты...
В даташите на контроллер описана структура, которая размещается в конце флешки, данные из которой контроллер использует в служебных целях (VID, PID и т.д.). Визулально в любом HEX-редакторе откройте прошивку увидите сначала заголовок (сигнатуру) - 2 байт, длину в 512-байтных секторах (или 256?, гуру поправьте) - 1 байт, далее сам код модуля, в конце (перед нулями или FF) - контрольная сумма, далее - блок 00 или FF, потом вот эта необходимая самому чипу структура. Пару месяцев назад ковырял прошивку на предмет принудительного включения кэша записи на сглючившем максторе, пришлось разобораться. ИМХО, структуру оставить - остальное занулить.
Соотв - 78h mul 512 = 61440 байт (до 0xF000) - то, что отображатется в адресное пространство как Addon BIOS. Его убрать. Или действительно просто попробовать занулить только первые 3-4 байта.
Далее там (я смотрю IDE-BIOS) 0xF000-0x10000 нечто типа кода - можно оставить, можно попробовать убрать.
потом 0xFF, а в последних 32-х байтах действительно явно просматривается VID/PID - их оставить.
А кому счас легко...
А какой VendorId/DeviceId показывает с закороченной микросхемой? Просто интересно. По идее можете феном снять пзу с платы. А RAID модуль вшить cbrom в bios матплаты, и потом прошить bios матплаты.
Дрессируем коров
ДШ здесь siliconimage.com/docs/SiI-DS-0103-D.pdf
и ниже
Я сегодня только занялся картой опять - победил с вашей помощью, теперь работает без перемычки, спасибо!
Больше всего мне помог ответ savely - при обнулении двух-четырёх первых байт (или заполнении их FF) система при загрузке виснет. А вот при заполнении FF всей области до 0xF000 - всё проходит нормально и драйвер ставится потом без проблем.
(Ответ на вопрос про перемычку: Пока стояла перемычка модель определялась как нужно - а то бы драйвер не поставился).
Отправить комментарий