LibUSB32 Windows 10

Gast #4240234
Lesenswert?

Hi

also ich nutze nicht die Option als HID-Gerät wie Maus Joy oder Key.
Statdessen wird das Gerät unterhalb von usb_lib_23 gelistet 
(HardwareManager)
und von mir direkt angesprochen, aus einem cpp Programm.

Die Auflistung findet nun nicht mehr statt.

Ging auch immer prima, im Moment ist es so, das ich zb. mit ArduinoIDE 
via Digispark den Code auf den AVR laden kann, dann aber dieser nicht 
als win_usb_lib_32 device gelistet wird, und somit auch nicht iteriert 
werden kann. Das ist jetzt neu unter W10 aufgekommen in der Preview von 
W10 lief alles.

Ich befürchte das sich da etwas verändert hat, bezüglich der ID und der 
zuordnung des Gerätes..

Danke für Hinweise
 Grüße
  K.
Gast #4240490
Lesenswert?

Hallo,

genau das war es, ich habe mir ein Driver "Kit" erstellen lassen mit dem
Tool libusb-win32-bin-1.2.6.0/Bin/inf-wizard.exe

Das funktinierte dann sofort, heißt das ich kann davon ausgehen,
das auf einem fremden Rechner das erstellte "Kit" = (inf datei drv usw)
nicht funktioniert so wie ich es nun erlebt habe mit dem alten 
erstellten "Kit" ?


Danke für Hinweise
 K.
#4240712
Lesenswert?

Doku Lesen. Das Zertifikat für die .inf macht Zadig jeweils neu und 
schmeisst den Root-Key weg, nachdem er im System als "vertrauenswürdig" 
installiert wurde. Dadurch geht das "Kit" immer nur auf genau dieser 
Windows Installation.

Ausname: Mann nimmt auch das "vertrauenswürdige" Zertifikat auf die neue 
Installation mit, aber einfach Zadig.exe ausführen dürfte viel schneller 
gehen.
#4240754
Lesenswert?

Karsten S. schrieb:
> also ich nutze nicht die Option als HID-Gerät wie Maus Joy oder Key.
> Statdessen wird das Gerät unterhalb von usb_lib_23 gelistet (HardwareManager)
> und von mir direkt angesprochen, aus einem cpp Programm.

Ich würde dir empfehlen, falls möglich, die Firmware WinUSB-kompatibel 
zu machen. Der Zugriff über den LibUSB-Treiber ist dann immer noch 
möglich, aber auf modernen Windows-Versionen kannst du stattdessen den 
WinUSB-Treiber benutzen, der nicht mehr extra installiert werden muss.
Gast #4241318
Lesenswert?

Naja einfach, es ist wohl ein heiden Aufwand habe gerade die
specs gesichtet. Die fülle der Informationen zum Theme ist
umfangreich, hast Du einen Hinweis für ein "Easy" Example ?

Danke für Hinweise
 Lg
  K.
Gast #4241441
Lesenswert?

Pit schrieb:
> Peter II schrieb:
>> steht zumindest nichts davon da.
>
> Oben schreibst Du,Du hast das schon gemacht und hier schreibst Du, dass
> Du es nicht weisst. Was nun?

eventuell mal die Namen vergleichen? Ich hatte hier noch gar nichts 
geschrieben.
#4241594
Lesenswert?

Pit schrieb:
> Wenn ich auf WinUSB umstelle brauche ich dann noch den ganzen Mist mit
> .inf und Zertifikaten oder fällt das dann auch weg?
>
> Gruß Peter

Naja eine inf brauchst du schon, bei LibUsb genauso. Die gibts als 
Template da auf der msdn Seite. Signatur muss nicht sein, denn WinUSB 
ist ja schon im Windows drin, also muss nix kopiert werden. Noch 
einfacher gehts mit der neuen WinUsb Erkennung über die OS String 
Descriptoren von MS, aber das geht dann meines Wissens erst ab Windows 7 
oder 8. Da wird dann automatisch der Treiber zugeordnet und das Gerät 
taucht als WinUSB Gerät auf. Naturlich geht dann kein eigener Name und 
keine eigene Driver GUID.
Gast #4364804
Lesenswert?

Hallo,

ich habe jetzt via VS2015 mit dem XP DDK einen Opener geschrieben mit 
dem
ich den AVR auslesen kann. Leider verwende ich noch immer zdiag.exe um
mein Treiberpaket zu installieren. Ich möchte natürlich eine *.inf
Datei die direkt nur WinUSB.sys verwendet.

Meine *inf von ZDiag verwendet also immer libusb.sys
jede Veränderung bezüglich Vendor oder anderer Einträge führt dazu, das 
der Baustein nicht mehr als Universal Serial Gerät in der Hardwareliste 
erscheint. Lediglich mit dieser *.INF von ZDiag.exe kann ich das Gerät 
als
WinUSB Gerät mit meinem c++ Programm erfolgreich öffnen.

Vielen Dank für Hinweise was ich da verändern kann.
 Karsten


; DigiUSB.inf
; Copyright (c) 2010-2014 libusb (GNU LGPL)
[Strings]
DeviceName = "DigiUSB"
VendorName = "Van Ooijen Technische Informatica"
SourceName = "DigiUSB Install Disk"
DeviceID   = "VID_16C0&PID_05DF"
DeviceGUID = "{23F89E5D-616F-4DA0-AA2B-D08123AFDF2C}"

[Version]
Signature   = "$Windows NT$"
Class       = "Universal Serial Bus devices"
ClassGuid   = {88bae032-5a81-49f0-bc3d-a4ff138216d6}
Provider    = "libusb.info"
CatalogFile = DigiUSB.cat
DriverVer   = 06/18/2013, 6.1.7600.16385

[ClassInstall32]
Addreg = WinUSBDeviceClassReg

[WinUSBDeviceClassReg]
HKR,,,0,"Universal Serial Bus devices"
HKR,,Icon,,-20

[Manufacturer]
%VendorName% = libusbDevice_WinUSB,NTx86,NTamd64,NTia64

[libusbDevice_WinUSB.NTx86]
%DeviceName% = USB_Install, USB\%DeviceID%

[libusbDevice_WinUSB.NTamd64]
%DeviceName% = USB_Install, USB\%DeviceID%

[libusbDevice_WinUSB.NTia64]
%DeviceName% = USB_Install, USB\%DeviceID%

[USB_Install]
Include = winusb.inf
Needs   = WINUSB.NT

[USB_Install.Services]
Include    = winusb.inf
AddService = WinUSB,0x00000002,WinUSB_ServiceInstall

[WinUSB_ServiceInstall]
DisplayName   = "WinUSB - Kernel Driver 06/18/2013 6.1.7600.16385"
ServiceType   = 1
StartType     = 3
ErrorControl  = 1
ServiceBinary = %12%\WinUSB.sys

[USB_Install.Wdf]
KmdfService = WINUSB, WinUsb_Install

[WinUSB_Install]
KmdfLibraryVersion = 1.9

[USB_Install.HW]
AddReg = AddDeviceInterfaceGUID

[NoDeviceInterfaceGUID]
; Avoids adding a DeviceInterfaceGUID for generic driver

[AddDeviceInterfaceGUID]
HKR,,DeviceInterfaceGUIDs,0x10000,%DeviceGUID%

[USB_Install.CoInstallers]
AddReg    = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller", 
"WinUSBCoInstaller2.dll"

[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll

[DestinationDirs]
CoInstallers_CopyFiles = 11

[SourceDisksNames]
1 = %SourceName%

[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll  = 1,x86
WdfCoInstaller01009.dll = 1,x86

[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll  = 1,amd64
WdfCoInstaller01009.dll = 1,amd64

[SourceDisksFiles.ia64]
WinUSBCoInstaller2.dll  = 1,ia64
WdfCoInstaller01009.dll = 1,ia64

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren