driver WinUSB no Windows 10 IoT

1

Eu geralmente não faço crosspost assim, mas um usuário no stackoverflow sugeriu que isso poderia pertencer aqui. Há também uma pequena recompensa a ser obtida no stackoverflow se alguém estiver interessado.

Estou tentando usar o driver WinUsb.sys que vem com o Windows (incluindo o Windows 10 IoT do Raspberry Pi 2). Usando devcon.exe eu posso ver que o USB que eu estou tentando usar está conectado (é chamado USB\VID_00E3&PID_6324&3753427A&0&4 ), mas eu não sei como forçá-lo a usar o driver WinUsb.sys.

Eu encontrei algumas instruções em microsoft.com Signature = "$Windows NT$" ) e não sei se isso precisa ser alterado para IoT ou não (ou se qualquer outra coisa precisar ser alterada para IoT).

Então, usando devcon.exe e algum tipo de arquivo INF, como posso obter o Windows IoT para usar WinUsb.sys como um driver para o dispositivo USB que estou anexando?

    
por GTHvidsten 28.10.2015 / 19:08

1 resposta

3

Depois de muita tentativa e erro, finalmente consegui trabalhar. Aqui está um arquivo INF completo para referência futura:

; WinUSB installation file for USB device

[Version]
Signature = "$Windows NT$"
Class     = USBDevice
ClassGUID = {88BAE032-5A81-49f0-BC3D-A4FF138216D6}
Provider  = %ManufacturerName%
CatalogFile = WinUSBInstallation.cat
DriverVer=09/04/2012,13.54.20.543

; ========== Manufacturer/Models sections ===========
[Manufacturer]
%ManufacturerName%=Standard,NTarm

[Standard.NTarm]
%DeviceName% =USB_Install, USB\VID_1234&PID_ABCD

; ========== Class definition ===========
[ClassInstall32]
AddReg = ClassInstall_AddReg

[ClassInstall_AddReg]
HKR,,,,%ClassName%
HKR,,NoInstallClass,,1
HKR,,IconPath,%REG_MULTI_SZ%,"%systemroot%\system32\setupapi.dll,-20"
HKR,,LowerLogoVersion,,5.2

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

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

[USB_Install.HW]
AddReg=Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{ec55ee47-5758-4378-926b-68ed0aec8170}"

; =================== Strings ===================
[Strings]
ManufacturerName="The name of the company producing your device"
ClassName="Universal Serial Bus devices"
DeviceName="The name of your device"
REG_MULTI_SZ = 0x00010000

Substitua o ID do fornecedor (VID) e o ID do produto (PID) em [Standard.NTarm] pelo VID e PID correspondente do USB que você está adicionando. Por fim, substitua o ManufacturerName e o DeviceName na parte inferior da informação correta para o seu dispositivo.

Coloque este arquivo em algum lugar no Raspberry Pi 2, usando SMB ou FTP.

SSH ou PowerShell para o Raspberry Pi 2 e vá para a pasta onde você colocou o arquivo INF. Execute o seguinte comando: devcon dp_add .\<name of your INF file>

Você deve ver o seguinte resultado: Driver package 'oem0.inf' added.

Por fim, reinicie o RP2 ( shutdown -r -t 0 do SSH / PowerShell).

Quando o RP2 voltar, seu dispositivo deverá estar listado em "Dispositivos conectados" no aplicativo de inicialização padrão, e você deverá poder usar a funcionalidade de Windows.Devices.Usb para se comunicar com o dispositivo USB.

    
por 14.11.2015 / 14:32