Outils pour utilisateurs

Outils du site


lib:libusb

Présentation

Compilation

Windows

Documentation Windows

Avant de compiler, mettre à jour ENABLE_DEBUG_LOGGING dans msvc\config.h.

Pour compiler, exécuter en ligne de commande :

CALL "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
msbuild -p:PlatformToolset=v143,Platform=x64,Configuration=Release msvc\libusb.sln

Android

Documentation Android

Tout le système de build est dans le dossier android/jni. Avant de compiler, mettre à jour :

  • APP_ABI et APP_PLATFORM dans android/jni/Application.mk.
  • include $(BUILD_SHARED_LIBRARY) / include $(BUILD_STATIC_LIBRARY) dans android/jni/libusb.mk et android/jni/examples.mk
  • ENABLE_DEBUG_LOGGING dans android/config.h

Pour lancer la compilation depuis Windows, exécuter en ligne de commande :

cd ...\android\jni
..\Android\Sdk\ndk\25.1.8937393\ndk-build.cmd

Drivers

Windows / WinUsb

  • Prérequis

Pour utiliser libusb, il faut que Windows utilise WinUsb et non le driver générique (USB Generic Parent Driver / Usbccgp.sys) ou un autre driver propriétaire.

Attention, forcer l'utilisation de WinUsb nécessite d'autoriser l'installation de driver non signé. Pour cela, suivre la procédure pour démarrer en mode Désactiver le contrôle obligatoire des signatures de pilotes. C'est comme pour démarrer en mode sans échec mais en sélectionnant l'option 7 à la place de 4. Démarrer Windows 11 en mode sans échec Archive du 20/10/2021 le 13/10/2022

  • Génération d'un inf

Il faut aussi créer le fichier .inf qui permettra d'installer le driver WinUsb. Installation de WinUSB (Winusb.sys) pour les développeurs Archive du 21/09/2022 le 13/10/2022

Prendre le premier exemple dans la documentation et l'enregistrer avec l'extension .inf.

Il faut changer :

  • le GUID dans la section Dev_AddReg en bas du fichier. Ne pas toucher à la partie en haut du fichier. Pour générer aléatoirement un GUID, il est possible d'utiliser l'outil guidgen.exe (fournit avec Visual Studio Installer).
  • le VID et PID dans la section Standard.NTamd64. Pour obtenir les valeurs, aller dans le Gestionnaire de périphérique, faire un clique-droit sur le composant USB, Propriétés. Aller dans l'onglet Détails et sélectionner la 2ème ligne Chemin d'accès à l'instance du périphérique. La valeur USB\VID_0408&PID_5441\200901010001 contient le VID et le PID.
  • le DeviceName dans le champ Strings pour donner le nom d'apparition dans le Gestionnaire de périphériques.

Vérifier le fichier .inf avec l'outils InfVerif.exe (fournit avec Visual Studio Installer, option Windows driver kit).

  • Installer le driver WinUsb avec l'inf

Commencer par ouvrir le gestionnaire de périphérique et vérifier quel est le driver en cours d'utilisation.

Attention, le driver est déclaré 2 fois. Une première fois par FTDI FT601 USB 3.0 Bridge Device et une seconde fois en Périphérique USB composite.

Ici, c'est bien le Périphérique USB composite qui faut mettre à jour. Bien vérifier le VID/PID afin de modifier le driver au bon périphérique.

Faire clique droit et Mettre à jour le pilote et suivre la procédure. Bien utiliser l'option Choisir parmi une liste de pilotes disponibles sur mon ordinateur. Si vous choisissez l'autre option (Rechercher les pilotes à cet emplacement), Windows risque de vous répondre que le driver est à jour et refusera d'installer WinUSB.

Ensuite vérifier que le driver est bien passé dans la rubrique Périphérique Universal Serial Bus.

lib/libusb.txt · Dernière modification : 2022/10/13 11:16 de root