Получил компьютер после ремонта(замена мат. платы) и сразу же заметил такую проблему. На материнке не работает встроенная сетевая карта + при запуске Everest`а или другой программы для просмотра "железной" конфигурации компьютер зависает на сканировании устройств PCI. Опрашиваю наличие PCI устройств как в статье "Определение конфигурации на аппаратном уровне /13.06.2004/" никаких зависаний нет. Как определить в чем проблема. Может Everset ещё какую-нибудь информацию считывает другим способом - не через порты. Как можно отследить какие запросы и через что посылает Everest оборудованию?
linkmaze Everest по мимо самого скана PCI устройств ещё к некоторым из этих устройств и обращается. Попробуйте другие аналоги евереста.
Пробовал System Information Viewer V4.05 то же самое. Но вопрос то не в том чтоб информацию о всех устройствах получить, а чтоб выяснить на какой запрос падает компьютер.
linkmaze Ну так я вам и советую найти сканер устройств, который при запуске не обращается к самим устройствам.
Может я не в тот раздел написал (что-то никто не отвечает может надо было в BEGINNERS). System Information Viewer V4.05 посылает своему драйверу IOCTL=0x00000040 и во входном буфере помещает параметры (номер шины, устройства, функции) формат параметров похож на параметры функции HalGetBusDataByOffset (да вроде эти параметры ей потом и передаются), а на выходе получает содержимое всех конфигурационных регистров устройства PCI. Больше программа никак к этим PCI устройствам не обращается. Так вот вопрос ведь в чем когда я читаю содержимое всех конфигурационных регистров через порты в/в то компьютер не зависает, а если программы типа SIV, Everest через свои драйвера то система виснет.
А как может Everest и другие работать с устройствами PCI если он может о них ничего не знать. Т.е. для работы ему ведь необходимо знать кроме адреса размещения регистров устройства в памяти или в пространстве в/в ещё и что нужно (и куда) в эти регистры записывать и что откуда считывать. А все эти нюансы известны только производителю оборудования и для этого производители разрабатывают драйвера я так понимаю или я не прав?
Странные глюки. Запускаю Syser, ставлю бряк на HalGetBusDataByOffset, запускаю SIV, срабатывает бряк, нажимаю F5 и так каждый раз при срабатывании точки останова. И в итоге окошко с информацией о устройствах PCI все-таки отобразилось и компьютер даже не завис. Но только я выгрузил отладчик, опять запустил SIV и попытался получить информацию о PCI компьютер снова завис. ...???...???...???...??? Кто-нибудь чего-нибудь подскажите а.
Это вообще лечится? И вроде с PCI инфа считывается через CFCh, а записывается через CF8h. Хотя в PCI Local Bus Specification v2.2 нет никакого упоминания о адресах этих портов или это ОСЬ (BIOS) их назначает при загрузке?