Прекращена работа программы libusb win32 install filter как исправить

Обновлено: 12.02.2023

Сначала немного общих слов о пакете (библиотеке) V-USB (старое название AVR USB) компании Objective Development, и библиотеке libusb.

V-USB — пакет, содержащий библиотеку подпрограмм (и примеры её использования), которая позволяет с помощью микроконтроллеров семейства AVR (производитель Atmel) делать низкоскоростные (low-speed, стандарт USB 1.0) USB-устройства. В этих устройствах протокол USB реализован программно — в firmware, прошиваемом в микроконтроллер. Кроме того, пакет V-USB содержит пример программ для хоста (компьютер, к которому подключаются USB-устройства), которые реализуют обмен данными с разработанными устройствами USB. Библиотека V-USB разработана компанией Objective Development и доступна как для свободного, так и для коммерческого использования (в зависимости от выбранной Вами лицензии).

Программы для хоста используют, в свою очередь, другую библиотеку — libusb [13]. Будем для простоты называть программы, прошиваемые в микроконтроллер термином firmware, а программы, которые работают на компьютере и общаются с разрабатываемыми нами устройствами USB — термином ПО хоста. Итак, процесс работы с пакетом AVR-USB (V-USB) и библиотекой libusb на платформе Windows по шагам.

1. Для просмотра и редактирования файлов Makefile и исходников нужно обзавестись хорошим текстовым редактором, поддерживающим окончания строк в стиле Unix (для тех, кто в танке — в Windows принято заканчивать строки в текстовых файлах как 0x0D, 0x0A, а в Unix более экономно — 0x0A). Я рекомендую скачать notepad2 — все просто и без затей, программа даже не требует установки, см. [14]. Там же описано, как прикрутить notepad2 заместо стандартного notepad.

2. Скачайте пакет библиотеки V-USB со странички [2], ищите там кнопку Download. Версия пакета была представлена под именем avrusb-YYYYMMDD.zip. Скачивайте самую последнюю версию. 24 сентября 2008 года я скачал avrusb-20080418.zip размером в 424594 байт.

3. Распакуйте в любое место папку, содержащуюся в архиве. В моем архиве была папка avrusb-20080418, я её распаковал в папку c:avrprj.

4. В папке c:avrprjavrusb-20080513examples находятся примеры firmware и ПО хоста. Всего там 5 папок, каждая из которых хранит отдельный проект:
custom-class — пример firmware и ПО хоста, показывающую работу с разработанным USB-устройством типа custom class.
hid-custom-rq — пример firmware и ПО хоста, показывающую работу с USB-устройством HID-класса путем отправки ему управляющих запросов (control request). Демонстрируется обмен данными в обоих направлениях.
hid-data — пример firmware и ПО хоста, также показывающую работу с устройством HID. Демонстрируется обмен данными в обоих направлениях.
hid-mouse — пример firmware, реализующего HID устройство типа мышь.
usbtool — пример ПО хоста — универсальная программа, работающая с USB-устройствами.

Для компиляции firmware и ПО хоста нужны специальные программные пакеты, установку и использование которых рассмотрим далее.

5. Начнем с firmware. Понадобится либо avr-gcc, либо IAR Embedded Workbench for AVR. В этой статье я рассматриваю установку и работу с avr-gcc. Пакет avr-gcc на платформе Windows входит в состав пакета WinAVR [6]. Я скачал WinAVR-20080610-install.exe размером 23433168 байт — обычный инсталлятор. После завершения закачки запустите его. Выбор языка установки ни на что не влияет, я выбрал русский. Инсталлятор предлагает выбрать папку для установки, я согласился на предлагаемую по умолчанию папку C:WinAVR-20080610. Далее запросит установить снять галочки — выбрать состав устанавливаемых компонентов (Install Files, Add Directories to PATH (Recommended), Install Programmers Notepad) — я оставил все компоненты выбранными, как и предлагалось. После установки в переменную окружения Path пропишутся пути C:WinAVR-20080610bin и C:WinAVR-20080610utilsbin. Второй путь важен для работы утилиты make. Чтобы изменения для переменной Path вступили в силу для окружения пользователя, нужно перелогиниться (по крайней мере у меня так было под w2k), либо перезапустить экземпляр командного интерпретатора cmd (чтобы обновились для него переменные окружения).

6. Откомпилируем firmware из папки c:avrprjavrusb-20080418exampleshid-custom-rqfirmware. Запустим cmd, перейдем в эту папку (cd c:avrprjavrusb-20080418exampleshid-custom-rqfirmware). Введем команду make, которая откроет файл Makefile в текущей папке и выполнит имеющиеся там команды. Makefile в текущей папке сделан так, что если ввести просто make без параметров, то выведется подсказка:

C:avrprjavrusb-20080418exampleshid-custom-rqfirmware>make
This Makefile has no default rule. Use one of the following:
make hex . to build main.hex
make program . to flash fuses and firmware
make fuse . to flash the fuses
make flash . to flash the firmware (use this on metaboard)
make clean . to delete objects and hex file

Для компиляции firmware нужно ввести make hex, что и сделаем:

c:avrprjavrusb-20080418exampleshid-custom-rqfirmware>make hex
cp -r ../../../usbdrv .
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -c usbdrv/usbdrv.c -o usbdrv/usbdrv.o
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -x assembler-with-cpp -c usbdrv/usbdrvasm.s -o usbdrv/usbdrvasm.o
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -c usbdrv/oddebug.c -o usbdrv/oddebug.o
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -c main.c -o main.o
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -o main.elf usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o main.o
rm -f main.hex main.eep.hex
avr-objcopy -j .text -j .data -O ihex main.elf main.hex
avr-size main.hex
text data bss dec hex filename
0 1694 0 1694 69e main.hex

В результате в текущей папке получим файл main.hex, который и является прошивкой для микроконтроллера. Если у Вас подключен программатор avrdude (Makefile настроен на него), то для программирования кристалла просто введите make program.

Я здесь не рассматриваю, каким образом выбирается тактовая частота для микроконтроллера или его тип — это делается путем редактирования содержимого Makefile. Все хорошо расписано как в комментариях Makefile, исходного кода, а также в файлах readme.txt — на английском языке. Переведенный на русский язык пакет V-USB скачайте по ссылке [15].

7. Теперь займемся ПО хоста. Для его компиляции нам понадобится gcc.exe, который есть в составе пакета MinGW [7]. Пакет MinGW — это набор портированных с Unix утилит командной строки. Я скачал MinGW-5.1.4.exe, файл размером в 140095 байт. Это хитрый инсталлятор, который при установке скачивает из интернета все необходимое. При запуске он запросит выбрать «Download and install» или «Download only», выбираем «Download and install». Далее спросит, какой пакет устанавливать — Previous, Current или Candidate. Выбираем то, что предлагается по умолчанию — Current. Далее запросят выбрать устанавливаемые компоненты. По умолчанию предлагается только «MinGW base tools», но я еще поставил галочку на всякий случай на «g++ compiler». Утилиту Make выбирать не стал, поскольку она у меня уже работает (поставилась из пакета WinAVR). Далее предложат выбрать папку для установки — C:MinGW, соглашаемся. Далее предложат выбрать место для ярлыков, потом начнется процесс загрузки. Грузилось у меня долго, около часа, на скорости примерно 22 кбайт/сек (если верить информации инсталлятора). Грузится все в текущую папку, откуда запускали MinGW-5.1.4.exe. После установки gcc.exe оказывается в папке c:MinGWbin, но в переменной Path этот путь не прописан, надо добавить вручную, см. скриншоты.

8. Теперь надо установить библиотеку libusb. См. ссылку на закачку релизов [13]. Найдите там ссылку для скачки наподобие libusb-win32-filter-bin-0.1.12.1.exe (цифры версии могут быть другие, выбирайте самую свежую версию). Это установщик бинарников библиотеки (бинарники позволяют работать любым приложениям Windows, использующим LibUSB), а также мастер-инсталлятор драйвера фильтра). Ставим, установщик предлагает по умолчанию в папку «C:Program FilesLibUSB-Win32», соглашаемся. После установки, создания ярлычков инсталлятор предложит запустить тест-программу («C:Program FilesLibUSB-Win32bintestlibusb-win.exe»), которая может показать все USB устройства, с которыми можно работать через библиотеку libusb (в принципе, это все устройства USB, которые распознаны системой и имеют установленный драйвер). Программа очень полезная, может пригодиться в дальнейшем для просмотра информации об USB-устройствах. Она показывает все USB-устройства, которые корректно определены в Windows и имеют драйвера (на скриншоте ниже видны два USB-устройства — флешка Kingston DataTraveler 2.0 и debugWIRE эмулятор ATMEL JTAGICE mkII).

Опишу установку драйверов поподробнее, потому что иногда у пользователей библиотеки бывают с этим проблемы, особенно когда они подключают новое USB-устройство к компьютеру, с другими VID и PID (даже если на нем уже ранее была установлена библиотека libusb). Проблема заключается в том, что новому устройству USB (с новыми VID и PID) требуется новый так называемый драйвер фильтра (filter driver). В процессе установки libusb-win32-devel-filter-X.X.X.X как раз и будет предложено установить драйвер фильтра на все обнаруженные USB устройства, а Ваша задача выбрать именно то устройство, которое нужно, и установить драйвер фильтра именно на него. Итак, скачиваем libusb-win32-devel-filter, например libusb-win32-devel-filter-1.2.2.0.exe, и запускаем. На запрос подтверждения запуска (если нельзя проверить издателя) щелкните на кнопку «Выполнить»:

libusb-win32-devel-filter-001.PNG

На приветствии визарда установки библиотеки LibUSB-Win32 тупо жмем Next:

libusb-win32-devel-filter-002.PNG

На запрос подтверждения принятия лицензии выбираем как обычно «I accept the agreement» и жмем Next:

libusb-win32-devel-filter-003.PNG

На окошке «важной информации» тупо жмем Next:

libusb-win32-devel-filter-004.PNG

Дальше предложат поменять путь и название папки, в которую будет установлена библиотека. Ничего менять не надо, тупо жмем Next:

libusb-win32-devel-filter-005.PNG

Дальше предложат поменять путь и название папки, в которой будут лежать ярлычки. Ничего менять не надо, тупо жмем Next:

libusb-win32-devel-filter-006.PNG

На этом установка библиотеки LibUSB завершена. Если оставить галочку «Launch filter installer wizard» и нажать кнопку Finish, то запустится мастер установки драйвера фильтра на найденные USB-устройства. Это важный шаг, который я решил вынести в отдельный раздел 8a.

libusb-win32-devel-filter-007.PNG

Теперь должны нормально компилироваться примеры ПО хоста командной строки, предназначенные для GCC. Если компиляция идет с ошибками, то возможно, что у Вас в папке C:Program FilesLibUSB-Win32 не хватает папок include и lib. Можете скачать установленный каталог LibUSB-Win32 полностью по ссылке [9].

libusb-win32-devel-filter-012.PNG

После запуска фильтра появится окно, где выбирается необходимое действие — установить драйвер фильтра на USB-устройство, удалить ранее установленный на USB-устройство драйвер фильтра, удалить все установленные драйвера фильтра со всех USB-устройств. В случае проблем с доступом к USB-устройству нам нужно установить драйвер фильтра, поэтому выбираем 1-й пункт, «Install a device filter»:

libusb-win32-devel-filter-008.PNG

Далее появится окошко, в котором визард отобразит все найденные USB-устройства, на которые можно установить драйвер фильтра библиотеки libusb. Нужно по значениям VID и PID найти в списке наше проблемное USB-устройство, выбрать его и нажать кнопку Install.

libusb-win32-devel-filter-009.PNG

Далее произойдет быстрая процедура установки драйвера фильтра:

libusb-win32-devel-filter-010.PNG

libusb-win32-devel-filter-011.PNG

далее, нужно изменить пути до файлов библиотеки. Было так:

USBFLAGS = -I/usr/local/include
USBLIBS = -L/usr/local/lib -lusb

теперь должно быть так (не спрашивайте меня, почему. Это мне стоило нескольких часов «плясок с бубном»):

Все, теперь можно компилировать. Как обычно, запускаем cmd и переходим в нашу папку (cd c:avrprjavrusb-20080418exampleshid-custom-rqcommandline). Вводим make, без параметров:

c:avrprjavrusb-20080418exampleshid-custom-rqcommandline>make
gcc -I»c:/Program Files/LibUSB-Win32/include» -O -g -Wall -c opendevice.c
gcc -I»c:/Program Files/LibUSB-Win32/include» -O -g -Wall -c set-led.c
gcc -o set-led opendevice.o set-led.o -L»c:/Program Files/LibUSB-Win32/lib/gcc» -lusb

Процесс компиляции закончен, в текущей папке появятся объектные файлы (расширение *.o) и исполняемый файл set-led.exe — этот исполняемый файл и есть та программа, которая работает с разрабатываемым USB-устройством.

10. Теперь нужно собрать USB устройство по одной из схем в папке c:avrprjavrusb-20080418circuits. Можно купить готовую плату AVR-USB-MEGA16 или metaboard, см. [1].

11. Теперь нужно прошить программу в микроконтроллер (прошивку c:avrprjavrusb-20080418exampleshid-custom-rqfirmwaremain.hex). Как это делать, рассказывать не буду, в Интернете полно информации по теме. Ищите по ключевым словам ISP, avrdude, PonyProg, ITAJICE mkII.

insert-LEDCtlHID2.jpg

а потом еще одно, USB Human Interface Device:

insert-LEDCtlHID3.jpg

Если посмотреть в Диспетчере Устройств, то в папке Human Interface Devices появится 2 новых устройства:

insert-LEDCtlHID4.jpg

Если посмотреть свойства USB Human Interface Device, то мы увидим имя LEDCtlHID, которое было задано в макросе USB_CFG_DEVICE_NAME (файл c:avrprjavrusb-20080513exampleshid-custom-rqfirmwareusbconfig.h):

Никакие драйвера нам не потребовались — наше устройство USB принадлежит к классу HID!

13. Теперь попробуем поуправлять устройством. Сначала запустим set-led.exe без параметров, выведется подсказка:

c:avrprjavrusb-20080418exampleshid-custom-rqcommandline>set-led.exe
usage:
set-led.exe on . turn on LED
set-led.exe off . turn off LED
set-led.exe status . ask current status of LED

Теперь мы можем командой «set-led.exe on» зажечь светодиод на макетной плате, а командой «set-led.exe off» его погасить. Наше устройство работает!

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

[Устранение проблем]

3. Часто встречающаяся проблема у начинающих работать с библиотекой V-USB — использование прерываний. Желательно таких ситуаций избегать, оставлять одно прерывание INT0, которое работает для V-USB, и использовать код только основной программы. Если все же нужно организовать еще один другой обработчик прерывания, то это надо делать максимально осторожно. В этом случае наилучшим выходом будет написание обработчика на ассемблере.

4. Новички часто пытаются неумело подсунуть примеры из пакета V-USB (avr-usb-russian.rar [15]) в AVR Studio, и у них ничего не получается — проект не компилируется, вылезают ошибки. На самом деле все примеры V-USB предназначены для компилирования из командной строки командами make.

5. Забывают также перед сборкой проекта (make, make hex) делать очистку — make clean. Команда make clean удаляет все объектные файлы, что гарантирует корректную компиляцию во всех случаях — и при изменении настроек makefile, и при изменении исходников.

6. В файле makefile лежат важные настройки проекта firmware — тип микроконтроллера (DEVICE), его тактовая частота (F_CPU). Иногда частота кварца на микроконтроллере не соответствует переменной F_CPU, и USB-устройство из-за этого не работает. Необходимо также помнить, что допустима частота кварца из ряда 12, 15, 16, 16.5, 20 МГц, другие кварцы работать не будут.

7. Важны также настройки в файле usbconfig.h — в нем определены все параметры USB-устройства, например указаны используемые ножки для сигналов D+ и D-. Назначение каждой опции подробно задокументировано. Файл usbconfig.h является общим для firmware (папка firmware) и ПО хоста (папка commandline).

8. Решение многих проблем описано в статье FAQ [10].

9. Трудности с поиском и закачкой программного обеспечения (MinGW, WinAVR, LibUSB, V-USB)? См. [16].

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Clean Junk Files».
  3. Когда появится новое окно, нажмите на кнопку «start» и дождитесь окончания поиска.
  4. потом нажмите на кнопку «Select All».
  5. нажмите на кнопку «start cleaning».

Clean Registry to fix install-filter32.exe has stopped working error

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Fix Registry problems».
  3. Нажмите на кнопку «select all» для проверки всех разделов реестра на наличие ошибок.
  4. 4. Нажмите на кнопку «Start» и подождите несколько минут в зависимости от размера файла реестра.
  5. После завершения поиска нажмите на кнопку «select all».
  6. Нажмите на кнопку «Fix selected».
    P.S. Вам может потребоваться повторно выполнить эти шаги.

3- Настройка Windows для исправления критических ошибок install-filter32.exe:

Clean Registry to fix install-filter32.exe has stopped working error

  1. Нажмите правой кнопкой мыши на «Мой компьютер» на рабочем столе и выберите пункт «Свойства».
  2. В меню слева выберите » Advanced system settings».
  3. В разделе «Быстродействие» нажмите на кнопку «Параметры».
  4. Нажмите на вкладку «data Execution prevention».
  5. Выберите опцию » Turn on DEP for all programs and services . » .
  6. Нажмите на кнопку «add» и выберите файл install-filter32.exe, а затем нажмите на кнопку «open».
  7. Нажмите на кнопку «ok» и перезагрузите свой компьютер.

Как другие пользователи поступают с этим файлом?

Всего голосов ( 181 ), 115 говорят, что не будут удалять, а 66 говорят, что удалят его с компьютера.

Файл libusb-win32-filter-bin-0.1.12.2.exe из LibUSB-Win32 является частью LibUSB-Win32. libusb-win32-filter-bin-0.1.12.2.exe, расположенный в i: alkon iphone 3gs RecBoot libusb-win32-filter-bin-0 .1 .12 .2 .exe с размером файла 435406 байт, версия файла Unknown version, подпись 7408f5f6dc805f16562d3b5bb4719a09.

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Clean Junk Files».
  3. Когда появится новое окно, нажмите на кнопку «start» и дождитесь окончания поиска.
  4. потом нажмите на кнопку «Select All».
  5. нажмите на кнопку «start cleaning».

Clean Registry to fix libusb-win32-filter-bin-0.1.12.2.exe has stopped working error

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Fix Registry problems».
  3. Нажмите на кнопку «select all» для проверки всех разделов реестра на наличие ошибок.
  4. 4. Нажмите на кнопку «Start» и подождите несколько минут в зависимости от размера файла реестра.
  5. После завершения поиска нажмите на кнопку «select all».
  6. Нажмите на кнопку «Fix selected».
    P.S. Вам может потребоваться повторно выполнить эти шаги.

3- Настройка Windows для исправления критических ошибок libusb-win32-filter-bin-0.1.12.2.exe:

Clean Registry to fix libusb-win32-filter-bin-0.1.12.2.exe has stopped working error

  1. Нажмите правой кнопкой мыши на «Мой компьютер» на рабочем столе и выберите пункт «Свойства».
  2. В меню слева выберите » Advanced system settings».
  3. В разделе «Быстродействие» нажмите на кнопку «Параметры».
  4. Нажмите на вкладку «data Execution prevention».
  5. Выберите опцию » Turn on DEP for all programs and services . » .
  6. Нажмите на кнопку «add» и выберите файл libusb-win32-filter-bin-0.1.12.2.exe, а затем нажмите на кнопку «open».
  7. Нажмите на кнопку «ok» и перезагрузите свой компьютер.

Как другие пользователи поступают с этим файлом?

Всего голосов ( 182 ), 115 говорят, что не будут удалять, а 67 говорят, что удалят его с компьютера.

Библиотека LibUSB [1] очень важна для использования со многими бесплатными программами. Например, для программ, которые переводят iPhone в режим восстановления (recovery mode), или выводят его из режима восстановления одним кликом (см. программы Recboot и EasyiRecovery). Многие примеры программ (ПО хоста USB), которые работают с самодельными устройствами USB (изготовленными на микроконтроллерах Atmel AVR на основе библиотек V-USB или LUFA), также написаны с использованием LibUSB. Можно еще привести пример популярной системы отладки OpenOCD для микроконтроллеров ARM, она также требует использования библиотеки LibUSB вместе с многими JTAG-адаптерами.

Установка LibUSB на 32-разрядных системах Windows проста, но многие пользователи 64-битных версий Windows сталкиваются с проблемами при установке LibUSB. В этой статье будет рассмотрена установка LibUSB на 64-битных редакциях Windows 7 и Windows Vista (перевод статьи [2]). Принципиальных отличий в установке LibUSB под операционной системой Windows 8 нет.

[Установка драйвера фильтра LibUSB на 64-битных Windows 7 и Windows Vista по шагам]

Установка библиотеки LibUSB для получения доступа для программ ПО хоста (программ, которые написаны в расчете на использование LibUSB) к устройствам USB на Windows обычно заключается в установке так называемого драйвера фильтра. Драйвер фильтра можно установить с помощью удобного GUI-инсталлятора (так называемого Мастера Установки Фильтра, Filter Wizard), и это самый лучший способ установки. Он просто пытается подключить драйвер фильтра к обнаруженному в системе устройству USB, которое выберет пользователь. Однако для установки драйвера класса все еще нужно использовать утилиту командной строки install-filter.exe (но это не рекомендуется делать).

Важно: перед началом установки войдите в систему под пользователем, у кого есть права администратора.

1. Скачайте дистрибутив библиотеки LibUSB, см. [1]. Пожалуйста, при загрузке выбирайте самый последний релиз дистрибутива библиотеки. Версии до 0.1.12.2 имели серьезные ошибки в реализации драйверов фильтра при работе под Windows Vista, Windows 7, и некоторыми инсталляциями Windows XP, так что используйте последние версии (1.1.14.0 и более новые). Для 64-битных Windows Vista/7/2008/2008R2 версия должна быть 1.2.0.0 или более свежая.

Загруженный файл будет называться наподобие libusb-win32-devel-filter-x.x.x.x.zip или libusb-win32-bin-x.x.x.x.zip. Не обращайте внимания, что в имени архива присутствует win32, в нем есть средства для установки драйвера и на 64-битной системе. Распакуйте его в любое место на диске (например, во временную папку C:TEMP).

2. Подключите устройство USB, для которого Вы собираетесь установить драйвер фильтра, к компьютеру. Операционная система Windows должна его обнаружить. Чтобы убедиться в этом, откройте Диспетчер Устройств. Если устройство обнаружено, но для него система не смогла найти драйвер, то см. другой раздел «Использование INFWizard — генерация драйвера для неизвестного устройства USB».

Закройте все программы, которые могли бы использовать Ваше устройство USB.

3. Если у Вас процессор AMD, то запустите binamd64install-filter-win.exe, если Intel, то запустите binia64install-filter-win.exe (для 32-разрядной системы запустите binx86install-filter-win.exe). Тип процессора можно узнать через Свойства системы (Панель управления -> Система).

Windows-System-Properties

Появится стартовое окно мастера установки фильтра:

libusb-Filter-Wizard-dialog01

Удостоверьтесь, что выбран вариант для установки драйвера фильтра (Install a device filter), и нажмите Next.

4. Появится список устройств, которые система Windows распознала, и для которых установлены уже драйвера, но к которым пока не привязан драйвер фильтра библиотеки LibUSB:

libusb-Filter-Wizard-dialog02

libusb-Filter-Wizard-dialog03

Нажмите OK, и закройте программу Filter Wizard. Установка драйвера фильтра успешно завершена.

[Использование INFWizard — генерация драйвера для неизвестного устройства USB]

Утилита для генерации драйвера INFWizard может понадобиться для того случая, когда операционная система не может сама подобрать драйвер для устройства. В Диспетчере Устройств такое устройство USB отображается как проблемное, для которого не установлен драйвер.

В этом случае можно сгенерировать новый драйвер с помощью утилиты bin/inf-wizard.exe. Далее описан процесс создания такого дистрибутива драйвера по шагам. Этот драйвер полностью заменит и драйвер устройства, и драйвер фильтра.

1. Запустите утилиту bin/inf-wizard.exe, откроется стартовое окно, где нужно сразу просто нажать Next.

libusb-Inf-Wizard-dialog01

2. В следующем окне нужно выбрать устройство USB, для которого будет генерироваться драйвер, и нажать Next.

libusb-Inf-Wizard-dialog02

3. Откроется окно, где можно отредактировать значения для VID (Vendor ID, идентификатор вендора в HEX-виде), PID (Product ID, идентификатор продукта в HEX-виде), индекс производителя MI (в HEX-виде), имя производителя, имя устройства.

libusb-Inf-Wizard-dialog03

Все параметры можно оставить как есть, ничего не изменяя, и просто нажать Next.

4. Откроется диалог для сохранения inf-файла, выберите имя файла (можно оставить его по умолчанию), выберите любую пустую папку для сохранения и нажмите Сохранить. В результате в выбранной папке появится inf-файл, инсталляторы installer_x64.exe, installer_x86.exe, и будут автоматически созданы подпапки amd64, ia64, x86, в которых содержатся системные файлы библиотеки LibUSB. Откроется окно диалога, в котором будут 2 кнопки: Install Now. (установить драйвер прямо сейчас) и Done (завершить).

libusb-Inf-Wizard-dialog04

Можно нажать Install Now. и установить вновь сгенерированный драйвер, а можно установку отложить, нажав Done.

5. Предположим, что Вы ранее нажали Done. Теперь собственно нужно установить только что сгенерированный драйвер. Для этого запустите Мастер Установки нового оборудования. Это можно сделать, если набрать в командной строке hdwwiz и нажать Enter. Или можно в Диспетчере Устройств выбрать в меню Действие -> Установить старое устройство. Откроется начальное окно мастера установки оборудования, нажмите кнопку Далее.

Windows-Device-Wizard-dialog01

6. В следующем окне выберите «Установка оборудования, выбранного из списка вручную» и нажмите Далее.

Windows-Device-Wizard-dialog02

7. В следующем окне выберите «Показать все устройства» и нажмите Далее.

Windows-Device-Wizard-dialog03

Windows-Device-Wizard-dialog04

Откроется окно, в котором нужно выбрать место расположения драйвера. Выберите папку, в которую Вы сохранили драйвер на шаге 4, выберите inf-файл, и нажмите Открыть:

Windows-Device-Wizard-dialog05

Затем нажмите OK:

Windows-Device-Wizard-dialog06

9. Отобразится окно с описанием драйвера, и предупреждение, что драйвер без цифровой подписи. Просто нажмите Далее.

Windows-Device-Wizard-dialog07

10. Появится окно, которое сообщает о готовности к установке драйвера. Просто нажмите Далее.

Windows-Device-Wizard-dialog08

11. Появится окно «Безопасность Windows», где еще раз сообщается о том, что у драйвера нет сертификата. Это окно позволяет отказаться от установки драйвера, или установить драйвер. Выберите второй вариант, «Все равно установить этот драйвер».

Windows-Device-Wizard-dialog09

Установка драйвера завершена.

[Удаление драйвера фильтра LibUSB]

Удаление драйвера фильтра LibUSB может понадобиться, если нужно восстановить доступ к устройству USB для обычных программ, которые не используют библиотеку LibUSB. Например, мне понадобилось удалить драйвер LibUSB для адаптера J-Link после экспериментов с OpenOCD, когда мне нужно было продолжить отладку через драйвера SEGGER в среде IAR.

1. Запустите мастер установки драйвера фильтра Filter Wizard — в зависимости от типа процессора это либо binamd64install-filter-win.exe, либо binia64install-filter-win.exe, либо для 32-разрядной системы binx86install-filter-win.exe. В первом окне мастера выберите вариант удаления драйвера фильтра (Remove a device filter), нажмите Next.

libusb-Filter-Wizard-dialog04

2. Выберите в списке устройство, для которого нужно удалить драйвер фильтра, и нажмите Remove.

libusb-Filter-Wizard-dialog05

libusb-Filter-Wizard-dialog06

Нажмите OK, и закройте программу Filter Wizard. Удаление драйвера фильтра для устройства USB завершено.

[Удаление драйвера устройства LibUSB]

Чтобы удалить драйвер фильтра, воспользуйтесь GUI-утилитой (install-filter-win.exe), см. предыдущий раздел «Удаление драйвера фильтра LibUSB». Сам драйвер и его файлы удалить не так просто, но можно сделать либо откат состояния системы (Панель управления -> Восстановление), либо попробовать утилиту usbdeview [3]. В операционных системах Windows Vista и Windows 7 можно использовать системную утилиту командной строки pnputil для удаления пакета драйвера.

[Обновление драйвера фильтра LibUSB]

Сначала удалите старую версию драйвера фильтра, см. раздел «Удаление драйвера фильтра LibUSB». Затем установите новую версию драйвера фильтра, как это описано в разделе «Установка драйвера фильтра LibUSB на 64-битных Windows 7 и Windows Vista по шагам».

Читайте также:

  • Saints row 4 вылетает в кооперативе
  • Что делать если вылетает майнкрафт из за nei
  • Deus ex universe системные требования
  • Дискорд вылетает при запуске гта
  • Как установить кликер на фифа мобайл

Содержание

  1. libusb0.dll
  2. Пути устранения ошибки с libusb0.dll
  3. Как установить libusb на windows 10
  4. libusb0 dll не был найден
  5. Всё равно выдаёт ошибку libusb0.dll не был найден?
  6. Нужна помощь в установке libusb0.dll?
  7. Ошибки libusb0.dll
  8. Пути устранения ошибки с libusb0.dll
  9. Скачать libusb0.dll
  10. Как исправить ошибку?
  11. Способ 1.
  12. Способ 2.
  13. Русские Блоги
  14. Один, загрузка libusb
  15. Во-вторых, установка libusb
  16. Три, тест libusb

libusb0.dll

Файл 0.dll — это файл динамически подключаемой библиотеки. Если быть точным, это компонент библиотеки LibUSB, которая отвечает за работу так называемого «ПО хоста USB», например, за работу программ, обеспечивающих взаимодействие ОС смартфона с операционной системой Вашего персонального компьютера. Ошибка в работе этих программ, сопровождающаяся соответствующим системным сообщением, нередко вызвана отсутствием этого файла.

libusb0

В чем причина того, что отсутствует файл? Причин может быть много. Сюда входит как неправильная установка LibUSB, так и сбой в работе библиотеки при экстренной остановке компьютера, а также многие другие причины, которых насчитывается в общей сложности более десяти. Результат же всегда один — отсутствие файла не дает Вам работать с любимым приложением и Вы не можете, например, перевести Ваш iPhone с помощью ПО на компьютере в режим восстановления. Что делать, если файл не найден?

Пути устранения ошибки с libusb0.dll

Многие пользователи пытаются сразу скачать libusb0.dll бесплатно для Windows и установить его вручную. Более правильным однако является первый вариант действий — переустановить весь пакет библиотеки LibUSB. Последнее сделать несложно, пакет доступен для скачивания в Сети, а его установка предполагает лишь следование подсказкам Мастера установки приложений.

Однако нередко бывает так, что после полной переустановки пакета сообщение об ошибке никуда не девается: файл все также отсутствует. В этом случае логичнее всего прибегнуть ко второму варианту: скачать libusb0.dll и установить его в ручную в необходимую системную папку. Еще один вариант развития событий — это случай, когда файл наличествует, но система постоянно сообщает об его отсутствии. Скорее всего, файл поврежден, а его замена на работоспособный также легко исправит данную ситуацию.

Как установить DLL файл вы можете прочитать на страницы, в которой максимально подробно описан данный процесс.

Источник

Как установить libusb на windows 10

Сначала немного общих слов о пакете (библиотеке) V-USB (старое название AVR USB) компании Objective Development, и библиотеке libusb.

2. Скачайте пакет библиотеки V-USB со странички [2], ищите там кнопку Download. Версия пакета была представлена под именем avrusb-YYYYMMDD.zip. Скачивайте самую последнюю версию. 24 сентября 2008 года я скачал avrusb-20080418.zip размером в 424594 байт.

3. Распакуйте в любое место папку, содержащуюся в архиве. В моем архиве была папка avrusb-20080418, я её распаковал в папку c:avrprj.

Для компиляции firmware и ПО хоста нужны специальные программные пакеты, установку и использование которых рассмотрим далее.

6. Откомпилируем firmware из папки c:avrprjavrusb-20080418exampleshid-custom-rqfirmware. Запустим cmd, перейдем в эту папку (cd c:avrprjavrusb-20080418exampleshid-custom-rqfirmware). Введем команду make, которая откроет файл Makefile в текущей папке и выполнит имеющиеся там команды. Makefile в текущей папке сделан так, что если ввести просто make без параметров, то выведется подсказка:

Для компиляции firmware нужно ввести make hex, что и сделаем:

В результате в текущей папке получим файл main.hex, который и является прошивкой для микроконтроллера. Если у Вас подключен программатор avrdude (Makefile настроен на него), то для программирования кристалла просто введите make program.

testlibusb win01

Опишу установку драйверов поподробнее, потому что иногда у пользователей библиотеки бывают с этим проблемы, особенно когда они подключают новое USB-устройство к компьютеру, с другими VID и PID (даже если на нем уже ранее была установлена библиотека libusb). Проблема заключается в том, что новому устройству USB (с новыми VID и PID) требуется новый так называемый драйвер фильтра (filter driver). В процессе установки libusb-win32-devel-filter-X.X.X.X как раз и будет предложено установить драйвер фильтра на все обнаруженные USB устройства, а Ваша задача выбрать именно то устройство, которое нужно, и установить драйвер фильтра именно на него. Итак, скачиваем libusb-win32-devel-filter, например libusb-win32-devel-filter-1.2.2.0.exe, и запускаем. На запрос подтверждения запуска (если нельзя проверить издателя) щелкните на кнопку «Выполнить»:

libusb win32 devel filter 001

На приветствии визарда установки библиотеки LibUSB-Win32 тупо жмем Next:

libusb win32 devel filter 002

На запрос подтверждения принятия лицензии выбираем как обычно «I accept the agreement» и жмем Next:

libusb win32 devel filter 003

На окошке «важной информации» тупо жмем Next:

libusb win32 devel filter 004

Дальше предложат поменять путь и название папки, в которую будет установлена библиотека. Ничего менять не надо, тупо жмем Next:

libusb win32 devel filter 005

Дальше предложат поменять путь и название папки, в которой будут лежать ярлычки. Ничего менять не надо, тупо жмем Next:

libusb win32 devel filter 006

На этом установка библиотеки LibUSB завершена. Если оставить галочку «Launch filter installer wizard» и нажать кнопку Finish, то запустится мастер установки драйвера фильтра на найденные USB-устройства. Это важный шаг, который я решил вынести в отдельный раздел 8a.

libusb win32 devel filter 007

Теперь должны нормально компилироваться примеры ПО хоста командной строки, предназначенные для GCC. Если компиляция идет с ошибками, то возможно, что у Вас в папке C:Program FilesLibUSB-Win32 не хватает папок include и lib. Можете скачать установленный каталог LibUSB-Win32 полностью по ссылке [9].

8a. Установка драйвера фильтра. Как я уже упоминал, программы ПО хоста, написанные с использованием библиотеки libusb, на платформе Windows общаются с устройствами USB через так называемый драйвер фильтра. Если драйвер фильтра USB-устройства не установлен, то при попытке обращения к USB-устройству Вы можете получить сообщения типа «Could not find USB device «hardctrl-HID» with vid=0x16c0 pid=0x5df» (в этом примере отображены параметры «hardctrl-HID», vid=0x16c0, pid=0x5df, задаваемые в файле usbconfig.h, макросы USB_CFG_DEVICE_NAME, USB_CFG_VENDOR_ID, USB_CFG_DEVICE_ID соответственно). Проблема устраняется установкой драйвера фильтра на устройство. Визард установки драйвера фильтра запускается в процессе установки библиотеки libusb (процесс описан на предыдущем шаге), но можно также запустить визард драйвера фильтра (Filter Wizard) и отдельно из меню запуска программ:

libusb win32 devel filter 012

libusb win32 devel filter 008

Далее появится окошко, в котором визард отобразит все найденные USB-устройства, на которые можно установить драйвер фильтра библиотеки libusb. Нужно по значениям VID и PID найти в списке наше проблемное USB-устройство, выбрать его и нажать кнопку Install.

libusb win32 devel filter 009

Далее произойдет быстрая процедура установки драйвера фильтра:

libusb win32 devel filter 010

По окончании установки драйвера фильтра получим соответствующее сообщение. Теперь проблем с обращением к USB-устройству через библиотеку libusb не будет.

libusb win32 devel filter 011

9. Попробуем откомпилировать c:avrprjavrusb-20080418exampleshid-custom-rqcommandline (это ПО хоста, которое может управлять нашим устройством USB). Сначала отредактируем файл c:asmavrusb-20080513exampleshid-custom-rqcommandlineMakefile. Эти 2 строки надо закомментировать (комментарий начинается с символа # в начале строки):

далее, нужно изменить пути до файлов библиотеки. Было так:

теперь должно быть так (не спрашивайте меня, почему. Это мне стоило нескольких часов «плясок с бубном»):

Все, теперь можно компилировать. Как обычно, запускаем cmd и переходим в нашу папку (cd c:avrprjavrusb-20080418exampleshid-custom-rqcommandline). Вводим make, без параметров:

10. Теперь нужно собрать USB устройство по одной из схем в папке c:avrprjavrusb-20080418circuits. Можно купить готовую плату AVR-USB-MEGA16 или metaboard, см. [1].

11. Теперь нужно прошить программу в микроконтроллер (прошивку c:avrprjavrusb-20080418exampleshid-custom-rqfirmwaremain.hex). Как это делать, рассказывать не буду, в Интернете полно информации по теме. Ищите по ключевым словам ISP, avrdude, PonyProg, ITAJICE mkII.

12. Подключите Ваше устройство к компьютеру. Если Вы его собрали и прошили правильно, то появится сообщение, что обнаружено новое устройство LEDCtlHID:
insert LEDCtlHID1

а потом еще одно, USB Human Interface Device:
insert LEDCtlHID2

Если посмотреть в Диспетчере Устройств, то в папке Human Interface Devices появится 2 новых устройства:
insert LEDCtlHID3

Если посмотреть свойства USB Human Interface Device, то мы увидим имя LEDCtlHID, которое было задано в макросе USB_CFG_DEVICE_NAME (файл c:avrprjavrusb-20080513exampleshid-custom-rqfirmwareusbconfig.h):
insert LEDCtlHID4

13. Теперь попробуем поуправлять устройством. Сначала запустим set-led.exe без параметров, выведется подсказка:

Теперь мы можем командой «set-led.exe on» зажечь светодиод на макетной плате, а командой «set-led.exe off» его погасить. Наше устройство работает!

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

[Устранение проблем]

8. Решение многих проблем описано в статье FAQ [10].

9. Трудности с поиском и закачкой программного обеспечения (MinGW, WinAVR, LibUSB, V-USB)? См. [16].

Источник

libusb0 dll не был найден

Первым делом:
Скачайте библиотеку — скачать libusb0.dll

Затем:
Поместите libusb0.dll в одну из следующих папок:

Если у вас 64-битная версия Windows, то поместите файл в:
«C:WindowsSysWOW64»

Если у вас 32-битная версия Windows, то поместите файл в:
«C:WindowsSystem32»

После этого
Перезагрузите компьютер, чтобы изменения вступили в силу.

Всё равно выдаёт ошибку libusb0.dll не был найден?

Тогда придётся установить этот файл вручную. Для этого:

Зайдите в меню «Пуск».
В строчке поиска введите «cmd». И запустите найденную программу от имени администратора.
В открывшемся окне введите «regsvr32 libusb0.dll «.

После этого снова перезагрузите компьютер. Теперь ошибка должна быть исправлена.

Если что-то не понятно прочитайте более подробную инструкцию — как установить dll файл. скачать dle 11.3

Описание

Автор

Architecture

Название

Размер

: 42496 Byte ( 41.5 KB )

Скачал сам поделись с друзьями. Поддержи сайт.

Нужна помощь в установке libusb0.dll?

Администрация сайта не несет ответственности за ваши действия

В Windows x64 необходимо поместить файл в директорию C:WindowsSysWOW64

Ошибки libusb0.dll

repair dНаиболее распространенные ошибки связанные с файлом.

Файл 0.dll — это файл динамически подключаемой библиотеки. Если быть точным, это компонент библиотеки LibUSB, которая отвечает за работу так называемого «ПО хоста USB», например, за работу программ, обеспечивающих взаимодействие ОС смартфона с операционной системой Вашего персонального компьютера. Ошибка в работе этих программ, сопровождающаяся соответствующим системным сообщением, нередко вызвана отсутствием этого файла.

libusb0

В чем причина того, что отсутствует файл? Причин может быть много. Сюда входит как неправильная установка LibUSB, так и сбой в работе библиотеки при экстренной остановке компьютера, а также многие другие причины, которых насчитывается в общей сложности более десяти. Результат же всегда один — отсутствие файла не дает Вам работать с любимым приложением и Вы не можете, например, перевести Ваш iPhone с помощью ПО на компьютере в режим восстановления. Что делать, если файл не найден?

Пути устранения ошибки с libusb0.dll

Многие пользователи пытаются сразу скачать libusb0.dll бесплатно для Windows и установить его вручную. Более правильным однако является первый вариант действий — переустановить весь пакет библиотеки LibUSB. Последнее сделать несложно, пакет доступен для скачивания в Сети, а его установка предполагает лишь следование подсказкам Мастера установки приложений.

Однако нередко бывает так, что после полной переустановки пакета сообщение об ошибке никуда не девается: файл все также отсутствует. В этом случае логичнее всего прибегнуть ко второму варианту: скачать libusb0.dll и установить его в ручную в необходимую системную папку. Еще один вариант развития событий — это случай, когда файл наличествует, но система постоянно сообщает об его отсутствии. Скорее всего, файл поврежден, а его замена на работоспособный также легко исправит данную ситуацию.

Как установить DLL файл вы можете прочитать на страницы, в которой максимально подробно описан данный процесс.

Источник

Скачать libusb0.dll

libusb0

Указанная библиотека реализована на языке программирования Си. Входит в пакет LibUsb. Функции библиотеки предназначены для обеспечения взаимодействия приложений с внешними устройствами по протоколу USB. Первая версия библиотеки разработана под Linux. В последствии появилась реализация под Windows. Библиотека находится в свободном доступе и используется программистами для подключения вышеназванных функции при написании офисных либо служебных приложений.

Ошибка может возникнуть по различным причинам. Файл может быть удален либо некорректно распакован в процессе установки приложения. Как правило, отсутствует файл при некорректном завершении процесса установки приложения. Либо при перезагрузке, связанной с внезапным отключением питания компьютера. Удаление файла могло произойти благодаря аппаратным сбоям, например, наличию поврежденных секторов на жестком диске, программным либо иным воздействиям. Могла быть вызвана в результате некорректной очистки реестра неопытным пользователем.

Для устранения ошибки следует либо установить пакет LibUsb либо скачать libusb0.dll и импортировать его в реестр. Следует убедиться, что библиотека будет корректно работать. Для этого необходимо скачать libusb0.dll бесплатно для Windows либо для иной операционной системы. Вариант переустановки приложения рассматривать не стоит, так как высока вероятность того, что в инсталляционном пакете искомый файл отсутствует. В этом случае переустановка попусту отнимет время, не приведя к желаемому результату. Файл библиотеки будет не найден.

Как исправить ошибку?

Способ 1.

Способ 2.

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

Источник

Русские Блоги

Один, загрузка libusb

На официальном сайте http://libusb.info/ Его можно скачать, как показано ниже:

5ba0e771f8c82803cdc7ac9f56935f20

Загрузите libusb-1.0.22.tar.bz2 внутри

6a4d5cf02dbe507255f85a82cafccc1d

Во-вторых, установка libusb

1. Среда Ubuntu 16.04

2. Установка в основном делится на 3 этапа, а именно:

B: Выполните make для компиляции установочного пакета.

C: выполнить make install для установки

3. Конкретный рабочий процесс:

1) В домашнем каталоге создайте новый каталог libusb (mkdir libusb), как показано ниже:

facd35fb7c4e96644ae2cc57361a014c

Разархивируйте libusb-1.0.22.tar.bz2: tar xjvf libusb-1.0.22.tar.bz2

b07b731a4acba7ff9f6f7484b8415296

Каталог после распаковки выглядит следующим образом:

705d550cbe264a57c22af5d1a45dd9e3

b4933cac1bbe81ea330d822a55910a64

Выполните команду, вы обнаружите ошибку выполнения, configure: error: udev support requested but libudev header not installed

—build = i686-linux указать платформу компиляции программного обеспечения

—host = arm-linux Укажите операционную платформу программного обеспечения

—prefix Укажите каталог установки программного обеспечения

Если в Платформа встроенного процессора руки Application, то вам необходимо настроить следующее:

73235d46933fe9140b28c8875a5f7ad7

Если он используется на локальном ПК, требуется следующая конфигурация:

874156d81de76ec710bc59a765b14630

bde3426e84ce166e7642b7156fd160f5

feceb1486480c81e678d2ef08ecbf87e

5. Выполните команду make install, как показано ниже:

928001ab85b554e1cc25ec3f3a65b1e7

Обычно он может работать нормально, но если текущий пользователь системы является обычным пользователем, будет сообщено об ошибке, как показано ниже:

e3c73844daaddfbc865221d8b2bfe284

Сообщение об ошибке заключается в том, что разрешения нет, поэтому вам нужно добавить sudo, поэтому выполните команду, sudo make install

Импорт завершен, как показано ниже:

3c50d0fddc6e244b11e926be92a8dae3

f3cfae7baa9b1a11ac937308889f511e

Libraries have been installed in:

27136f168f378c252f4b1d7ecc2c50a7

На этом этапе libusb успешно установлен.

Три, тест libusb

В исходном каталоге libusb есть пример папки, в которой содержится исходный файл тестовой программы listdev.c, предоставленный libusb (список устройств USB)

При компиляции мы можем использовать встроенный make-файл для создания исполняемых файлов или использовать следующие операции:

Если во время работы вы столкнетесь со следующими проблемами, решения следующие:

Источник

Обновлено: 24.05.2023

Сначала немного общих слов о пакете (библиотеке) V-USB (старое название AVR USB) компании Objective Development, и библиотеке libusb.

V-USB — пакет, содержащий библиотеку подпрограмм (и примеры её использования), которая позволяет с помощью микроконтроллеров семейства AVR (производитель Atmel) делать низкоскоростные (low-speed, стандарт USB 1.0) USB-устройства. В этих устройствах протокол USB реализован программно — в firmware, прошиваемом в микроконтроллер. Кроме того, пакет V-USB содержит пример программ для хоста (компьютер, к которому подключаются USB-устройства), которые реализуют обмен данными с разработанными устройствами USB. Библиотека V-USB разработана компанией Objective Development и доступна как для свободного, так и для коммерческого использования (в зависимости от выбранной Вами лицензии).

Программы для хоста используют, в свою очередь, другую библиотеку — libusb [13]. Будем для простоты называть программы, прошиваемые в микроконтроллер термином firmware, а программы, которые работают на компьютере и общаются с разрабатываемыми нами устройствами USB — термином ПО хоста. Итак, процесс работы с пакетом AVR-USB (V-USB) и библиотекой libusb на платформе Windows по шагам.

1. Для просмотра и редактирования файлов Makefile и исходников нужно обзавестись хорошим текстовым редактором, поддерживающим окончания строк в стиле Unix (для тех, кто в танке — в Windows принято заканчивать строки в текстовых файлах как 0x0D, 0x0A, а в Unix более экономно — 0x0A). Я рекомендую скачать notepad2 — все просто и без затей, программа даже не требует установки, см. [14]. Там же описано, как прикрутить notepad2 заместо стандартного notepad.

2. Скачайте пакет библиотеки V-USB со странички [2], ищите там кнопку Download. Версия пакета была представлена под именем avrusb-YYYYMMDD.zip. Скачивайте самую последнюю версию. 24 сентября 2008 года я скачал avrusb-20080418.zip размером в 424594 байт.

3. Распакуйте в любое место папку, содержащуюся в архиве. В моем архиве была папка avrusb-20080418, я её распаковал в папку c:avrprj.

4. В папке c:avrprjavrusb-20080513examples находятся примеры firmware и ПО хоста. Всего там 5 папок, каждая из которых хранит отдельный проект:
custom-class — пример firmware и ПО хоста, показывающую работу с разработанным USB-устройством типа custom class.
hid-custom-rq — пример firmware и ПО хоста, показывающую работу с USB-устройством HID-класса путем отправки ему управляющих запросов (control request). Демонстрируется обмен данными в обоих направлениях.
hid-data — пример firmware и ПО хоста, также показывающую работу с устройством HID. Демонстрируется обмен данными в обоих направлениях.
hid-mouse — пример firmware, реализующего HID устройство типа мышь.
usbtool — пример ПО хоста — универсальная программа, работающая с USB-устройствами.

Для компиляции firmware и ПО хоста нужны специальные программные пакеты, установку и использование которых рассмотрим далее.

5. Начнем с firmware. Понадобится либо avr-gcc, либо IAR Embedded Workbench for AVR. В этой статье я рассматриваю установку и работу с avr-gcc. Пакет avr-gcc на платформе Windows входит в состав пакета WinAVR [6]. Я скачал WinAVR-20080610-install.exe размером 23433168 байт — обычный инсталлятор. После завершения закачки запустите его. Выбор языка установки ни на что не влияет, я выбрал русский. Инсталлятор предлагает выбрать папку для установки, я согласился на предлагаемую по умолчанию папку C:WinAVR-20080610. Далее запросит установить снять галочки — выбрать состав устанавливаемых компонентов (Install Files, Add Directories to PATH (Recommended), Install Programmers Notepad) — я оставил все компоненты выбранными, как и предлагалось. После установки в переменную окружения Path пропишутся пути C:WinAVR-20080610bin и C:WinAVR-20080610utilsbin. Второй путь важен для работы утилиты make. Чтобы изменения для переменной Path вступили в силу для окружения пользователя, нужно перелогиниться (по крайней мере у меня так было под w2k), либо перезапустить экземпляр командного интерпретатора cmd (чтобы обновились для него переменные окружения).

6. Откомпилируем firmware из папки c:avrprjavrusb-20080418exampleshid-custom-rqfirmware. Запустим cmd, перейдем в эту папку (cd c:avrprjavrusb-20080418exampleshid-custom-rqfirmware). Введем команду make, которая откроет файл Makefile в текущей папке и выполнит имеющиеся там команды. Makefile в текущей папке сделан так, что если ввести просто make без параметров, то выведется подсказка:

C:avrprjavrusb-20080418exampleshid-custom-rqfirmware>make
This Makefile has no default rule. Use one of the following:
make hex . to build main.hex
make program . to flash fuses and firmware
make fuse . to flash the fuses
make flash . to flash the firmware (use this on metaboard)
make clean . to delete objects and hex file

Для компиляции firmware нужно ввести make hex, что и сделаем:

c:avrprjavrusb-20080418exampleshid-custom-rqfirmware>make hex
cp -r ../../../usbdrv .
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -c usbdrv/usbdrv.c -o usbdrv/usbdrv.o
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -x assembler-with-cpp -c usbdrv/usbdrvasm.s -o usbdrv/usbdrvasm.o
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -c usbdrv/oddebug.c -o usbdrv/oddebug.o
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -c main.c -o main.o
avr-gcc -Wall -Os -DF_CPU=16000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=atm-ga168 -o main.elf usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o main.o
rm -f main.hex main.eep.hex
avr-objcopy -j .text -j .data -O ihex main.elf main.hex
avr-size main.hex
text data bss dec hex filename
0 1694 0 1694 69e main.hex

В результате в текущей папке получим файл main.hex, который и является прошивкой для микроконтроллера. Если у Вас подключен программатор avrdude (Makefile настроен на него), то для программирования кристалла просто введите make program.

Я здесь не рассматриваю, каким образом выбирается тактовая частота для микроконтроллера или его тип — это делается путем редактирования содержимого Makefile. Все хорошо расписано как в комментариях Makefile, исходного кода, а также в файлах readme.txt — на английском языке. Переведенный на русский язык пакет V-USB скачайте по ссылке [15].

7. Теперь займемся ПО хоста. Для его компиляции нам понадобится gcc.exe, который есть в составе пакета MinGW [7]. Пакет MinGW — это набор портированных с Unix утилит командной строки. Я скачал MinGW-5.1.4.exe, файл размером в 140095 байт. Это хитрый инсталлятор, который при установке скачивает из интернета все необходимое. При запуске он запросит выбрать «Download and install» или «Download only», выбираем «Download and install». Далее спросит, какой пакет устанавливать — Previous, Current или Candidate. Выбираем то, что предлагается по умолчанию — Current. Далее запросят выбрать устанавливаемые компоненты. По умолчанию предлагается только «MinGW base tools», но я еще поставил галочку на всякий случай на «g++ compiler». Утилиту Make выбирать не стал, поскольку она у меня уже работает (поставилась из пакета WinAVR). Далее предложат выбрать папку для установки — C:MinGW, соглашаемся. Далее предложат выбрать место для ярлыков, потом начнется процесс загрузки. Грузилось у меня долго, около часа, на скорости примерно 22 кбайт/сек (если верить информации инсталлятора). Грузится все в текущую папку, откуда запускали MinGW-5.1.4.exe. После установки gcc.exe оказывается в папке c:MinGWbin, но в переменной Path этот путь не прописан, надо добавить вручную, см. скриншоты.

8. Теперь надо установить библиотеку libusb. См. ссылку на закачку релизов [13]. Найдите там ссылку для скачки наподобие libusb-win32-filter-bin-0.1.12.1.exe (цифры версии могут быть другие, выбирайте самую свежую версию). Это установщик бинарников библиотеки (бинарники позволяют работать любым приложениям Windows, использующим LibUSB), а также мастер-инсталлятор драйвера фильтра). Ставим, установщик предлагает по умолчанию в папку «C:Program FilesLibUSB-Win32», соглашаемся. После установки, создания ярлычков инсталлятор предложит запустить тест-программу («C:Program FilesLibUSB-Win32bintestlibusb-win.exe»), которая может показать все USB устройства, с которыми можно работать через библиотеку libusb (в принципе, это все устройства USB, которые распознаны системой и имеют установленный драйвер). Программа очень полезная, может пригодиться в дальнейшем для просмотра информации об USB-устройствах. Она показывает все USB-устройства, которые корректно определены в Windows и имеют драйвера (на скриншоте ниже видны два USB-устройства — флешка Kingston DataTraveler 2.0 и debugWIRE эмулятор ATMEL JTAGICE mkII).

Опишу установку драйверов поподробнее, потому что иногда у пользователей библиотеки бывают с этим проблемы, особенно когда они подключают новое USB-устройство к компьютеру, с другими VID и PID (даже если на нем уже ранее была установлена библиотека libusb). Проблема заключается в том, что новому устройству USB (с новыми VID и PID) требуется новый так называемый драйвер фильтра (filter driver). В процессе установки libusb-win32-devel-filter-X.X.X.X как раз и будет предложено установить драйвер фильтра на все обнаруженные USB устройства, а Ваша задача выбрать именно то устройство, которое нужно, и установить драйвер фильтра именно на него. Итак, скачиваем libusb-win32-devel-filter, например libusb-win32-devel-filter-1.2.2.0.exe, и запускаем. На запрос подтверждения запуска (если нельзя проверить издателя) щелкните на кнопку «Выполнить»:

libusb-win32-devel-filter-001.PNG

На приветствии визарда установки библиотеки LibUSB-Win32 тупо жмем Next:

libusb-win32-devel-filter-002.PNG

На запрос подтверждения принятия лицензии выбираем как обычно «I accept the agreement» и жмем Next:

libusb-win32-devel-filter-003.PNG

На окошке «важной информации» тупо жмем Next:

libusb-win32-devel-filter-004.PNG

Дальше предложат поменять путь и название папки, в которую будет установлена библиотека. Ничего менять не надо, тупо жмем Next:

libusb-win32-devel-filter-005.PNG

Дальше предложат поменять путь и название папки, в которой будут лежать ярлычки. Ничего менять не надо, тупо жмем Next:

libusb-win32-devel-filter-006.PNG

На этом установка библиотеки LibUSB завершена. Если оставить галочку «Launch filter installer wizard» и нажать кнопку Finish, то запустится мастер установки драйвера фильтра на найденные USB-устройства. Это важный шаг, который я решил вынести в отдельный раздел 8a.

libusb-win32-devel-filter-007.PNG

Теперь должны нормально компилироваться примеры ПО хоста командной строки, предназначенные для GCC. Если компиляция идет с ошибками, то возможно, что у Вас в папке C:Program FilesLibUSB-Win32 не хватает папок include и lib. Можете скачать установленный каталог LibUSB-Win32 полностью по ссылке [9].

libusb-win32-devel-filter-012.PNG

После запуска фильтра появится окно, где выбирается необходимое действие — установить драйвер фильтра на USB-устройство, удалить ранее установленный на USB-устройство драйвер фильтра, удалить все установленные драйвера фильтра со всех USB-устройств. В случае проблем с доступом к USB-устройству нам нужно установить драйвер фильтра, поэтому выбираем 1-й пункт, «Install a device filter»:

libusb-win32-devel-filter-008.PNG

Далее появится окошко, в котором визард отобразит все найденные USB-устройства, на которые можно установить драйвер фильтра библиотеки libusb. Нужно по значениям VID и PID найти в списке наше проблемное USB-устройство, выбрать его и нажать кнопку Install.

libusb-win32-devel-filter-009.PNG

Далее произойдет быстрая процедура установки драйвера фильтра:

libusb-win32-devel-filter-010.PNG

libusb-win32-devel-filter-011.PNG

далее, нужно изменить пути до файлов библиотеки. Было так:

USBFLAGS = -I/usr/local/include
USBLIBS = -L/usr/local/lib -lusb

теперь должно быть так (не спрашивайте меня, почему. Это мне стоило нескольких часов «плясок с бубном»):

Все, теперь можно компилировать. Как обычно, запускаем cmd и переходим в нашу папку (cd c:avrprjavrusb-20080418exampleshid-custom-rqcommandline). Вводим make, без параметров:

c:avrprjavrusb-20080418exampleshid-custom-rqcommandline>make
gcc -I»c:/Program Files/LibUSB-Win32/include» -O -g -Wall -c opendevice.c
gcc -I»c:/Program Files/LibUSB-Win32/include» -O -g -Wall -c set-led.c
gcc -o set-led opendevice.o set-led.o -L»c:/Program Files/LibUSB-Win32/lib/gcc» -lusb

Процесс компиляции закончен, в текущей папке появятся объектные файлы (расширение *.o) и исполняемый файл set-led.exe — этот исполняемый файл и есть та программа, которая работает с разрабатываемым USB-устройством.

10. Теперь нужно собрать USB устройство по одной из схем в папке c:avrprjavrusb-20080418circuits. Можно купить готовую плату AVR-USB-MEGA16 или metaboard, см. [1].

11. Теперь нужно прошить программу в микроконтроллер (прошивку c:avrprjavrusb-20080418exampleshid-custom-rqfirmwaremain.hex). Как это делать, рассказывать не буду, в Интернете полно информации по теме. Ищите по ключевым словам ISP, avrdude, PonyProg, ITAJICE mkII.

insert-LEDCtlHID2.jpg

а потом еще одно, USB Human Interface Device:

insert-LEDCtlHID3.jpg

Если посмотреть в Диспетчере Устройств, то в папке Human Interface Devices появится 2 новых устройства:

insert-LEDCtlHID4.jpg

Если посмотреть свойства USB Human Interface Device, то мы увидим имя LEDCtlHID, которое было задано в макросе USB_CFG_DEVICE_NAME (файл c:avrprjavrusb-20080513exampleshid-custom-rqfirmwareusbconfig.h):

Никакие драйвера нам не потребовались — наше устройство USB принадлежит к классу HID!

13. Теперь попробуем поуправлять устройством. Сначала запустим set-led.exe без параметров, выведется подсказка:

c:avrprjavrusb-20080418exampleshid-custom-rqcommandline>set-led.exe
usage:
set-led.exe on . turn on LED
set-led.exe off . turn off LED
set-led.exe status . ask current status of LED

Теперь мы можем командой «set-led.exe on» зажечь светодиод на макетной плате, а командой «set-led.exe off» его погасить. Наше устройство работает!

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

[Устранение проблем]

3. Часто встречающаяся проблема у начинающих работать с библиотекой V-USB — использование прерываний. Желательно таких ситуаций избегать, оставлять одно прерывание INT0, которое работает для V-USB, и использовать код только основной программы. Если все же нужно организовать еще один другой обработчик прерывания, то это надо делать максимально осторожно. В этом случае наилучшим выходом будет написание обработчика на ассемблере.

4. Новички часто пытаются неумело подсунуть примеры из пакета V-USB (avr-usb-russian.rar [15]) в AVR Studio, и у них ничего не получается — проект не компилируется, вылезают ошибки. На самом деле все примеры V-USB предназначены для компилирования из командной строки командами make.

5. Забывают также перед сборкой проекта (make, make hex) делать очистку — make clean. Команда make clean удаляет все объектные файлы, что гарантирует корректную компиляцию во всех случаях — и при изменении настроек makefile, и при изменении исходников.

6. В файле makefile лежат важные настройки проекта firmware — тип микроконтроллера (DEVICE), его тактовая частота (F_CPU). Иногда частота кварца на микроконтроллере не соответствует переменной F_CPU, и USB-устройство из-за этого не работает. Необходимо также помнить, что допустима частота кварца из ряда 12, 15, 16, 16.5, 20 МГц, другие кварцы работать не будут.

7. Важны также настройки в файле usbconfig.h — в нем определены все параметры USB-устройства, например указаны используемые ножки для сигналов D+ и D-. Назначение каждой опции подробно задокументировано. Файл usbconfig.h является общим для firmware (папка firmware) и ПО хоста (папка commandline).

8. Решение многих проблем описано в статье FAQ [10].

9. Трудности с поиском и закачкой программного обеспечения (MinGW, WinAVR, LibUSB, V-USB)? См. [16].

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Clean Junk Files».
  3. Когда появится новое окно, нажмите на кнопку «start» и дождитесь окончания поиска.
  4. потом нажмите на кнопку «Select All».
  5. нажмите на кнопку «start cleaning».

Clean Registry to fix install-filter32.exe has stopped working error

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Fix Registry problems».
  3. Нажмите на кнопку «select all» для проверки всех разделов реестра на наличие ошибок.
  4. 4. Нажмите на кнопку «Start» и подождите несколько минут в зависимости от размера файла реестра.
  5. После завершения поиска нажмите на кнопку «select all».
  6. Нажмите на кнопку «Fix selected».
    P.S. Вам может потребоваться повторно выполнить эти шаги.

3- Настройка Windows для исправления критических ошибок install-filter32.exe:

Clean Registry to fix install-filter32.exe has stopped working error

  1. Нажмите правой кнопкой мыши на «Мой компьютер» на рабочем столе и выберите пункт «Свойства».
  2. В меню слева выберите » Advanced system settings».
  3. В разделе «Быстродействие» нажмите на кнопку «Параметры».
  4. Нажмите на вкладку «data Execution prevention».
  5. Выберите опцию » Turn on DEP for all programs and services . » .
  6. Нажмите на кнопку «add» и выберите файл install-filter32.exe, а затем нажмите на кнопку «open».
  7. Нажмите на кнопку «ok» и перезагрузите свой компьютер.

Как другие пользователи поступают с этим файлом?

Всего голосов ( 181 ), 115 говорят, что не будут удалять, а 66 говорят, что удалят его с компьютера.

Файл libusb-win32-filter-bin-0.1.12.2.exe из LibUSB-Win32 является частью LibUSB-Win32. libusb-win32-filter-bin-0.1.12.2.exe, расположенный в i: alkon iphone 3gs RecBoot \ libusb-win32-filter-bin-0 .1 .12 .2 .exe с размером файла 435406 байт, версия файла Unknown version, подпись 7408f5f6dc805f16562d3b5bb4719a09.

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Clean Junk Files».
  3. Когда появится новое окно, нажмите на кнопку «start» и дождитесь окончания поиска.
  4. потом нажмите на кнопку «Select All».
  5. нажмите на кнопку «start cleaning».

Clean Registry to fix libusb-win32-filter-bin-0.1.12.2.exe has stopped working error

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Fix Registry problems».
  3. Нажмите на кнопку «select all» для проверки всех разделов реестра на наличие ошибок.
  4. 4. Нажмите на кнопку «Start» и подождите несколько минут в зависимости от размера файла реестра.
  5. После завершения поиска нажмите на кнопку «select all».
  6. Нажмите на кнопку «Fix selected».
    P.S. Вам может потребоваться повторно выполнить эти шаги.

3- Настройка Windows для исправления критических ошибок libusb-win32-filter-bin-0.1.12.2.exe:

Clean Registry to fix libusb-win32-filter-bin-0.1.12.2.exe has stopped working error

  1. Нажмите правой кнопкой мыши на «Мой компьютер» на рабочем столе и выберите пункт «Свойства».
  2. В меню слева выберите » Advanced system settings».
  3. В разделе «Быстродействие» нажмите на кнопку «Параметры».
  4. Нажмите на вкладку «data Execution prevention».
  5. Выберите опцию » Turn on DEP for all programs and services . » .
  6. Нажмите на кнопку «add» и выберите файл libusb-win32-filter-bin-0.1.12.2.exe, а затем нажмите на кнопку «open».
  7. Нажмите на кнопку «ok» и перезагрузите свой компьютер.

Как другие пользователи поступают с этим файлом?

Всего голосов ( 182 ), 115 говорят, что не будут удалять, а 67 говорят, что удалят его с компьютера.

Библиотека LibUSB [1] очень важна для использования со многими бесплатными программами. Например, для программ, которые переводят iPhone в режим восстановления (recovery mode), или выводят его из режима восстановления одним кликом (см. программы Recboot и EasyiRecovery). Многие примеры программ (ПО хоста USB), которые работают с самодельными устройствами USB (изготовленными на микроконтроллерах Atmel AVR на основе библиотек V-USB или LUFA), также написаны с использованием LibUSB. Можно еще привести пример популярной системы отладки OpenOCD для микроконтроллеров ARM, она также требует использования библиотеки LibUSB вместе с многими JTAG-адаптерами.

Установка LibUSB на 32-разрядных системах Windows проста, но многие пользователи 64-битных версий Windows сталкиваются с проблемами при установке LibUSB. В этой статье будет рассмотрена установка LibUSB на 64-битных редакциях Windows 7 и Windows Vista (перевод статьи [2]). Принципиальных отличий в установке LibUSB под операционной системой Windows 8 нет.

[Установка драйвера фильтра LibUSB на 64-битных Windows 7 и Windows Vista по шагам]

Установка библиотеки LibUSB для получения доступа для программ ПО хоста (программ, которые написаны в расчете на использование LibUSB) к устройствам USB на Windows обычно заключается в установке так называемого драйвера фильтра. Драйвер фильтра можно установить с помощью удобного GUI-инсталлятора (так называемого Мастера Установки Фильтра, Filter Wizard), и это самый лучший способ установки. Он просто пытается подключить драйвер фильтра к обнаруженному в системе устройству USB, которое выберет пользователь. Однако для установки драйвера класса все еще нужно использовать утилиту командной строки install-filter.exe (но это не рекомендуется делать).

Важно: перед началом установки войдите в систему под пользователем, у кого есть права администратора.

1. Скачайте дистрибутив библиотеки LibUSB, см. [1]. Пожалуйста, при загрузке выбирайте самый последний релиз дистрибутива библиотеки. Версии до 0.1.12.2 имели серьезные ошибки в реализации драйверов фильтра при работе под Windows Vista, Windows 7, и некоторыми инсталляциями Windows XP, так что используйте последние версии (1.1.14.0 и более новые). Для 64-битных Windows Vista/7/2008/2008R2 версия должна быть 1.2.0.0 или более свежая.

Загруженный файл будет называться наподобие libusb-win32-devel-filter-x.x.x.x.zip или libusb-win32-bin-x.x.x.x.zip. Не обращайте внимания, что в имени архива присутствует win32, в нем есть средства для установки драйвера и на 64-битной системе. Распакуйте его в любое место на диске (например, во временную папку C:TEMP).

2. Подключите устройство USB, для которого Вы собираетесь установить драйвер фильтра, к компьютеру. Операционная система Windows должна его обнаружить. Чтобы убедиться в этом, откройте Диспетчер Устройств. Если устройство обнаружено, но для него система не смогла найти драйвер, то см. другой раздел «Использование INFWizard — генерация драйвера для неизвестного устройства USB».

Закройте все программы, которые могли бы использовать Ваше устройство USB.

3. Если у Вас процессор AMD, то запустите binamd64install-filter-win.exe, если Intel, то запустите binia64install-filter-win.exe (для 32-разрядной системы запустите binx86install-filter-win.exe). Тип процессора можно узнать через Свойства системы (Панель управления -> Система).

Windows-System-Properties

Появится стартовое окно мастера установки фильтра:

libusb-Filter-Wizard-dialog01

Удостоверьтесь, что выбран вариант для установки драйвера фильтра (Install a device filter), и нажмите Next.

4. Появится список устройств, которые система Windows распознала, и для которых установлены уже драйвера, но к которым пока не привязан драйвер фильтра библиотеки LibUSB:

libusb-Filter-Wizard-dialog02

libusb-Filter-Wizard-dialog03

Нажмите OK, и закройте программу Filter Wizard. Установка драйвера фильтра успешно завершена.

[Использование INFWizard — генерация драйвера для неизвестного устройства USB]

Утилита для генерации драйвера INFWizard может понадобиться для того случая, когда операционная система не может сама подобрать драйвер для устройства. В Диспетчере Устройств такое устройство USB отображается как проблемное, для которого не установлен драйвер.

В этом случае можно сгенерировать новый драйвер с помощью утилиты bin/inf-wizard.exe. Далее описан процесс создания такого дистрибутива драйвера по шагам. Этот драйвер полностью заменит и драйвер устройства, и драйвер фильтра.

1. Запустите утилиту bin/inf-wizard.exe, откроется стартовое окно, где нужно сразу просто нажать Next.

libusb-Inf-Wizard-dialog01

2. В следующем окне нужно выбрать устройство USB, для которого будет генерироваться драйвер, и нажать Next.

libusb-Inf-Wizard-dialog02

3. Откроется окно, где можно отредактировать значения для VID (Vendor ID, идентификатор вендора в HEX-виде), PID (Product ID, идентификатор продукта в HEX-виде), индекс производителя MI (в HEX-виде), имя производителя, имя устройства.

libusb-Inf-Wizard-dialog03

Все параметры можно оставить как есть, ничего не изменяя, и просто нажать Next.

4. Откроется диалог для сохранения inf-файла, выберите имя файла (можно оставить его по умолчанию), выберите любую пустую папку для сохранения и нажмите Сохранить. В результате в выбранной папке появится inf-файл, инсталляторы installer_x64.exe, installer_x86.exe, и будут автоматически созданы подпапки amd64, ia64, x86, в которых содержатся системные файлы библиотеки LibUSB. Откроется окно диалога, в котором будут 2 кнопки: Install Now. (установить драйвер прямо сейчас) и Done (завершить).

libusb-Inf-Wizard-dialog04

Можно нажать Install Now. и установить вновь сгенерированный драйвер, а можно установку отложить, нажав Done.

5. Предположим, что Вы ранее нажали Done. Теперь собственно нужно установить только что сгенерированный драйвер. Для этого запустите Мастер Установки нового оборудования. Это можно сделать, если набрать в командной строке hdwwiz и нажать Enter. Или можно в Диспетчере Устройств выбрать в меню Действие -> Установить старое устройство. Откроется начальное окно мастера установки оборудования, нажмите кнопку Далее.

Windows-Device-Wizard-dialog01

6. В следующем окне выберите «Установка оборудования, выбранного из списка вручную» и нажмите Далее.

Windows-Device-Wizard-dialog02

7. В следующем окне выберите «Показать все устройства» и нажмите Далее.

Windows-Device-Wizard-dialog03

Windows-Device-Wizard-dialog04

Откроется окно, в котором нужно выбрать место расположения драйвера. Выберите папку, в которую Вы сохранили драйвер на шаге 4, выберите inf-файл, и нажмите Открыть:

Windows-Device-Wizard-dialog05

Затем нажмите OK:

Windows-Device-Wizard-dialog06

9. Отобразится окно с описанием драйвера, и предупреждение, что драйвер без цифровой подписи. Просто нажмите Далее.

Windows-Device-Wizard-dialog07

10. Появится окно, которое сообщает о готовности к установке драйвера. Просто нажмите Далее.

Windows-Device-Wizard-dialog08

11. Появится окно «Безопасность Windows», где еще раз сообщается о том, что у драйвера нет сертификата. Это окно позволяет отказаться от установки драйвера, или установить драйвер. Выберите второй вариант, «Все равно установить этот драйвер».

Windows-Device-Wizard-dialog09

Установка драйвера завершена.

[Удаление драйвера фильтра LibUSB]

Удаление драйвера фильтра LibUSB может понадобиться, если нужно восстановить доступ к устройству USB для обычных программ, которые не используют библиотеку LibUSB. Например, мне понадобилось удалить драйвер LibUSB для адаптера J-Link после экспериментов с OpenOCD, когда мне нужно было продолжить отладку через драйвера SEGGER в среде IAR.

1. Запустите мастер установки драйвера фильтра Filter Wizard — в зависимости от типа процессора это либо binamd64install-filter-win.exe, либо binia64install-filter-win.exe, либо для 32-разрядной системы binx86install-filter-win.exe. В первом окне мастера выберите вариант удаления драйвера фильтра (Remove a device filter), нажмите Next.

libusb-Filter-Wizard-dialog04

2. Выберите в списке устройство, для которого нужно удалить драйвер фильтра, и нажмите Remove.

libusb-Filter-Wizard-dialog05

libusb-Filter-Wizard-dialog06

Нажмите OK, и закройте программу Filter Wizard. Удаление драйвера фильтра для устройства USB завершено.

[Удаление драйвера устройства LibUSB]

Чтобы удалить драйвер фильтра, воспользуйтесь GUI-утилитой (install-filter-win.exe), см. предыдущий раздел «Удаление драйвера фильтра LibUSB». Сам драйвер и его файлы удалить не так просто, но можно сделать либо откат состояния системы (Панель управления -> Восстановление), либо попробовать утилиту usbdeview [3]. В операционных системах Windows Vista и Windows 7 можно использовать системную утилиту командной строки pnputil для удаления пакета драйвера.

[Обновление драйвера фильтра LibUSB]

Сначала удалите старую версию драйвера фильтра, см. раздел «Удаление драйвера фильтра LibUSB». Затем установите новую версию драйвера фильтра, как это описано в разделе «Установка драйвера фильтра LibUSB на 64-битных Windows 7 и Windows Vista по шагам».

Читайте также:

      

  • Saints row 4 вылетает в кооперативе
  •   

  • Что делать если вылетает майнкрафт из за nei
  •   

  • Deus ex universe системные требования
  •   

  • Дискорд вылетает при запуске гта
  •   

  • Как установить кликер на фифа мобайл

Библиотека LibUSB [1] очень важна для использования со многими бесплатными программами. Например, для программ, которые переводят iPhone в режим восстановления (recovery mode), или выводят его из режима восстановления одним кликом (см. программы Recboot и EasyiRecovery). Многие примеры программ (ПО хоста USB), которые работают с самодельными устройствами USB (изготовленными на микроконтроллерах Atmel AVR на основе библиотек V-USB или LUFA), также написаны с использованием LibUSB. Можно еще привести пример популярной системы отладки OpenOCD для микроконтроллеров ARM, она также требует использования библиотеки LibUSB вместе с многими JTAG-адаптерами.

Установка LibUSB на 32-разрядных системах Windows проста, но многие пользователи 64-битных версий Windows сталкиваются с проблемами при установке LibUSB. В этой статье будет рассмотрена установка LibUSB на 64-битных редакциях Windows 7 и Windows Vista (перевод статьи [2]). Принципиальных отличий в установке LibUSB под операционной системой Windows 8 нет.

Важное замечание: не выполняйте шаги из этого руководства, если пытаетесь выбить Ваше iDevice из цикла recovery mode, и Вы хотите использовать Recboot или EasyiRecovery. По некоторым причинам LibUSB запретит Вашу клавиатуру и мышь при следующей загрузке, и чтобы это исправить, понадобится деинсталлировать LibUSB через загрузку в безопасный режим safe mode (либо придется воспользоваться откатом состояния системы). Поскольку программа TinyUmbrella не требует установки LibUSB, именно её рекомендуется использовать для манипуляций с рутингом Ваших устройств.

[Установка драйвера фильтра LibUSB на 64-битных Windows 7 и Windows Vista по шагам]

Установка библиотеки LibUSB для получения доступа для программ ПО хоста (программ, которые написаны в расчете на использование LibUSB) к устройствам USB на Windows обычно заключается в установке так называемого драйвера фильтра. Драйвер фильтра можно установить с помощью удобного GUI-инсталлятора (так называемого Мастера Установки Фильтра, Filter Wizard), и это самый лучший способ установки. Он просто пытается подключить драйвер фильтра к обнаруженному в системе устройству USB, которое выберет пользователь. Однако для установки драйвера класса все еще нужно использовать утилиту командной строки install-filter.exe (но это не рекомендуется делать).

Важно: перед началом установки войдите в систему под пользователем, у кого есть права администратора.

1. Скачайте дистрибутив библиотеки LibUSB, см. [1]. Пожалуйста, при загрузке выбирайте самый последний релиз дистрибутива библиотеки. Версии до 0.1.12.2 имели серьезные ошибки в реализации драйверов фильтра при работе под Windows Vista, Windows 7, и некоторыми инсталляциями Windows XP, так что используйте последние версии (1.1.14.0 и более новые). Для 64-битных Windows Vista/7/2008/2008R2 версия должна быть 1.2.0.0 или более свежая.

Загруженный файл будет называться наподобие libusb-win32-devel-filter-x.x.x.x.zip или libusb-win32-bin-x.x.x.x.zip. Не обращайте внимания, что в имени архива присутствует win32, в нем есть средства для установки драйвера и на 64-битной системе. Распакуйте его в любое место на диске (например, во временную папку C:TEMP).

2. Подключите устройство USB, для которого Вы собираетесь установить драйвер фильтра, к компьютеру. Операционная система Windows должна его обнаружить. Чтобы убедиться в этом, откройте Диспетчер Устройств. Если устройство обнаружено, но для него система не смогла найти драйвер, то см. другой раздел «Использование INFWizard — генерация драйвера для неизвестного устройства USB».

Закройте все программы, которые могли бы использовать Ваше устройство USB.

3. Если у Вас процессор AMD, то запустите binamd64install-filter-win.exe, если Intel, то запустите binia64install-filter-win.exe (для 32-разрядной системы запустите binx86install-filter-win.exe). Тип процессора можно узнать через Свойства системы (Панель управления -> Система).

Windows-System-Properties

Появится стартовое окно мастера установки фильтра:

libusb-Filter-Wizard-dialog01

Удостоверьтесь, что выбран вариант для установки драйвера фильтра (Install a device filter), и нажмите Next.

4. Появится список устройств, которые система Windows распознала, и для которых установлены уже драйвера, но к которым пока не привязан драйвер фильтра библиотеки LibUSB:

libusb-Filter-Wizard-dialog02

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

libusb-Filter-Wizard-dialog03

Нажмите OK, и закройте программу Filter Wizard. Установка драйвера фильтра успешно завершена.

[Использование INFWizard — генерация драйвера для неизвестного устройства USB]

Утилита для генерации драйвера INFWizard может понадобиться для того случая, когда операционная система не может сама подобрать драйвер для устройства. В Диспетчере Устройств такое устройство USB отображается как проблемное, для которого не установлен драйвер.

Windows-Device-Manager-divice-without-driver

В этом случае можно сгенерировать новый драйвер с помощью утилиты bin/inf-wizard.exe. Далее описан процесс создания такого дистрибутива драйвера по шагам. Этот драйвер полностью заменит и драйвер устройства, и драйвер фильтра.

1. Запустите утилиту bin/inf-wizard.exe, откроется стартовое окно, где нужно сразу просто нажать Next.

libusb-Inf-Wizard-dialog01

2. В следующем окне нужно выбрать устройство USB, для которого будет генерироваться драйвер, и нажать Next.

libusb-Inf-Wizard-dialog02

3. Откроется окно, где можно отредактировать значения для VID (Vendor ID, идентификатор вендора в HEX-виде), PID (Product ID, идентификатор продукта в HEX-виде), индекс производителя MI (в HEX-виде), имя производителя, имя устройства.

libusb-Inf-Wizard-dialog03

Все параметры можно оставить как есть, ничего не изменяя, и просто нажать Next.

4. Откроется диалог для сохранения inf-файла, выберите имя файла (можно оставить его по умолчанию), выберите любую пустую папку для сохранения и нажмите Сохранить. В результате в выбранной папке появится inf-файл, инсталляторы installer_x64.exe, installer_x86.exe, и будут автоматически созданы подпапки amd64, ia64, x86, в которых содержатся системные файлы библиотеки LibUSB. Откроется окно диалога, в котором будут 2 кнопки: Install Now… (установить драйвер прямо сейчас) и Done (завершить).

libusb-Inf-Wizard-dialog04

Можно нажать Install Now… и установить вновь сгенерированный драйвер, а можно установку отложить, нажав Done.

5. Предположим, что Вы ранее нажали Done. Теперь собственно нужно установить только что сгенерированный драйвер. Для этого запустите Мастер Установки нового оборудования. Это можно сделать, если набрать в командной строке hdwwiz и нажать Enter. Или можно в Диспетчере Устройств выбрать в меню Действие -> Установить старое устройство. Откроется начальное окно мастера установки оборудования, нажмите кнопку Далее.

Windows-Device-Wizard-dialog01

6. В следующем окне выберите «Установка оборудования, выбранного из списка вручную» и нажмите Далее.

Windows-Device-Wizard-dialog02

7. В следующем окне выберите «Показать все устройства» и нажмите Далее.

Windows-Device-Wizard-dialog03

8. Появится окно выбора драйвера для устройства. Нажмите кнопку «Установить с диска…»

Windows-Device-Wizard-dialog04

Откроется окно, в котором нужно выбрать место расположения драйвера. Выберите папку, в которую Вы сохранили драйвер на шаге 4, выберите inf-файл, и нажмите Открыть:

Windows-Device-Wizard-dialog05

Затем нажмите OK:

Windows-Device-Wizard-dialog06

9. Отобразится окно с описанием драйвера, и предупреждение, что драйвер без цифровой подписи. Просто нажмите Далее.

Windows-Device-Wizard-dialog07

10. Появится окно, которое сообщает о готовности к установке драйвера. Просто нажмите Далее.

Windows-Device-Wizard-dialog08

11. Появится окно «Безопасность Windows», где еще раз сообщается о том, что у драйвера нет сертификата. Это окно позволяет отказаться от установки драйвера, или установить драйвер. Выберите второй вариант, «Все равно установить этот драйвер».

Windows-Device-Wizard-dialog09

12. После этого несколько секунд будет отображаться прогресс копирования файлов драйвера, и затем появится сообщения о завершении установки драйвера.

Установка драйвера завершена.

[Удаление драйвера фильтра LibUSB]

Удаление драйвера фильтра LibUSB может понадобиться, если нужно восстановить доступ к устройству USB для обычных программ, которые не используют библиотеку LibUSB. Например, мне понадобилось удалить драйвер LibUSB для адаптера J-Link после экспериментов с OpenOCD, когда мне нужно было продолжить отладку через драйвера SEGGER в среде IAR.

1. Запустите мастер установки драйвера фильтра Filter Wizard — в зависимости от типа процессора это либо binamd64install-filter-win.exe, либо binia64install-filter-win.exe, либо для 32-разрядной системы binx86install-filter-win.exe. В первом окне мастера выберите вариант удаления драйвера фильтра (Remove a device filter), нажмите Next.

libusb-Filter-Wizard-dialog04

2. Выберите в списке устройство, для которого нужно удалить драйвер фильтра, и нажмите Remove.

libusb-Filter-Wizard-dialog05

3. Через несколько секунд появится сообщение об успешном удалении драйвера фильтра:

libusb-Filter-Wizard-dialog06

Нажмите OK, и закройте программу Filter Wizard. Удаление драйвера фильтра для устройства USB завершено.

[Удаление драйвера устройства LibUSB]

Чтобы удалить драйвер фильтра, воспользуйтесь GUI-утилитой (install-filter-win.exe), см. предыдущий раздел «Удаление драйвера фильтра LibUSB». Сам драйвер и его файлы удалить не так просто, но можно сделать либо откат состояния системы (Панель управления -> Восстановление), либо попробовать утилиту usbdeview [3]. В операционных системах Windows Vista и Windows 7 можно использовать системную утилиту командной строки pnputil для удаления пакета драйвера.

[Обновление драйвера фильтра LibUSB]

Сначала удалите старую версию драйвера фильтра, см. раздел «Удаление драйвера фильтра LibUSB». Затем установите новую версию драйвера фильтра, как это описано в разделе «Установка драйвера фильтра LibUSB на 64-битных Windows 7 и Windows Vista по шагам».

[Обновление драйвера устройства LibUSB]

• Загрузите последнюю версию пакета драйвера (libusb-win32-bin-x.x.x.x.zip).
• Сгенерируйте новый inf-файл и драйвер, как было показано в разделе «Использование INFWizard — генерация драйвера для неизвестного устройства USB».
• Откройте Диспетчер Устройств, и выберите устройство, для которого хотите обновить драйвер.
• Щелкните правой кнопкой на выбранное устройство, в контекстном меню выберите Свойства -> Драйвер -> Обновить. Запретите автоматическую установку драйвера, и выберите inf-файл вручную.
• Начиная с версии 1.2.1.0 GUI-утилита inf-wizard.exe может использоваться для автоматической установки/обновления драйвера устройства. См. раздел «Использование INFWizard — генерация драйвера для неизвестного устройства USB», шаг 4, кнопка Install Now… (установить драйвер прямо сейчас).

[Ссылки]

1. libusb-win32 site:libusb.org.
2. How to Install LibUSB on Windows 7 & Vista 64-bit site:jaxov.com.
3. USBDeview site:nirsoft.net.
4. PnPUtil site:msdn.microsoft.com.
5. Как самостоятельно подписать драйвер для Windows 7 site:winitpro.ru.
6. Как отключить проверку цифровой подписи драйвера в Windows 7 site:winitpro.ru.

Я столкнулся с проблемой получения моей программы на основе libusb-w32 для обнаружения устройств.
Программа должна обнаруживать цифровые камеры, и мне нужно автоматически устанавливать фильтр драйвера для любой новой камеры, которая будет обнаружена без какой-либо ручной работы.
Я использовал установочный фильтр я — class= {6BDD1FC6-810F-11D0-BEC7-08002BE2092F}, i. е. установив фильтр для MTP-устройств, и он, похоже, работал. Но сегодня я попробовал это на чистой машине и узнал, что это на самом деле только казалось именно так. Пробовал установочный фильтр с разными параметрами — не повезло.
Единственный способ, которым я смог обнаружить устройства, — это использовать файл inf-wizard.exe. Он установил драйвер, позволяя моей программе обнаруживать устройства, а также нарушая исходные функции Windows для цифровых камер. Затем я удалил драйвер libusb, установил исходный драйвер Windows, выполнил установочный фильтр я — class= {6BDD1FC6-810F-11D0-BEC7-08002BE2092F} — и программа все еще может обнаруживать устройства.
Возникает вопрос: как автоматизировать процесс, чтобы любая новая камера была обнаружена без какой-либо работы, требуемой от пользователя?

Update:
Я укорочу вопрос. Похоже, что когда я устанавливаю драйвер с inf-wizard.exe, он делает что-то помимо установки самого драйвера. Я должен знать, что именно.

Спасибо заранее.

Понравилась статья? Поделить с друзьями:
  • Как найти цифровой пропуск по номеру
  • Как найти сумму средних линий треугольника
  • Как правильно найти ответ на задачу
  • Как составить бизнес план для малого бизнеса магазин продуктов
  • Как найти исходники сайта