KMDF Specific Filter driver installation

Just in case someone stumbles onto this thread- I said something rather stupid here:

“If it finds that you have a KMDF driver, it also verifies proper Wdf section formatting and construction.”

It knows nothing about your driver, it just reads your INF, so that should read just:

“It also verifies proper Wdf section formatting and construction.”

Plus, my comments about erasures are generic [I’ve investigated enough KMDF install logs to see some pretty weird stuff], not something I think the poster has done here.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Bob Kjelgaard
Sent: Friday, October 22, 2010 2:15 PM
To: Windows System Software Devs Interest List
Subject: RE: RE:[ntdev] KMDF Specific Filter driver installation

Barring possibilities like erasure or editing of the files (and I’ve seen what seems to be evidence of that at times), yes, that’s what it means.

I suspect your coinstaller sections [since I believe that earlier in the thread there did seem to be some trace of there being coinstaller sections] are not tagged properly. There is a tool in the WDK called chkinf that should point out issues with an INF file’s construction- unreferenced sections and the like. If it finds that you have a KMDF driver, it also verifies proper Wdf section formatting and construction. http://msdn.microsoft.com/en-us/library/ff543461(VS.85).aspx

It might point out a few things for you rather quickly.

The TEST_1.1 part looks like a “serial number” of the device;
USB\VID_15A2&PID_A50F\TEST_1.1 is the device instance string.
(compare with other similar messages in setupapi.log)
Then the OP indeded may be able to change it.
–pa

wrote in message news:xxxxx@ntdev…
> Tim:
> If I install the device using only usbser.sys and with the inf like this:
> [DeviceList]
> %DESCRIPTION%=DriverInstall, USB\VID_15A2&PID_A50E
> %DESCRIPTION%=DriverInstall, USB\VID_15A2&PID_A50F
>
> Installs correctly and the setupapi.log indicates:
>> #I123 Doing full install of “USB\VID_15A2&PID_A50F\TEST_1.1”.
>> #I121 Device install of “USB\VID_15A2&PID_A50F\TEST_1.1” finished
>> successfully
>
> If i check the hardware at device manager has instance id
> USB\VID_15A2&PID_A50F\TEST_1.1 but hardware id’s USB\VID_15A2&PID_A50F,
> USB\VID_15A2&PID_A50F&Rev_0000
>
> The drivers only deal with custom requests. The lower filter driver
> catches the configuration of the usb device and store it so when a custom
> call comes the upper driver recognizes it then calls a lower driver
> interface function that returns the usb device and the upper filter driver
> access directly the device bypassing efectively the usbser.sys.
>
> As I said this works fine in the development machine, quite weird is not
> reproducible in other machines
>
>

Finally we solved this issue and the problem was at the inf file:
[DriverInstall.nt]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.nt

[DriverCopyFiles.nt]
usbser.sys,0x20
low_usb.sys
upp_usb.sys

[DriverInstall.nt.HW]
AddReg=DriverInstall.nt.AddReg

[DriverInstall.nt.CoInstallers]
AddReg=MyDevice_CoInstaller_AddReg
CopyFiles=MyDevice_CoInstaller_CopyFiles

[MyDevice_CoInstaller_AddReg]
HKR,CoInstallers32,0x00010000, “WdfCoInstaller01009.dll,WdfCoInstaller”

[MyDevice_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

[DriverInstall.nt.Wdf]
KmdfService = %DRIVERFILENAME%, MyDevice_wdfsect
[MyDevice_wdfsect]
KmdfLibraryVersion = 1.9

[DriverInstall.nt.AddReg]
HKR,DevLoader,*ntkern
HKR,NTMPDriver,%DRIVERFILENAME%.sys
HKR,EnumPropPages32,“MsPorts.dll,SerialPortPropPageProvider”
HKR,“LowerFilters”,0x00010008,“low_usb”
HKR,“UpperFilters”,0x00010008,“upp_usb”

[DriverInstall.nt.Services]
AddService=%DRIVERFILENAME%, 0x00000002, DriverService.nt
AddService = low_usb, , lowfilt_Service_Inst
AddService = upp_usb, , uppfilt_Service_Inst

Thanks for your support

What was the specific problem with the INF?

Thanks,

mm

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@pounceconsulting.com
Sent: Wednesday, October 27, 2010 6:03 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] KMDF Specific Filter driver installation

Finally we solved this issue and the problem was at the inf file:
[DriverInstall.nt]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.nt

[DriverCopyFiles.nt]
usbser.sys,0x20
low_usb.sys
upp_usb.sys

[DriverInstall.nt.HW]
AddReg=DriverInstall.nt.AddReg

[DriverInstall.nt.CoInstallers]
AddReg=MyDevice_CoInstaller_AddReg
CopyFiles=MyDevice_CoInstaller_CopyFiles

[MyDevice_CoInstaller_AddReg]
HKR,CoInstallers32,0x00010000, “WdfCoInstaller01009.dll,WdfCoInstaller”

[MyDevice_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

[DriverInstall.nt.Wdf]
KmdfService = %DRIVERFILENAME%, MyDevice_wdfsect
[MyDevice_wdfsect]
KmdfLibraryVersion = 1.9

[DriverInstall.nt.AddReg]
HKR,DevLoader,*ntkern
HKR,NTMPDriver,%DRIVERFILENAME%.sys
HKR,EnumPropPages32,“MsPorts.dll,SerialPortPropPageProvider”
HKR,“LowerFilters”,0x00010008,“low_usb”
HKR,“UpperFilters”,0x00010008,“upp_usb”

[DriverInstall.nt.Services]
AddService=%DRIVERFILENAME%, 0x00000002, DriverService.nt
AddService = low_usb, , lowfilt_Service_Inst
AddService = upp_usb, , uppfilt_Service_Inst

Thanks for your support


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

The coinstallers section was not being loaded, we ran chkinf and corrected the warnings and now works well even in windows 2000,xp and 7