Часто бывает, что подключенное оборудование не работает в Windows, по причине не найденного драйвера. Хотя в Vista, вроде бы, и много улучшили эту опцию и теперь он предлагает перейти на сайт производителя, он все равно не отображает название модели железа которое мы воткнули туда. Искать, короче, довольно сложно. Как это сделать проще?
В unix все гораздо проще, там стоит набрать lsusb или lspci или ls+пор куда подключили и посмотреть имя чипа, чтоб легко потом найти. В цштвщцы это сложнее, однако, как оказалось, еще 29 января 2003 г microsoft выпустил специализированную программулинку для этого. В общем-то одно и то же что и lsusbи иже с ним.
Подробнее об этой тулзе можно прочитать на офе.
Ман по работе с прогой:
DevCon — это программа с интерфейсом командной строки, имеющая встроенную документацию. Для отображения представленного ниже списка команд и их краткого описания служит команда
1 | devcon help |
. Кроме того, с ее помощью можно получить более подробную справку по отдельной команде. Для некоторых команд можно указать удаленный компьютер назначения. Такие команды работают в случае использования 32-разрядной версии программы DevCon на WOW64.
Справка по программе Device Console (DevCon)
devcon.exe [-r] [-m:\\<компьютер>] <команда> [<арг>...]
-r Перезагрузить компьютер после выполнения команды, если это необходимо.
<компьютер> Имя компьютера назначения.
<команда> Подлежащая выполнению команда (см. ниже).
<арг>… Один или несколько аргументов (если необходимы).
Для получения справки по определенной команды введите: devcon.exe help <команда>
classfilter — Разрешить изменение фильтров классов.
classes — Отобразить все классы настройки устройств.
disable — Отключить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
driverfiles — Отобразить установленные файлы драйверов.
drivernodes — Отобразить все узлы драйверов устройств.
enable — Включить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
find — Найти устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
findall — Найти устройства, включая отсоединенные.
help — Отображение справочной информации.
hwids — Отобразить идентификаторы оборудования.
install — Установить устройство в ручном режиме.
listclass — Отобразить все устройства для класса настройки.
reboot — Перезагрузить локальный компьютер.
remove — Удалить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
rescan — Выполнить поиск нового оборудования.
resources — Отобразить ресурсы устройств.
restart — Перезагрузить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
stack — Отобразить ожидаемый стек драйверов устройств.
status — Отобразить рабочее состояние устройств.
update — Обновить устройство в ручном режиме.
UpdateNI — Обновить устройство в ручном режиме без уведомления пользователя.
SetHwID — Добавить, удалить или изменить порядок идентификаторов оборудования для устройств с корневым перечислением.
Примеры использования команд DevCon
1 | devcon -m:\\test find pci\* |
Отобразить все известные устройства PCI на компьютере @@test. Параметр
1 | -m |
служит для указания компьютера назначения. Для получения доступа к компьютеру необходимо использовать межпроцессное взаимодействие (IPC).
1 | devcon <em>-r</em> install <var>%WINDIR%</var>\Inf\Netloop.inf *MSLOOP |
Установить новый экземпляр адаптера Microsoft замыкания на себя. Создается новый узел устройств с корневым перечислением, с помощью которого устанавливается виртуальное устройство (например, адаптер замыкания на себя). Кроме того, в случае необходимости компьютер будет автоматически перезагружен.
1 | devcon classes |
Отобразить все известные классы настройки. Будут выведены короткие нелокализованные (например, USB) и описательные (например, Universal Serial Bus controllers) названия.
1 | devcon classfilter upper !фильтр1 !фильтр2 |
Удалить указанные фильтры.
DevCon — это программа с интерфейсом командной строки, имеющая встроенную документацию. Для отображения представленного ниже списка команд и их краткого описания служит команда devcon help. Кроме того, с ее помощью можно получить более подробную справку по отдельной команде. Для некоторых команд можно указать удаленный компьютер назначения. Такие команды работают в случае использования 32-разрядной версии программы DevCon на WOW64.
Справка по программе Device Console (DevCon)
devcon.exe [-r] [-m:\\<компьютер>] <команда> [<арг>...]
-r Перезагрузить компьютер после выполнения команды, если это необходимо.
<компьютер> Имя компьютера назначения.
<команда> Подлежащая выполнению команда (см. ниже).
<арг>… Один или несколько аргументов (если необходимы).
Для получения справки по определенной команды введите: devcon.exe help <команда>
classfilter Разрешить изменение фильтров классов.
classes Отобразить все классы настройки устройств.
disable Отключить устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
driverfiles Отобразить установленные файлы драйверов.
drivernodes Отобразить все узлы драйверов устройств.
enable Включить устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
find Найти устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
findall Найти устройства, включая отсоединенные.
help Отображение справочной информации.
hwids Отобразить идентификаторы оборудования.
install Установить устройство в ручном режиме.
listclass Отобразить все устройства для класса настройки.
reboot Перезагрузить локальный компьютер.
remove Удалить устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
rescan Выполнить поиск нового оборудования.
resources Отобразить ресурсы устройств.
restart Перезагрузить устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
stack Отобразить ожидаемый стек драйверов устройств.
status Отобразить рабочее состояние устройств.
update Обновить устройство в ручном режиме.
UpdateNI Обновить устройство в ручном режиме без уведомления пользователя.
SetHwID Добавить, удалить или изменить порядок идентификаторов оборудования для устройств с корневым перечислением.
Примеры использования команд DevCon
devcon -m:\\test find pci\*
Отобразить все известные устройства PCI на компьютере @@test. Параметр -m служит для указания компьютера назначения. Для получения доступа к компьютеру необходимо использовать межпроцессное взаимодействие (IPC).
devcon -r install %WINDIR%\Inf\Netloop.inf *MSLOOP
Установить новый экземпляр адаптера Microsoft замыкания на себя. Создается новый узел устройств с корневым перечислением, с помощью которого устанавливается виртуальное устройство (например, адаптер замыкания на себя). Кроме того, в случае необходимости компьютер будет автоматически перезагружен.
devcon classes
Отобразить все известные классы настройки. Будут выведены короткие нелокализованные (например, USB) и описательные (например, Universal Serial Bus controllers) названия.
devcon classfilter upper !фильтр1 !фильтр2
Удалить указанные фильтры.
devcon classfilter lower !фильтр1 +фильтр2
Заменить первый фильтр вторым.
devcon driverfiles =ports
Отобразить файлы, сопоставленные каждому устройству в классе настройки ports.
devcon disable *MSLOOP
Отключить все устройства, идентификатор оборудования которых заканчивается символами MSLOOP (включая *MSLOOP).
devcon drivernodes @ROOT\PCI_HAL\PNP0A03
Отобразить все совместимые драйверы для устройства ROOT\PCI_HAL\PNP0A03. Используется при определении причины, по которой был выбран данный файл INF, а не другой файл INF стороннего производителя.
devcon enable ‘*MSLOOP
Включить все устройства с идентификатором оборудования *MSLOOP. Одинарная кавычка указывает на то, что в данном случае символ * (звездочка) должен трактоваться как часть имени, а не специальный символ.
devcon find *
Отобразить экземпляры всех имеющихся на локальном компьютере устройств.
devcon find pci\*
Отобразить все известные устройства PCI (peripheral component interconnect) на локальном компьютере (устройствами PCI считаются те, у которых идентификатор оборудования имеет префикс PCI\).
devcon find =ports *pnp*
Отобразить присутствующие устройства, которые являются членами класса настройки ports и имеют символы PNP в идентификаторе оборудования.
devcon find =ports @root\*
Отобразить присутствующие устройства, которые являются членами класса настройки ports и расположены в корневой ветке дерева перечисления (идентификатор экземпляра имеет префикс root\). Не следует пытаться запрограммировать способ форматирования идентификатора экземпляра. Определить корневые устройства можно по биту состояния. Эта команда используется в процессе отладки.
devcon findall =ports
Отобразить отсутствующие устройства и присутствующие устройства для класса ports (включая удаленные, переключенные на другой слот, и, в некоторых случаях, пронумерованные иным способом (из-за изменений BIOS) устройства).
devcon listclass usb 1394
Отобразить все присутствующие устройства для указанных классов (в данном случае — классов USB и 1394).
devcon remove @usb\*
Удалить все устройства USB. Будут отображены удаленные устройства и состояние их удаления.
devcon rescan
Произвести поиск новых устройств Plug and Play.
devcon resources =ports
Отобразить ресурсы, которые используются всеми устройствами в классе настройки ports.
devcon restart =net @’ROOT\*MSLOOP\0000
Перезапустить адаптер замыкания на себя ROOT\*MSLOOP\0000. Одинарная кавычка в команде указывает на то, что символ * (звездочка) должен трактоваться как часть имени, а не специальный символ.
devcon hwids=mouse
Показать список всех идентификаторов оборудования системы для устройств класса «мышь».
devcon sethwid @ROOT\LEGACY_BEEP\0000 := beep
Назначить идентификатор оборудования (beep) традиционному сигнальному устройству.
devcon stack =ports
Отобразить ожидаемый стек драйверов для устройства (включая нижние и верхние фильтры класса и устройства, а также управляющую службу).
devcon status @pci\*
Отобразить состояние каждого присутствующего устройства, у которого идентификатор экземпляра начинается символами pci\.
devcon status @ACPI\PNP0501\1
Отобразить состояние указанного экземпляра устройства (в данном случае пронумерованного последовательного порта с ACPI).
devcon status @root\rdp_mou\0000
Отобразить состояние драйвера мыши сервера или служб терминалов Microsoft .
devcon status *PNP05*
Отобразить состояние всех СОМ-портов.
devcon update mydev.inf *pnp0501
Обновить все устройства, точно соответствующие идентификатору оборудования *pnp0501, чтобы использовать лучший драйвер в файле Mydev.inf, который сопоставлен идентификатору оборудования *pnp0501.
Примечание. После обновления все устройства используют драйвер из Mydev.inf (даже если в системе имеется более подходящий драйвер). Это необходимо для установки драйвера новой версии, который еще не имеет подписи. Обновляются только устройства, которые соответствуют указанному идентификатору оборудования (изменения не касаются дочерних устройств). Если указанный файл INF не имеет подписи, появится диалоговое окно с просьбой подтвердить установку такого драйвера. Если требуется перезагрузка компьютера, появится соответствующее сообщение, а программа DevCon вернет ошибку уровня 1. Использование параметра -r приводит к автоматической перезагрузке компьютера в случае такой необходимости.
Примечания.
* Программа Devcon возвращает такие уровни ошибки:
0 — команда выполнена успешно;
1 — требуется перезагрузить компьютер;
2 — команда не выполнена;
3 — синтаксическая ошибка.
* Использование параметра -r приводит к автоматической, без вывода соответствующего предупреждения перезагрузке компьютера (если это необходимо) после обработки всех устройств.
* Если вводится команда -m:\\имя_компьютера и эта команда не выполняется на удаленном компьютере, возвращается ошибка.
* Программа DevCon позволяет использовать специальные символы при указании идентификаторов экземпляров. Формат идентификаторов экземпляров отличается в зависимости от платформы и используемой операционной системы.
Заменить первый фильтр вторым.
1 | devcon driverfiles =ports |
Отобразить файлы, сопоставленные каждому устройству в классе настройки ports.
DevCon — это программа с интерфейсом командной строки, имеющая встроенную документацию. Для отображения представленного ниже списка команд и их краткого описания служит команда devcon help. Кроме того, с ее помощью можно получить более подробную справку по отдельной команде. Для некоторых команд можно указать удаленный компьютер назначения. Такие команды работают в случае использования 32-разрядной версии программы DevCon на WOW64.
Справка по программе Device Console (DevCon)
devcon.exe [-r] [-m:\\<компьютер>] <команда> [<арг>...]
-r Перезагрузить компьютер после выполнения команды, если это необходимо.
<компьютер> Имя компьютера назначения.
<команда> Подлежащая выполнению команда (см. ниже).
<арг>… Один или несколько аргументов (если необходимы).
Для получения справки по определенной команды введите: devcon.exe help <команда>
classfilter Разрешить изменение фильтров классов.
classes Отобразить все классы настройки устройств.
disable Отключить устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
driverfiles Отобразить установленные файлы драйверов.
drivernodes Отобразить все узлы драйверов устройств.
enable Включить устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
find Найти устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
findall Найти устройства, включая отсоединенные.
help Отображение справочной информации.
hwids Отобразить идентификаторы оборудования.
install Установить устройство в ручном режиме.
listclass Отобразить все устройства для класса настройки.
reboot Перезагрузить локальный компьютер.
remove Удалить устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
rescan Выполнить поиск нового оборудования.
resources Отобразить ресурсы устройств.
restart Перезагрузить устройства, которые соответствуют определенному
идентификатору оборудования или экземпляра.
stack Отобразить ожидаемый стек драйверов устройств.
status Отобразить рабочее состояние устройств.
update Обновить устройство в ручном режиме.
UpdateNI Обновить устройство в ручном режиме без уведомления пользователя.
SetHwID Добавить, удалить или изменить порядок идентификаторов оборудования для устройств с корневым перечислением.
Примеры использования команд DevCon
devcon -m:\\test find pci\*
Отобразить все известные устройства PCI на компьютере @@test. Параметр -m служит для указания компьютера назначения. Для получения доступа к компьютеру необходимо использовать межпроцессное взаимодействие (IPC).
devcon -r install %WINDIR%\Inf\Netloop.inf *MSLOOP
Установить новый экземпляр адаптера Microsoft замыкания на себя. Создается новый узел устройств с корневым перечислением, с помощью которого устанавливается виртуальное устройство (например, адаптер замыкания на себя). Кроме того, в случае необходимости компьютер будет автоматически перезагружен.
devcon classes
Отобразить все известные классы настройки. Будут выведены короткие нелокализованные (например, USB) и описательные (например, Universal Serial Bus controllers) названия.
devcon classfilter upper !фильтр1 !фильтр2
Удалить указанные фильтры.
devcon classfilter lower !фильтр1 +фильтр2
Заменить первый фильтр вторым.
devcon driverfiles =ports
Отобразить файлы, сопоставленные каждому устройству в классе настройки ports.
devcon disable *MSLOOP
Отключить все устройства, идентификатор оборудования которых заканчивается символами MSLOOP (включая *MSLOOP).
devcon drivernodes @ROOT\PCI_HAL\PNP0A03
Отобразить все совместимые драйверы для устройства ROOT\PCI_HAL\PNP0A03. Используется при определении причины, по которой был выбран данный файл INF, а не другой файл INF стороннего производителя.
devcon enable ‘*MSLOOP
Включить все устройства с идентификатором оборудования *MSLOOP. Одинарная кавычка указывает на то, что в данном случае символ * (звездочка) должен трактоваться как часть имени, а не специальный символ.
devcon find *
Отобразить экземпляры всех имеющихся на локальном компьютере устройств.
devcon find pci\*
Отобразить все известные устройства PCI (peripheral component interconnect) на локальном компьютере (устройствами PCI считаются те, у которых идентификатор оборудования имеет префикс PCI\).
devcon find =ports *pnp*
Отобразить присутствующие устройства, которые являются членами класса настройки ports и имеют символы PNP в идентификаторе оборудования.
devcon find =ports @root\*
Отобразить присутствующие устройства, которые являются членами класса настройки ports и расположены в корневой ветке дерева перечисления (идентификатор экземпляра имеет префикс root\). Не следует пытаться запрограммировать способ форматирования идентификатора экземпляра. Определить корневые устройства можно по биту состояния. Эта команда используется в процессе отладки.
devcon findall =ports
Отобразить отсутствующие устройства и присутствующие устройства для класса ports (включая удаленные, переключенные на другой слот, и, в некоторых случаях, пронумерованные иным способом (из-за изменений BIOS) устройства).
devcon listclass usb 1394
Отобразить все присутствующие устройства для указанных классов (в данном случае — классов USB и 1394).
devcon remove @usb\*
Удалить все устройства USB. Будут отображены удаленные устройства и состояние их удаления.
devcon rescan
Произвести поиск новых устройств Plug and Play.
devcon resources =ports
Отобразить ресурсы, которые используются всеми устройствами в классе настройки ports.
devcon restart =net @’ROOT\*MSLOOP\0000
Перезапустить адаптер замыкания на себя ROOT\*MSLOOP\0000. Одинарная кавычка в команде указывает на то, что символ * (звездочка) должен трактоваться как часть имени, а не специальный символ.
devcon hwids=mouse
Показать список всех идентификаторов оборудования системы для устройств класса «мышь».
devcon sethwid @ROOT\LEGACY_BEEP\0000 := beep
Назначить идентификатор оборудования (beep) традиционному сигнальному устройству.
devcon stack =ports
Отобразить ожидаемый стек драйверов для устройства (включая нижние и верхние фильтры класса и устройства, а также управляющую службу).
devcon status @pci\*
Отобразить состояние каждого присутствующего устройства, у которого идентификатор экземпляра начинается символами pci\.
devcon status @ACPI\PNP0501\1
Отобразить состояние указанного экземпляра устройства (в данном случае пронумерованного последовательного порта с ACPI).
devcon status @root\rdp_mou\0000
Отобразить состояние драйвера мыши сервера или служб терминалов Microsoft .
devcon status *PNP05*
Отобразить состояние всех СОМ-портов.
devcon update mydev.inf *pnp0501
Обновить все устройства, точно соответствующие идентификатору оборудования *pnp0501, чтобы использовать лучший драйвер в файле Mydev.inf, который сопоставлен идентификатору оборудования *pnp0501.
Примечание. После обновления все устройства используют драйвер из Mydev.inf (даже если в системе имеется более подходящий драйвер). Это необходимо для установки драйвера новой версии, который еще не имеет подписи. Обновляются только устройства, которые соответствуют указанному идентификатору оборудования (изменения не касаются дочерних устройств). Если указанный файл INF не имеет подписи, появится диалоговое окно с просьбой подтвердить установку такого драйвера. Если требуется перезагрузка компьютера, появится соответствующее сообщение, а программа DevCon вернет ошибку уровня 1. Использование параметра -r приводит к автоматической перезагрузке компьютера в случае такой необходимости.
Примечания.
* Программа Devcon возвращает такие уровни ошибки:
0 — команда выполнена успешно;
1 — требуется перезагрузить компьютер;
2 — команда не выполнена;
3 — синтаксическая ошибка.
* Использование параметра -r приводит к автоматической, без вывода соответствующего предупреждения перезагрузке компьютера (если это необходимо) после обработки всех устройств.
* Если вводится команда -m:\\имя_компьютера и эта команда не выполняется на удаленном компьютере, возвращается ошибка.
* Программа DevCon позволяет использовать специальные символы при указании идентификаторов экземпляров. Формат идентификаторов экземпляров отличается в зависимости от платформы и используемой операционной системы.
Отключить все устройства, идентификатор оборудования которых заканчивается символами MSLOOP (включая *MSLOOP).
1 | devcon drivernodes @ROOT\PCI_HAL\PNP0A03 |
Отобразить все совместимые драйверы для устройства ROOT\PCI_HAL\PNP0A03. Используется при определении причины, по которой был выбран данный файл INF, а не другой файл INF стороннего производителя.
1 | devcon enable '*MSLOOP |
Включить все устройства с идентификатором оборудования *MSLOOP. Одинарная кавычка указывает на то, что в данном случае символ * (звездочка) должен трактоваться как часть имени, а не специальный символ.
1 | devcon find * |
Отобразить экземпляры всех имеющихся на локальном компьютере устройств.
1 | devcon find pci\* |
Отобразить все известные устройства PCI (peripheral component interconnect) на локальном компьютере (устройствами PCI считаются те, у которых идентификатор оборудования имеет префикс PCI\).
1 | devcon find =ports *pnp* |
Отобразить присутствующие устройства, которые являются членами класса настройки ports и имеют символы PNP в идентификаторе оборудования.
1 | devcon find =ports @root\* |
Отобразить присутствующие устройства, которые являются членами класса настройки ports и расположены в корневой ветке дерева перечисления (идентификатор экземпляра имеет префикс root\). Не следует пытаться запрограммировать способ форматирования идентификатора экземпляра. Определить корневые устройства можно по биту состояния. Эта команда используется в процессе отладки.
1 | devcon findall =ports |
Отобразить отсутствующие устройства и присутствующие устройства для класса ports (включая удаленные, переключенные на другой слот, и, в некоторых случаях, пронумерованные иным способом (из-за изменений BIOS) устройства).
1 | devcon listclass usb 1394 |
Отобразить все присутствующие устройства для указанных классов (в данном случае — классов USB и 1394).
1 | devcon remove @usb\* |
Удалить все устройства USB. Будут отображены удаленные устройства и состояние их удаления.
1 | devcon rescan |
Произвести поиск новых устройств Plug and Play.
1 | devcon resources =ports |
Отобразить ресурсы, которые используются всеми устройствами в классе настройки ports.
1 | devcon restart =net @'ROOT\*MSLOOP\0000 |
Перезапустить адаптер замыкания на себя ROOT\*MSLOOP\0000. Одинарная кавычка в команде указывает на то, что символ * (звездочка) должен трактоваться как часть имени, а не специальный символ.
1 | devcon hwids=mouse |
Показать список всех идентификаторов оборудования системы для устройств класса «мышь».
1 | devcon sethwid @ROOT\LEGACY_BEEP\0000 := beep |
Назначить идентификатор оборудования (beep) традиционному сигнальному устройству.
1 | devcon stack =ports |
Отобразить ожидаемый стек драйверов для устройства (включая нижние и верхние фильтры класса и устройства, а также управляющую службу).
1 | devcon status @pci\* |
Отобразить состояние каждого присутствующего устройства, у которого идентификатор экземпляра начинается символами pci\.
1 | devcon status @ACPI\PNP0501\1 |
Отобразить состояние указанного экземпляра устройства (в данном случае пронумерованного последовательного порта с ACPI).
1 | devcon status @root\rdp_mou\0000 |
Отобразить состояние драйвера мыши сервера или служб терминалов Microsoft .
1 | devcon status *PNP05* |
Отобразить состояние всех СОМ-портов.
1 | devcon update mydev.inf *pnp0501 |
Обновить все устройства, точно соответствующие идентификатору оборудования *pnp0501, чтобы использовать лучший драйвер в файле Mydev.inf, который сопоставлен идентификатору оборудования *pnp0501.
Примечание. После обновления все устройства используют драйвер из Mydev.inf (даже если в системе имеется более подходящий драйвер). Это необходимо для установки драйвера новой версии, который еще не имеет подписи. Обновляются только устройства, которые соответствуют указанному идентификатору оборудования (изменения не касаются дочерних устройств). Если указанный файл INF не имеет подписи, появится диалоговое окно с просьбой подтвердить установку такого драйвера. Если требуется перезагрузка компьютера, появится соответствующее сообщение, а программа DevCon вернет ошибку уровня 1. Использование параметра
1 | -r |
приводит к автоматической перезагрузке компьютера в случае такой необходимости.
Примечания.
- Программа Devcon возвращает такие уровни ошибки:
0 — команда выполнена успешно;
1 — требуется перезагрузить компьютер;
2 — команда не выполнена;
3 — синтаксическая ошибка. - Использование параметра -r приводит к автоматической, без вывода соответствующего предупреждения перезагрузке компьютера (если это необходимо) после обработки всех устройств.
- Если вводится команда -m:\\имя_компьютера и эта команда не выполняется на удаленном компьютере, возвращается ошибка.
- Программа DevCon позволяет использовать специальные символы при указании идентификаторов экземпляров. Формат идентификаторов экземпляров отличается в зависимости от платформы и используемой операционной системы.










Submitting Comment, Give me a second...
Ага теперь ясно… А то я сразу и не понял где тут связь с названием…