Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Первые шаги. отсутствуют сведения об оборудовании..  (Прочитано 14590 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pumpkin
Гость
« : 14-12-2008 04:14 » 

помогите, пожалуйста, новичку. Цель - драйвер виртуального USB-устройства - отображение в диспетчере устройств+ обработка неких прерываний.

при помощи VS2005 + DDK 3790.1830 + Driver Studio (по прочитанным советам не юзал lib`ы от DriverWork)
создал Рыбу (оказывается, так Вы это называете, забавно:) ) для USB дравера. Скомпилировалось без ошибок, на выходи .inf и .sys в папке .386 имеются.  потратил на всё это целую ночь.)

Я так понимаю, уже саму рыбу можно добавить в диспетчер устройств?
пытаюсь это сделать - через добавление оборудования - системное устройство из списка вручную - путь к .inf -
собственно, имею - "отсутствуют сведения об оборудовании".
пробовал по всякому, в общем, Не выходит. Подскажите, что я делаю не так?

ПС. Вин ХП
ППС. если нужен какой-то листинг - выложу, просто не знаю, какой.)
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 15-12-2008 07:28 » 

ага. ночь - это нормально) теперь от пары месяцев до полугода - на изучение)))

когда рыбу генерили - что выбирали? драйвер фильтр? функциональный драйвер? - они виртальными не становятся. им железка нужна.
драйвер фильтр наверное правильнее переделывать.... что там еще на выбор было... ?
в зависимости от выбора они могут вставать по разному.
драйвер фильтр - встает  в стек драйверов после железки...
чтобы поставить драйвер без железа  - его надо ручками туда воткнуть)

какие прерывания вы собираетесь орабатывать драйвером виртуального устроуства?)))))
для начала вам надо просмотреть каждую функцию и выяснить что там в коде используется и зачем это надо. используя DDK.
и почитать по организацию стека устройств.

Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
pumpkin
Гость
« Ответ #2 : 17-12-2008 20:48 » 

я пробовал WDM Function Driver, WDM Bus Driver, HID Minidriver

>>драйвер фильтр - встает  в стек драйверов после железки...
>>чтобы поставить драйвер без железа  - его надо ручками туда воткнуть)

можно в этом месте чууууть поподробнее, чтоб хотя бы знать, по каким словам гуглить?, хотя бы название основной функции, плиззз


>>какие прерывания вы собираетесь обрабатывать драйвером виртуального устройства?)))))

я сказал глупость? просто так звучит задание от препода в универе... написать драйвер Usb-устройства, чтоб отображался в списке устройств и обрабатывал прерывания. я его переспросил -  какого устройства, виртуального? Да, говорит.. Это он пошутил надо мной так? ))

ПС Большое Спасибо, буду читать... в закромах имею книженцию "WDF", правда, первые сто страниц вводят новичка в ступор)
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 18-12-2008 07:52 » 

WDF хорошая книжка, подробная... но там не сказано куда коня запрягать))
найдите книгу Агурова по USB.  - полное название в первом посте литературы.

в USB действительно есть прерывания. это не совсем те прерывания которые для контроллера прерываний, но по идеологии и назначению они похожи.
виртуальное устройство - это как бы муляж реального. и не может быть у него прерываний. муляж он и есть) так что скорее всего имелось в виду драйвер для реального устройства. абстрактно его неудобно писать, поэтому возмите например USB-шную мышь. она, насколько я помню генерит именно прерывания по перемещениям(проверьте, могу ошибаться!) согласуйте с преподом.
будет проще найти описания, будет возможность отлаживаться в живую. будет возможность продемонстрировать в работе. в агурове все это должно быть описано.
так же должен быть пример в DDK, но он вряд ли подойдет - скорее всего он через HID интерфейс работает.

вам нужен функциональный драйвер. попробуйте указать при создании на конкретную мышь, возможно DS ресурсы сама перечислит.
« Последнее редактирование: 18-12-2008 07:55 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
sanjaaaa
Гость
« Ответ #4 : 19-12-2008 14:22 » 

Драйвера всех usb-устройств - PnP. Когда втыкается устройство стек udb-драйверов через host-контроллер начинает обмениваться с устройством различными дескрипторами. В них есть поле (нето PID нето VID), по которому определяется какой конкретно драйвер PnP надо загрузить. Описал как я это понимаю.

Так вот написать драйвер PnP можно. А вот как инициировать его загрузку куда интересней вопрос.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 19-12-2008 14:31 » 

sanjaaaa, вы это все - об чем?)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
pumpkin
Гость
« Ответ #6 : 19-12-2008 23:24 » 

В общем, с виртуальным устройством вышла промашка конечно же).
для реального устройства рыба функционального драйвера встает на раз, при подмене драйвера она вполне корректно определяется, отображается в диспетчере как драйвер, с которым устройство работает некорректно), но это, я так понимаю, так и должно быть.

Спасибо большое, уважаемый модератор, за помощь. Буду курить DDK и обрабатывать прерывания.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 20-12-2008 10:28 » 

)))
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines