USB driver has PnP Manager driver in its stack...

Hello,

I am seeing a behavior in my driver(NDIS_WDM, lower edge is USB), and I
am not sure if it is good or not. I appreciate if someone can throw
pointers…

I driver gets the pdo, fdo and nextdeviceobject (CardInitialize - call
to NdisMGetDeviceProperty). I expect that the next lower deriver is the
usb bus. When I look at the pAdapter just before the failed call I see
that the fdo is the adspw_usb driver, the pdo is a PnPManager and the
nextdeviceobject is also PnPManager.

I have tried the following:

1.disable and enable
2.Bumping up the start times of the USB stack so that the USB drivers
are all loaded before the wireless NDIS driver is initialized

The result is the same behavior.

Kd shows the following:
!devstack 0x80f484f0

!DevObj !DrvObj !DevExt ObjectName

80d7f030 \Driver\adspw_usb 80d7f0e8
{11C5D57D-3672-4075-AEFD-47370BBD32EE}

80f484f0 \Driver\PnpManager 80f485a8 00000030

!DevNode 80f483a8 :

DeviceInst is “Root\NET\0000”

ServiceName is “adspw_usb”

kd> !devnode 0 1 adspw_usb

Dumping IopRootDeviceNode (= 0x80f14770)

DevNode 0x80f483a8 for PDO 0x80f484f0

InstancePath is “Root\NET\0000”

ServiceName is “adspw_usb”

State = DeviceNodeResourcesAssigned (0x304)

Previous State = DeviceNodeDriversAdded (0x303)

Regards,

Chakri

You installed your driver on a root enumerated device node, you can tell from this in the output
DeviceInst is "Root\NET\0000

And not a usb enumerated device node. If you open up device manager and view by connection you will probably find a !'ed out usb device. Did you install your driver by manually starting the add new hardware wizard or use devcon install?

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@wipro.com
Sent: Monday, October 22, 2007 6:23 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] USB driver has PnP Manager driver in its stack…

Hello,

I am seeing a behavior in my driver(NDIS_WDM, lower edge is USB), and I
am not sure if it is good or not. I appreciate if someone can throw
pointers…

I driver gets the pdo, fdo and nextdeviceobject (CardInitialize - call
to NdisMGetDeviceProperty). I expect that the next lower deriver is the
usb bus. When I look at the pAdapter just before the failed call I see
that the fdo is the adspw_usb driver, the pdo is a PnPManager and the
nextdeviceobject is also PnPManager.

I have tried the following:

1.disable and enable
2.Bumping up the start times of the USB stack so that the USB drivers
are all loaded before the wireless NDIS driver is initialized

The result is the same behavior.

Kd shows the following:
!devstack 0x80f484f0

!DevObj !DrvObj !DevExt ObjectName

80d7f030 \Driver\adspw_usb 80d7f0e8
{11C5D57D-3672-4075-AEFD-47370BBD32EE}

80f484f0 \Driver\PnpManager 80f485a8 00000030

!DevNode 80f483a8 :

DeviceInst is “Root\NET\0000”

ServiceName is “adspw_usb”

kd> !devnode 0 1 adspw_usb

Dumping IopRootDeviceNode (= 0x80f14770)

DevNode 0x80f483a8 for PDO 0x80f484f0

InstancePath is “Root\NET\0000”

ServiceName is “adspw_usb”

State = DeviceNodeResourcesAssigned (0x304)

Previous State = DeviceNodeDriversAdded (0x303)

Regards,

Chakri


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

Yes, I did install the driver manually. When I installed for the first
time, it worked OK. I rebooted the machine and I ended up this.

Any reasons you can think of why a USB device doesn’t get enumerated as
USB node? I mean what should I suspect? Something in the driver, or is
this much before the driver gets loaded?

Thanks,
Chakri

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Monday, October 22, 2007 10:23 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] USB driver has PnP Manager driver in its stack…

You installed your driver on a root enumerated device node, you can tell
from this in the output
DeviceInst is "Root\NET\0000

And not a usb enumerated device node. If you open up device manager and
view by connection you will probably find a !'ed out usb device. Did
you install your driver by manually starting the add new hardware wizard
or use devcon install?

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@wipro.com
Sent: Monday, October 22, 2007 6:23 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] USB driver has PnP Manager driver in its stack…

Hello,

I am seeing a behavior in my driver(NDIS_WDM, lower edge is USB), and I
am not sure if it is good or not. I appreciate if someone can throw
pointers…

I driver gets the pdo, fdo and nextdeviceobject (CardInitialize - call
to NdisMGetDeviceProperty). I expect that the next lower deriver is the
usb bus. When I look at the pAdapter just before the failed call I see
that the fdo is the adspw_usb driver, the pdo is a PnPManager and the
nextdeviceobject is also PnPManager.

I have tried the following:

1.disable and enable
2.Bumping up the start times of the USB stack so that the USB drivers
are all loaded before the wireless NDIS driver is initialized

The result is the same behavior.

Kd shows the following:
!devstack 0x80f484f0

!DevObj !DrvObj !DevExt ObjectName

80d7f030 \Driver\adspw_usb 80d7f0e8
{11C5D57D-3672-4075-AEFD-47370BBD32EE}

80f484f0 \Driver\PnpManager 80f485a8 00000030

!DevNode 80f483a8 :

DeviceInst is “Root\NET\0000”

ServiceName is “adspw_usb”

kd> !devnode 0 1 adspw_usb

Dumping IopRootDeviceNode (= 0x80f14770)

DevNode 0x80f483a8 for PDO 0x80f484f0

InstancePath is “Root\NET\0000”

ServiceName is “adspw_usb”

State = DeviceNodeResourcesAssigned (0x304)

Previous State = DeviceNodeDriversAdded (0x303)

Regards,

Chakri


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


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

xxxxx@wipro.com wrote:

Yes, I did install the driver manually. When I installed for the first
time, it worked OK. I rebooted the machine and I ended up this.

Any reasons you can think of why a USB device doesn’t get enumerated as
USB node? I mean what should I suspect? Something in the driver, or is
this much before the driver gets loaded?

It’s getting installed this way BECAUSE you installed the driver
manually. Your INF file should match a USB ID in its manufacturer section
%MyDevice% = DriverSection, USB\VID_1234&PID_5678

As Doron said, if you check device manager, you’ll probably find your
device listed with a bang error, because there was no matching driver
for it.

You might post your INF file so we can see if anything else looks odd.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Sorry, couldn’t reply earlier.

Basically, I was testing the driver on one of the laptops where the
wireless chipset is on the mother board (on USB, ofcourse). This is the
objective of the driver.

Then, I tried with a USB dongle version of it on an IBM Thinkpad, it
worked fine, but the lower edge was ACPI.

Then, I tried the same USB dongle on a desktop, everything was fine.

Since this was leading to nowhere and I had to meet some deadlines, I
reverted from KMDF back to NDIS_WDM version. The NDIS_WDM driver works
fine.

For your reference, I am sticking the .inf file (modified few value to
conceal customer info)

==================================
[version]
Signature = “$Windows NT$”
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %VER_VENDOR_NAME_STR%
DriverVer=08/13/2007,6.0.6000.16386
CatalogFile = KmdfSamples.cat

[ControlFlags]
;ExcludeFromSelect={b85b7c50-6a01-11d2-b841-00c04fad5171}\Ndisedge

[Manufacturer]
%VER_VENDOR_NAME_STR% = DeviceList,NTx86

; For Win2K
[DeviceList]
%USB_DESC_STR% = MYCLIENT_USB1, USB\VID_1111&PID_2222

; For WinXP and later
[DeviceList.NTx86]
%USB_DESC_STR% = MYCLIENT_USB1, USB\VID_1111&PID_2222

;-----------------------------------------------------------------------

; Microsoft Virtual Ethernet Adapter
;
[MYCLIENT_USB1]
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; if you specify NCF_PHYSICAL, you must specify
bustype
AddReg = MYCLIENT_USB1.reg, COMMON_USB.reg, COMMON_NDIS.reg,
COMMON.reg
CopyFiles = MYCLIENT_DRIVER.copy

[MYCLIENT_USB1.Services]
AddService = adspw_usb, 2, MYCLIENT_DRIVER_USB.Service,
MYCLIENT_DRIVER.EventLog

;-----------------------------------------------------------------------

; Microsoft Virtual Miniport Common
;
[MYCLIENT_USB1.reg]
HKR, , BusNumber, 0, “0”
HKR, Ndi, Service, 0, “adspw_usb”
HKR, Ndi\Interfaces, UpperRange, 0, “ndis5”
HKR, Ndi\Interfaces, LowerRange, 0, “ethernet”

;#######################################################################
########
;RegKey,SubKey ,Name ,Type ,Value
;------------- ----- ----- ------
[COMMON_USB.reg]
;HKR,NDI ,Service ,0 ,“MYNWDRV”
HKR,NDI ,CardType ,0 ,“USB”
HKR, ,BusType ,0 ,“0”
HKR, ,DeviceVxDs ,0 ,“MYNWDRV.sys”

[COMMON_NDIS.reg]
HKR, ,RunningWin9X ,0 ,“1”
HKR, ,DevLoader ,0 ,“*ndis”
HKR, ,EnumPropPages ,0
,“netdi.dll,EnumPropPages”
;HKR,NDI ,NdiInstaller ,0
,“MYNWDRVNDI.dll,NdiProc”
;HKR,NDI\Interfaces ,UpperRange ,0 ,“ndis3”
;HKR,NDI\Interfaces ,LowerRange ,0 ,“ethernet”
HKR,NDI\Interfaces ,DefUpper ,0 ,“ndis3”
HKR,NDI\Interfaces ,DefLower ,0 ,“ethernet”
HKR,NDIS ,LogDriverName ,0 ,“MYNWDRV”
HKR,NDIS ,MajorNdisVersion ,1 ,03
HKR,NDIS ,MinorNdisVersion ,1 ,0a

;HKR,defaults,PSMode,0,1
;HKR,NDI\params\PSMode,0,1
;HKR,Ndi\params\PSMode,default,0,1
;HKR,NDI\params\PSMode,ParamDesc,%POWER_SAVE_STR%
;HKR,NDI\params\PSMode,type,enum
;HKR,NDI\params\PSMode,flag,1,30,00,00,00
;HKR,NDI\params\PSMode\enum,1,“Disable”
;HKR,NDI\params\PSMode\enum,2,“Always Enable”
;HKR,NDI\params\PSMode,optional,0,1

[COMMON_NDIS.reg]
;HKR, ,EnumPropPages32 ,0
,“MYNWDRVNDI.dll,NetPropPageProvider”
;HKR,NDI\Interfaces ,UpperRange ,0 ,“ndis5”
;HKR,NDI\Interfaces ,LowerRange ,0 ,“ethernet”

;HKR,defaults,PSMode,0,1
;HKR,NDI\params\PSMode,0,1
;HKR,Ndi\params\PSMode,default,0,1
;HKR,NDI\params\PSMode,ParamDesc,%POWER_SAVE_STR%
;HKR,NDI\params\PSMode,type,enum
;HKR,NDI\params\PSMode,flag,1,30,00,00,00
;HKR,NDI\params\PSMode\enum,1,“Disable”
;HKR,NDI\params\PSMode\enum,2,“Always Enable”
;HKR,NDI\params\PSMode\enum,3,“Auto Enable”
;HKR,NDI\params\PSMode,optional,0,1

[COMMON.reg]
HKR, ,MacIoctl ,0 ,“1”
HKR, ,SilentInstall ,0 ,“1”
;Uncomment the line above to install without user interface prompts

;-----------------------------------------------------------------------

; Band - 802.11b, 802.11g, 802.11a
;-----------------------------------------------------------------------

HKR,defaults,Band, 0, 4
HKR,NDI\params\Band, , 1, 4
HKR,Ndi\params\Band,Default, 0, “2”
HKR,NDI\params\Band,ParamDesc, , %BAND_STR%
HKR,NDI\params\Band,type, , enum
;HKR,NDI\params\Band,flag, 1, 30,00,00,00
HKR,NDI\params\Band\enum,1, , “802.11b”
HKR,NDI\params\Band\enum,2, , “802.11a”
HKR,NDI\params\Band\enum,3, , “802.11g”
HKR,NDI\params\Band\enum,4, , “Auto Select”
HKR,NDI\params\Band,optional, 0, 1

;-----------------------------------------------------------------------

; RTS Threshold
;-----------------------------------------------------------------------

HKR,defaults,RTSThresh,0,2346
HKR,NDI\params\RTSThresh,0,2346
HKR,Ndi\params\RTSThresh,default,0,2346
HKR,NDI\params\RTSThresh,ParamDesc,0,%RTSTHRESH_STR%
HKR,NDI\params\RTSThresh,type,0,int
;HKR,NDI\params\RTSThresh,flag,1,20,00,00,00
HKR,NDI\params\RTSThresh,min,0,0
HKR,NDI\params\RTSThresh,max,0,2346
HKR,NDI\params\RTSThresh,optional,0,1

;-----------------------------------------------------------------------

; Fragmentation Threshold
;-----------------------------------------------------------------------

HKR,defaults,FragThresh,0,2346
HKR,NDI\params\FragThresh,0,2346
HKR,Ndi\params\FragThresh,default,0,2346
HKR,NDI\params\FragThresh,ParamDesc,0,%FRAGTHRESH_STR%
HKR,NDI\params\FragThresh,type,0,int
;HKR,NDI\params\FragThresh,flag,1,20,00,00,00
HKR,NDI\params\FragThresh,min,0,256
HKR,NDI\params\FragThresh,max,0,2346
HKR,NDI\params\FragThresh,step,0,4
HKR,NDI\params\FragThresh,optional,0,1

;-----------------------------------------------------------------------

; DestinationDirs
;
[DestinationDirs]
MYCLIENT_DRIVER.copy = 12

[MYCLIENT_DRIVER.copy]
MYNWDRV.sys,2
usb8388.bin

;-----------------------------------------------------------------------

; Driver and Service Section
;

[MYCLIENT_DRIVER_USB.Service]
DisplayName = %MYCLIENT_SERVICE_DISPLAY_USB%
ServiceType = 1 ;%SERVICE_KERNEL_DRIVER%
StartType = 3 ;%SERVICE_DEMAND_START%
ErrorControl = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\MYNWDRV.sys
LoadOrderGroup = NDIS
;AddReg = TextModeFlags.Reg

[MYCLIENT_DRIVER.EventLog]
AddReg = MYCLIENT_DRIVER.EventLog.Reg

[MYCLIENT_DRIVER.EventLog.Reg]
HKR, , EventMessageFile, 0x00020000,
“%%SystemRoot%%\System32\netevent.dll”
HKR, , TypesSupported, 0x00010001, 7

;[TextModeFlags.Reg]
;HKR, , TextModeFlags, 0x00010001, 0x0001

[SourceDisksNames]
1 = %INSTALL_DISK_STR%,“”

[SourceDisksFiles]
MYNWDRV.sys = 1,

;
;— MYNWDRV.ndi WDF Coinstaller installation ------
;
[DestinationDirs]
MYCLIENT_COINSTALL.copy = 11

[MYCLIENT_USB1.CoInstallers]
AddReg=MYCLIENT_COINSTALL.reg
CopyFiles=MYCLIENT_COINSTALL.copy

[MYCLIENT_COINSTALL.reg]
HKR,CoInstallers32,0x00010000, “wdfcoinstaller01005.dll,WdfCoInstaller”

[MYCLIENT_COINSTALL.copy]
wdfcoinstaller01005.dll

[SourceDisksFiles]
wdfcoinstaller01005.dll=1 ; make sure the number matches with
SourceDisksNames

[MYCLIENT_USB1.Wdf]
KmdfService = adspw_usb, adspw_usb_wdfsect
[adspw_usb_wdfsect]
KmdfLibraryVersion = 1.5

;-----------------------------------------------------------------------

; Localizable Strings
;
[Strings]
;String ID = String Text
;--------- -----------
VER_VENDOR_STR = “MYCLIENT”
VER_VENDOR_NAME_STR = “MYCLIENT, Inc.”

MYCLIENT_SERVICE_DISPLAY_USB = “MYCLIENT MYNWDRV Wireless LAN USB
Driver”
INSTALL_DISK_STR = “Wireless Networking Install Disk”
;DiskId1 = “Microsoft Sample NDIS-WDM Virtual Miniport Ethernet Adapter
Device Installation Disk #1

;ADSPW.Service.DispName = “Microsoft Sample NDIS-WDM Virtual
Miniport Ethernet Adapter Service”
;adspw_usb.Service.DispName = “MYCLIENT MYNWDRV Wireless LAN USB
Driver”

RTSTHRESH_STR = “RTS Threshold”
FRAGTHRESH_STR = “Fragmentation Threshold”
;POWER_SAVE_STR = “Power Save Mode”
BAND_STR = “Band to Use”
;MAC_ADDR_STR = “Factory MAC Address Fallback”
;MAC_ADDR_DEFAULT = “00-01-02-03-04-05”
;DATA_RATE_STR = “Transmit Data Rate”
;CHANNEL_A_STR = “802.11a Ad Hoc Channel Number”
;CHANNEL_B_STR = “802.11b Ad Hoc Channel Number”
;TX_ANTENNA_STR = “Transmit Antenna”
;RX_ANTENNA_STR = “Receive Antenna”
;SCAN_DWELL_STR = “Scan Channel Dwell Time”
;SCAN_DWELL_ASSOC_STR = “Scan Channel Dwell Time when Associated”
USB_DESC_STR = “MYCLIENT MYNWDRV Wireless LAN USB Adapter”
;ACKPolicyAC_BK_STR = “WMM AC_BK ACK Policy”
;ACKPolicyAC_BE_STR = “WMM AC_BE ACK Policy”
;ACKPolicyAC_VI_STR = “WMM AC_VI ACK Policy”
;ACKPolicyAC_VO_STR = “WMM AC_VO ACK Policy”
;EnableDot11d = “802.11D Support”
;EnableDot11h = “802.11h Support”
;EnableDFSMode = “IBSS DFS Support”
;ADHOCGRATE_STR = “Use G Rate For Created 11g Adhoc Network”

Thanks,
Chakri

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Tuesday, October 23, 2007 9:49 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] USB driver has PnP Manager driver in its stack…

xxxxx@wipro.com wrote:

Yes, I did install the driver manually. When I installed for the first

time, it worked OK. I rebooted the machine and I ended up this.

Any reasons you can think of why a USB device doesn’t get enumerated
as USB node? I mean what should I suspect? Something in the driver, or

is this much before the driver gets loaded?

It’s getting installed this way BECAUSE you installed the driver
manually. Your INF file should match a USB ID in its manufacturer
section
%MyDevice% = DriverSection, USB\VID_1234&PID_5678

As Doron said, if you check device manager, you’ll probably find your
device listed with a bang error, because there was no matching driver
for it.

You might post your INF file so we can see if anything else looks odd.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.


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

NDIS-WDM vs NDIS-KMDF makes no difference as to who enumerated your device, the issues you saw were you forcing the installation of the device through the add new hardware wizard . If you want your driver signed by WHQL, it must be NDIS-KMDF by the way.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@wipro.com
Sent: Saturday, November 03, 2007 7:53 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB driver has PnP Manager driver in its stack…

Sorry, couldn’t reply earlier.

Basically, I was testing the driver on one of the laptops where the
wireless chipset is on the mother board (on USB, ofcourse). This is the
objective of the driver.

Then, I tried with a USB dongle version of it on an IBM Thinkpad, it
worked fine, but the lower edge was ACPI.

Then, I tried the same USB dongle on a desktop, everything was fine.

Since this was leading to nowhere and I had to meet some deadlines, I
reverted from KMDF back to NDIS_WDM version. The NDIS_WDM driver works
fine.

For your reference, I am sticking the .inf file (modified few value to
conceal customer info)

==================================
[version]
Signature = “$Windows NT$”
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %VER_VENDOR_NAME_STR%
DriverVer=08/13/2007,6.0.6000.16386
CatalogFile = KmdfSamples.cat

[ControlFlags]
;ExcludeFromSelect={b85b7c50-6a01-11d2-b841-00c04fad5171}\Ndisedge

[Manufacturer]
%VER_VENDOR_NAME_STR% = DeviceList,NTx86

; For Win2K
[DeviceList]
%USB_DESC_STR% = MYCLIENT_USB1, USB\VID_1111&PID_2222

; For WinXP and later
[DeviceList.NTx86]
%USB_DESC_STR% = MYCLIENT_USB1, USB\VID_1111&PID_2222

;-----------------------------------------------------------------------

; Microsoft Virtual Ethernet Adapter
;
[MYCLIENT_USB1]
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; if you specify NCF_PHYSICAL, you must specify
bustype
AddReg = MYCLIENT_USB1.reg, COMMON_USB.reg, COMMON_NDIS.reg,
COMMON.reg
CopyFiles = MYCLIENT_DRIVER.copy

[MYCLIENT_USB1.Services]
AddService = adspw_usb, 2, MYCLIENT_DRIVER_USB.Service,
MYCLIENT_DRIVER.EventLog

;-----------------------------------------------------------------------

; Microsoft Virtual Miniport Common
;
[MYCLIENT_USB1.reg]
HKR, , BusNumber, 0, “0”
HKR, Ndi, Service, 0, “adspw_usb”
HKR, Ndi\Interfaces, UpperRange, 0, “ndis5”
HKR, Ndi\Interfaces, LowerRange, 0, “ethernet”

;#######################################################################
########
;RegKey,SubKey ,Name ,Type ,Value
;------------- ----- ----- ------
[COMMON_USB.reg]
;HKR,NDI ,Service ,0 ,“MYNWDRV”
HKR,NDI ,CardType ,0 ,“USB”
HKR, ,BusType ,0 ,“0”
HKR, ,DeviceVxDs ,0 ,“MYNWDRV.sys”

[COMMON_NDIS.reg]
HKR, ,RunningWin9X ,0 ,“1”
HKR, ,DevLoader ,0 ,“*ndis”
HKR, ,EnumPropPages ,0
,“netdi.dll,EnumPropPages”
;HKR,NDI ,NdiInstaller ,0
,“MYNWDRVNDI.dll,NdiProc”
;HKR,NDI\Interfaces ,UpperRange ,0 ,“ndis3”
;HKR,NDI\Interfaces ,LowerRange ,0 ,“ethernet”
HKR,NDI\Interfaces ,DefUpper ,0 ,“ndis3”
HKR,NDI\Interfaces ,DefLower ,0 ,“ethernet”
HKR,NDIS ,LogDriverName ,0 ,“MYNWDRV”
HKR,NDIS ,MajorNdisVersion ,1 ,03
HKR,NDIS ,MinorNdisVersion ,1 ,0a

;HKR,defaults,PSMode,0,1
;HKR,NDI\params\PSMode,0,1
;HKR,Ndi\params\PSMode,default,0,1
;HKR,NDI\params\PSMode,ParamDesc,%POWER_SAVE_STR%
;HKR,NDI\params\PSMode,type,enum
;HKR,NDI\params\PSMode,flag,1,30,00,00,00
;HKR,NDI\params\PSMode\enum,1,“Disable”
;HKR,NDI\params\PSMode\enum,2,“Always Enable”
;HKR,NDI\params\PSMode,optional,0,1

[COMMON_NDIS.reg]
;HKR, ,EnumPropPages32 ,0
,“MYNWDRVNDI.dll,NetPropPageProvider”
;HKR,NDI\Interfaces ,UpperRange ,0 ,“ndis5”
;HKR,NDI\Interfaces ,LowerRange ,0 ,“ethernet”

;HKR,defaults,PSMode,0,1
;HKR,NDI\params\PSMode,0,1
;HKR,Ndi\params\PSMode,default,0,1
;HKR,NDI\params\PSMode,ParamDesc,%POWER_SAVE_STR%
;HKR,NDI\params\PSMode,type,enum
;HKR,NDI\params\PSMode,flag,1,30,00,00,00
;HKR,NDI\params\PSMode\enum,1,“Disable”
;HKR,NDI\params\PSMode\enum,2,“Always Enable”
;HKR,NDI\params\PSMode\enum,3,“Auto Enable”
;HKR,NDI\params\PSMode,optional,0,1

[COMMON.reg]
HKR, ,MacIoctl ,0 ,“1”
HKR, ,SilentInstall ,0 ,“1”
;Uncomment the line above to install without user interface prompts

;-----------------------------------------------------------------------

; Band - 802.11b, 802.11g, 802.11a
;-----------------------------------------------------------------------

HKR,defaults,Band, 0, 4
HKR,NDI\params\Band, , 1, 4
HKR,Ndi\params\Band,Default, 0, “2”
HKR,NDI\params\Band,ParamDesc, , %BAND_STR%
HKR,NDI\params\Band,type, , enum
;HKR,NDI\params\Band,flag, 1, 30,00,00,00
HKR,NDI\params\Band\enum,1, , “802.11b”
HKR,NDI\params\Band\enum,2, , “802.11a”
HKR,NDI\params\Band\enum,3, , “802.11g”
HKR,NDI\params\Band\enum,4, , “Auto Select”
HKR,NDI\params\Band,optional, 0, 1

;-----------------------------------------------------------------------

; RTS Threshold
;-----------------------------------------------------------------------

HKR,defaults,RTSThresh,0,2346
HKR,NDI\params\RTSThresh,0,2346
HKR,Ndi\params\RTSThresh,default,0,2346
HKR,NDI\params\RTSThresh,ParamDesc,0,%RTSTHRESH_STR%
HKR,NDI\params\RTSThresh,type,0,int
;HKR,NDI\params\RTSThresh,flag,1,20,00,00,00
HKR,NDI\params\RTSThresh,min,0,0
HKR,NDI\params\RTSThresh,max,0,2346
HKR,NDI\params\RTSThresh,optional,0,1

;-----------------------------------------------------------------------

; Fragmentation Threshold
;-----------------------------------------------------------------------

HKR,defaults,FragThresh,0,2346
HKR,NDI\params\FragThresh,0,2346
HKR,Ndi\params\FragThresh,default,0,2346
HKR,NDI\params\FragThresh,ParamDesc,0,%FRAGTHRESH_STR%
HKR,NDI\params\FragThresh,type,0,int
;HKR,NDI\params\FragThresh,flag,1,20,00,00,00
HKR,NDI\params\FragThresh,min,0,256
HKR,NDI\params\FragThresh,max,0,2346
HKR,NDI\params\FragThresh,step,0,4
HKR,NDI\params\FragThresh,optional,0,1

;-----------------------------------------------------------------------

; DestinationDirs
;
[DestinationDirs]
MYCLIENT_DRIVER.copy = 12

[MYCLIENT_DRIVER.copy]
MYNWDRV.sys,2
usb8388.bin

;-----------------------------------------------------------------------

; Driver and Service Section
;

[MYCLIENT_DRIVER_USB.Service]
DisplayName = %MYCLIENT_SERVICE_DISPLAY_USB%
ServiceType = 1 ;%SERVICE_KERNEL_DRIVER%
StartType = 3 ;%SERVICE_DEMAND_START%
ErrorControl = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\MYNWDRV.sys
LoadOrderGroup = NDIS
;AddReg = TextModeFlags.Reg

[MYCLIENT_DRIVER.EventLog]
AddReg = MYCLIENT_DRIVER.EventLog.Reg

[MYCLIENT_DRIVER.EventLog.Reg]
HKR, , EventMessageFile, 0x00020000,
“%%SystemRoot%%\System32\netevent.dll”
HKR, , TypesSupported, 0x00010001, 7

;[TextModeFlags.Reg]
;HKR, , TextModeFlags, 0x00010001, 0x0001

[SourceDisksNames]
1 = %INSTALL_DISK_STR%,“”

[SourceDisksFiles]
MYNWDRV.sys = 1,

;
;— MYNWDRV.ndi WDF Coinstaller installation ------
;
[DestinationDirs]
MYCLIENT_COINSTALL.copy = 11

[MYCLIENT_USB1.CoInstallers]
AddReg=MYCLIENT_COINSTALL.reg
CopyFiles=MYCLIENT_COINSTALL.copy

[MYCLIENT_COINSTALL.reg]
HKR,CoInstallers32,0x00010000, “wdfcoinstaller01005.dll,WdfCoInstaller”

[MYCLIENT_COINSTALL.copy]
wdfcoinstaller01005.dll

[SourceDisksFiles]
wdfcoinstaller01005.dll=1 ; make sure the number matches with
SourceDisksNames

[MYCLIENT_USB1.Wdf]
KmdfService = adspw_usb, adspw_usb_wdfsect
[adspw_usb_wdfsect]
KmdfLibraryVersion = 1.5

;-----------------------------------------------------------------------

; Localizable Strings
;
[Strings]
;String ID = String Text
;--------- -----------
VER_VENDOR_STR = “MYCLIENT”
VER_VENDOR_NAME_STR = “MYCLIENT, Inc.”

MYCLIENT_SERVICE_DISPLAY_USB = “MYCLIENT MYNWDRV Wireless LAN USB
Driver”
INSTALL_DISK_STR = “Wireless Networking Install Disk”
;DiskId1 = “Microsoft Sample NDIS-WDM Virtual Miniport Ethernet Adapter
Device Installation Disk #1

;ADSPW.Service.DispName = “Microsoft Sample NDIS-WDM Virtual
Miniport Ethernet Adapter Service”
;adspw_usb.Service.DispName = “MYCLIENT MYNWDRV Wireless LAN USB
Driver”

RTSTHRESH_STR = “RTS Threshold”
FRAGTHRESH_STR = “Fragmentation Threshold”
;POWER_SAVE_STR = “Power Save Mode”
BAND_STR = “Band to Use”
;MAC_ADDR_STR = “Factory MAC Address Fallback”
;MAC_ADDR_DEFAULT = “00-01-02-03-04-05”
;DATA_RATE_STR = “Transmit Data Rate”
;CHANNEL_A_STR = “802.11a Ad Hoc Channel Number”
;CHANNEL_B_STR = “802.11b Ad Hoc Channel Number”
;TX_ANTENNA_STR = “Transmit Antenna”
;RX_ANTENNA_STR = “Receive Antenna”
;SCAN_DWELL_STR = “Scan Channel Dwell Time”
;SCAN_DWELL_ASSOC_STR = “Scan Channel Dwell Time when Associated”
USB_DESC_STR = “MYCLIENT MYNWDRV Wireless LAN USB Adapter”
;ACKPolicyAC_BK_STR = “WMM AC_BK ACK Policy”
;ACKPolicyAC_BE_STR = “WMM AC_BE ACK Policy”
;ACKPolicyAC_VI_STR = “WMM AC_VI ACK Policy”
;ACKPolicyAC_VO_STR = “WMM AC_VO ACK Policy”
;EnableDot11d = “802.11D Support”
;EnableDot11h = “802.11h Support”
;EnableDFSMode = “IBSS DFS Support”
;ADHOCGRATE_STR = “Use G Rate For Created 11g Adhoc Network”

Thanks,
Chakri

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Tuesday, October 23, 2007 9:49 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] USB driver has PnP Manager driver in its stack…

xxxxx@wipro.com wrote:

Yes, I did install the driver manually. When I installed for the first

time, it worked OK. I rebooted the machine and I ended up this.

Any reasons you can think of why a USB device doesn’t get enumerated
as USB node? I mean what should I suspect? Something in the driver, or

is this much before the driver gets loaded?

It’s getting installed this way BECAUSE you installed the driver
manually. Your INF file should match a USB ID in its manufacturer
section
%MyDevice% = DriverSection, USB\VID_1234&PID_5678

As Doron said, if you check device manager, you’ll probably find your
device listed with a bang error, because there was no matching driver
for it.

You might post your INF file so we can see if anything else looks odd.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.


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


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