locked
KMDF/WDF Drivers on WES2009 RRS feed

  • Question

  • I have some software/root enumerated drivers that I wrote for our custom hardware (does low-level I/O access) using the KMDF. I read a lot of documentation and examples, figured it out, and got working SYS and INF files that can be installed with devcon.exe and work just fine on Windows XP Pro.

    I then went to make these drivers into components for my WES image (using WES2009, v2.0.15), and the component designer imported the INF files without problem. It converted the WdfCoInstaller dependencies into a component dependency on the Windows Kernel Mode Driver Framework component, so I thought I was all set. Yet, after building my image (w/these drivers and dependencies), deploying it, and letting FBA run, none of my drivers are working. Trying to manually start them (w/net start) gives me the specified file can not be found, but the driver files are right there were they are supposed to be.

    After digging around on the Internet for a while, I realized that the WdfCoInstaller was never running, and hence the wdf*.sys drivers were never installed or setup. It appears the KMDF component from above only includes the WdfConInstaller DLL, but it does nothing with it beyond install it. And since my driver component only setups up the driver itself, there is never any triggering of the co-installer. I found enough information to do a manual setup for the wdf*.sys drivers (install them and update the registery) and it appears my drivers are now working. Yet, it seems that I am missing something if I have to go to this much trouble.

    Am I missing something or is there something wrong with the KMDF component? Thanks!

    --
    Ryan Kirkpatrick <ryan.kirkpatrick@inovonics.com>
    Senior Design Engineer
    Inovonics Wireless Corporation
    Thursday, December 4, 2008 7:11 PM

All replies

  • Turns out my drivers are not quite working with a manual setup of WDF. For these drivers, I created a new device class, and ROOT\{name} device nodes via sections in the INF files. Yet, the import of these INF files into Component Designer ignores these sections, and hence the deployed image does not have the device nodes or class for the drivers to use. Is there someway to make this (class and node creation) happen as part of the component? Otherwise it looks like I need to install these drivers with devcon.exe on a WinXP Pro machine, export the registery settings for the class and nodes, and put them into the components. Again, this seems to me like a lot more trouble than it should be. Is there an easier way to do all of this? Thanks!

    --
    Ryan Kirkpatrick <ryan.kirkpatrick@inovonics.com>
    Senior Design Engineer
    Inovonics Wireless Corporation

    Thursday, December 4, 2008 10:22 PM