none
echo driver from windows driver samples driver deploying problems RRS feed

  • Question

  • Hi all,

    A noob here trying to do some windows driver learning. I am trying to run echo sample driver from windows sample drivers

    https://github.com/Microsoft/Windows-driver-samples/tree/master/general/echo/umdf2

    From devcon tool I got this error

    • C:\Tools>devcon.exe install C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf root\\ECHO
      Device node created. Install is complete when drivers are installed...
      Updating drivers for root\\ECHO from C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf.
      devcon.exe failed.

    from  setupapi.dev logs this,

    • [Boot Session: 2018/05/17 17:38:41.494]

      >>>  [Device Install (UpdateDriverForPlugAndPlayDevices) - root\\ECHO]
      >>>  Section start 2018/05/17 17:49:37.775
            cmd: devcon.exe  install C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf root\\ECHO
           ndv: INF path: C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf
           ndv: Install flags: 0x00000001
           ndv: {Update Device Driver - ROOT\SAMPLE\0001}
           dvi:      Set selected driver complete.
           ndv:      Search options: 0x00000080
           ndv:      Searching single INF 'C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf'
           dvi:      {Build Driver List} 17:49:37.822
           dvi:           Searching for hardware ID(s):
           dvi:                root\\echo
           dvi:           Processing a single INF: 'c:\users\wdkremoteuser\documents\debug_driver\echoum.inf'
           inf:           Opened INF: 'c:\users\wdkremoteuser\documents\debug_driver\echoum.inf' ([strings])
           dvi:           Enumerating INFs from path list 'C:\Windows\INF'
           inf:           Searched 0 potential matches in published INF directory
           dvi:      {Build Driver List - exit(0x00000000)} 17:49:37.994
      !    ndv:      No matching drivers found in single INF
           dvi:      {DIF_SELECTBESTCOMPATDRV} 17:49:38.009
           dvi:           No class installer for 'Samples'
           dvi:           No CoInstallers found
           dvi:           Default installer: Enter 17:49:38.009
           dvi:                {Select Best Driver}
      !    dvi:                     Selecting driver failed(0xe0000228)
           dvi:                {Select Best Driver - exit(0xe0000228)}
      !    dvi:           Default installer: failed
      !    dvi:           Error 0xe0000228: There are no compatible drivers for this device.
           dvi:      {DIF_SELECTBESTCOMPATDRV - exit(0xe0000228)} 17:49:38.040
      !    ndv:      Unable to select best compatible driver. Error = 0xe0000228
           ndv:      No drivers found for device.
           ndv: {Update Device Driver - exit(00000103)}
      !    ndv: No better matching drivers found for device 'ROOT\SAMPLE\0001'.
      !    ndv: No devices were updated.
      <<<  Section end 2018/05/17 17:49:38.072
      <<<  [Exit status: FAILURE(0x00000103)]

    However in device manager I can see "Samples" and under it an unknown device. The unknown device probably have no driver for.


    My config:

    Host : windows 8.1

    target : windows 10 virtualbox on host.

    compilation is done visual studio 2017 community edition on host.

    What have I missed in installing and running this echo sample.Kindly help.


    Thursday, May 17, 2018 12:40 PM

Answers

  • you should not have a double slash in the hardware ID, root\\ECHO should be root\ECHO

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, May 17, 2018 5:12 PM

All replies

  • you should not have a double slash in the hardware ID, root\\ECHO should be root\ECHO

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, May 17, 2018 5:12 PM
  • "you should not have a double slash in the hardware ID, root\\ECHO should be root\ECHO"

    What one should do if README.md file says this

    **devcon install echoum.inf root\\ECHO**

    How ever I have used this command too,

    • devcon.exe install C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf root\ECHO

    and still I get same result.

    • Device node created. Install is complete when drivers are installed...
      Updating drivers for root\ECHO from C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf.
      devcon.exe failed.

    This is from bottom of setupapi.dev logs

    • >>>  [Device Install (UpdateDriverForPlugAndPlayDevices) - root\ECHO]
      >>>  Section start 2018/05/18 11:37:35.346
            cmd: devcon.exe  install C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf root\ECHO
           ndv: INF path: C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf
           ndv: Install flags: 0x00000001
           ndv: {Update Device Driver - ROOT\SAMPLE\0001}
           dvi:      Set selected driver complete.
           ndv:      Search options: 0x00000080
           ndv:      Searching single INF 'C:\Users\WDKRemoteUser\Documents\Debug_driver\echoum.inf'
           dvi:      {Build Driver List} 11:37:35.394
           dvi:           Searching for hardware ID(s):
           dvi:                root\echo
           dvi:           Processing a single INF: 'c:\users\wdkremoteuser\documents\debug_driver\echoum.inf'
           inf:           Opened INF: 'c:\users\wdkremoteuser\documents\debug_driver\echoum.inf' ([strings])
           dvi:           Enumerating INFs from path list 'C:\Windows\INF'
           inf:           Searched 0 potential matches in published INF directory
           dvi:      {Build Driver List - exit(0x00000000)} 11:37:35.440
      !    ndv:      No matching drivers found in single INF
           dvi:      {DIF_SELECTBESTCOMPATDRV} 11:37:35.440
           dvi:           No class installer for 'Samples'
           dvi:           No CoInstallers found
           dvi:           Default installer: Enter 11:37:35.456
           dvi:                {Select Best Driver}
      !    dvi:                     Selecting driver failed(0xe0000228)
           dvi:                {Select Best Driver - exit(0xe0000228)}
      !    dvi:           Default installer: failed
      !    dvi:           Error 0xe0000228: There are no compatible drivers for this device.
           dvi:      {DIF_SELECTBESTCOMPATDRV - exit(0xe0000228)} 11:37:35.471
      !    ndv:      Unable to select best compatible driver. Error = 0xe0000228
           ndv:      No drivers found for device.
           ndv: {Update Device Driver - exit(00000103)}
      !    ndv: No better matching drivers found for device 'ROOT\SAMPLE\0001'.
      !    ndv: No devices were updated.
      <<<  Section end 2018/05/18 11:37:35.502
      <<<  [Exit status: FAILURE(0x00000103)]

    The device gets installed but it can't find drivers as its clearly shown in the log messages.

    This is what I have in inf file.

    • ;/*++
      ;
      ;Copyright (c) 1990-2000  Microsoft Corporation
      ;
      ;Module Name:
      ;    EchoUm.INF
      ;
      ;Abstract:
      ;    INF file for installing the Usermode Driver Frameworks Echo Driver
      ;
      ;Installation Notes: 
      ;    Using Devcon: Type "devcon install EchoUm.inf root\ECHO" to install
      ;
      ;--*/

      [Version]
      Signature="$WINDOWS NT$"
      Class=Sample
      ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}
      Provider=%ProviderString%
      DriverVer = 05/17/2018,13.32.0.806
      CatalogFile=wudf.cat

      [DestinationDirs]
      DefaultDestDir = 12
      UMDriverCopy=12,UMDF ; copy to drivers\UMDF

      ; ================= Class section =====================

      [ClassInstall32]
      Addreg=SampleClassReg     

      [SampleClassReg]
      HKR,,,0,%ClassName%
      HKR,,Icon,,-5

      [SourceDisksNames]
      1 = %DiskId1%,,,""

      [SourceDisksFiles]
      Echo.dll = 1,,

      ;*****************************************
      ; ECHO  Install Section
      ;*****************************************

      [Manufacturer]
      %StdMfg%=Standard,NTx86

      [Standard.NTx86]
      %ECHO.DeviceDesc%=ECHO_Device, root\ECHO

      ;---------------- copy files

      [ECHO_Device.NT]
      CopyFiles=UMDriverCopy

      [UMDriverCopy]
      ECHO.dll,,,0x00004000  ; COPYFLG_IN_USE_RENAME

      ;-------------- Service installation
      [ECHO_Device.NT.Services]
      AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall

      [WUDFRD_ServiceInstall]
      DisplayName = %WudfRdDisplayName%
      ServiceType = 1
      StartType = 3
      ErrorControl = 1
      ServiceBinary = %12%\WUDFRd.sys

      ;-------------- WDF specific section -------------
      [ECHO_Device.NT.Wdf]
      UmdfService=Echo, Echo_Install
      UmdfServiceOrder=Echo

      [Echo_Install]
      UmdfLibraryVersion=2.15.0
      ServiceBinary=%12%\UMDF\echo.dll

      [Strings]
      ProviderString = "TODO-Set-Provider"
      StdMfg = "(Standard system devices)"
      DiskId1 = "WDF Sample ECHO Installation Disk #1"
      ECHO.DeviceDesc = "Sample UMDF v2 ECHO Driver"
      ClassName       = "Sample Device"
      WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector"

    I suppose this is the driver the inf file is supposed to install

    • [Echo_Install]
      UmdfLibraryVersion=2.15.0
      ServiceBinary=%12%\UMDF\echo.dll

    This is my driver's debug directory

    Clearly it have echo.dll.

    So what I am missing?

    Is the inf file unable to search this path for *.dll.

    Previosly I tried another driver and there I had a *.sys file.What is the difference here?



    Friday, May 18, 2018 6:14 AM