Способы работы с устройствами PCI

Тема в разделе "WASM.HARDWARE", создана пользователем linkmaze, 30 мар 2011.

  1. linkmaze

    linkmaze New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    60
    Получил компьютер после ремонта(замена мат. платы) и сразу же заметил такую проблему.
    На материнке не работает встроенная сетевая карта + при запуске Everest`а или другой программы для просмотра "железной" конфигурации компьютер зависает на сканировании устройств PCI. Опрашиваю наличие PCI устройств как в статье "Определение конфигурации на аппаратном уровне /13.06.2004/" никаких зависаний нет.
    Как определить в чем проблема. Может Everset ещё какую-нибудь информацию считывает другим способом - не через порты. Как можно отследить какие запросы и через что посылает Everest оборудованию?
     
  2. T800

    T800 Member

    Публикаций:
    0
    Регистрация:
    7 дек 2006
    Сообщения:
    293
    Адрес:
    Moscow
    linkmaze
    Everest по мимо самого скана PCI устройств ещё к некоторым из этих устройств и обращается.
    Попробуйте другие аналоги евереста.
     
  3. linkmaze

    linkmaze New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    60
    Пробовал System Information Viewer V4.05 то же самое. Но вопрос то не в том чтоб информацию о всех устройствах получить, а чтоб выяснить на какой запрос падает компьютер.
     
  4. T800

    T800 Member

    Публикаций:
    0
    Регистрация:
    7 дек 2006
    Сообщения:
    293
    Адрес:
    Moscow
    linkmaze
    Ну так я вам и советую найти сканер устройств, который при запуске не обращается к самим устройствам.
     
  5. linkmaze

    linkmaze New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    60
    Может я не в тот раздел написал (что-то никто не отвечает может надо было в BEGINNERS).
    System Information Viewer V4.05 посылает своему драйверу IOCTL=0x00000040 и во входном буфере помещает параметры (номер шины, устройства, функции) формат параметров похож на параметры функции HalGetBusDataByOffset (да вроде эти параметры ей потом и передаются), а на выходе получает содержимое всех конфигурационных регистров устройства PCI. Больше программа никак к этим PCI устройствам не обращается.
    Так вот вопрос ведь в чем когда я читаю содержимое всех конфигурационных регистров через порты в/в то компьютер не зависает, а если программы типа SIV, Everest через свои драйвера то система виснет.
     
  6. linkmaze

    linkmaze New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    60
    А как может Everest и другие работать с устройствами PCI если он может о них ничего не знать. Т.е. для работы ему ведь необходимо знать кроме адреса размещения регистров устройства в памяти или в пространстве в/в ещё и что нужно (и куда) в эти регистры записывать и что откуда считывать. А все эти нюансы известны только производителю оборудования и для этого производители разрабатывают драйвера я так понимаю или я не прав?
     
  7. linkmaze

    linkmaze New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    60
    Странные глюки. Запускаю Syser, ставлю бряк на HalGetBusDataByOffset, запускаю SIV, срабатывает бряк, нажимаю F5 и так каждый раз при срабатывании точки останова. И в итоге окошко с информацией о устройствах PCI все-таки отобразилось и компьютер даже не завис. Но только я выгрузил отладчик, опять запустил SIV и попытался получить информацию о PCI компьютер снова завис.
    ...???...???...???...???
    Кто-нибудь чего-нибудь подскажите а.
     
  8. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    инфа с PCI считывается через порт 0CF8h , а виснет походу из за негодных уровней задержки чтения
     
  9. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    аа.. или по шине SMbus мож чего лезет
     
  10. linkmaze

    linkmaze New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    60
    Это вообще лечится?
    И вроде с PCI инфа считывается через CFCh, а записывается через CF8h. Хотя в PCI Local Bus
    Specification v2.2 нет никакого упоминания о адресах этих портов или это ОСЬ (BIOS) их назначает при загрузке?