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