Writing an INF file for an Ethernet over USB device and using the Remote NDIS INF template. http://msdn.microsoft.com/en-us/library/bb500930.aspx
The followingsection of the template indicates it must be included.
;NEVERREMOVETHEFOLLOWINGREFERENCEFORNETRNDIS.INF
include=netrndis.inf
needs=Usb_Rndis.ndi
When our device is installed (plug-n-play),Windowsinstalls our INF, whichincludes netrndis.inf, which gives an error at line 99:
ServiceBinary = %12%\usb8023x.sys
The file usb8023x.sys does not exist in System32/drivers folder. This results in error 0xe0000217, resulting in our device failing to install.
Do we need to include netrndis.inf? How can we get it to run without failing?
The INF needs to work on Win XP, 2003, Vista, 2008.
Here is what our INF looks like:
; Our Company
; Based on Remote NDIS template device setup file for the RNDIS-over-USB host driver.
[Version]
Signature = "$Windows NT$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Company%
DriverVer = 08/10/2009,1.0.0.1
[Manufacturer]
%Company% = Company,NT.5.1, NTx86.6.0
[Company]
; NetChip IDs, used by both firmware modes
%UsbEnetDevice% = RNDIS, USB\VID_1adb&PID_0003
[Company.NT.5.1]
%UsbEnetDevice% = RNDIS.NT.5.1, USB\VID_1adb&PID_0003
[Company.NTx86.6.0]
%UsbEnetDevice% = RNDIS.NT.5.1, USB\VID_1adb&PID_0003
[ControlFlags]
ExcludeFromSelect=*
[RNDIS.NT.5.1]
Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
BusType = 15
DriverVer = 04/30/2009,1.0.0.0
AddReg = RNDIS_AddReg_51, RNDIS_AddReg_Common
[RNDIS.NT.5.1.Services]
include =netrndis.inf
needs =Usb_Rndis.ndi.Services
AddService = USB_RNDIS, 2, RNDIS_ServiceInst_51, RNDIS_EventLog
[RNDIS_ServiceInst_51]
DisplayName = %ServiceDisplayName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\usb8023.sys
LoadOrderGroup = NDIS
AddReg = RNDIS_WMI_AddReg_51
[RNDIS_WMI_AddReg_51]
HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismp.sys"
[RNDIS_AddReg_51]
HKR, Ndi, Service, 0, "USB_RNDIS"
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
[RNDIS_EventLog]
AddReg = RNDIS_EventLog_AddReg
[RNDIS_EventLog_AddReg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported, 0x00010001, 7
[RNDIS_AddReg_Common]
HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%
HKR, NDI\params\NetworkAddress, type, 0, "edit"
HKR, NDI\params\NetworkAddress, LimitText, 0, "12"
HKR, NDI\params\NetworkAddress, UpperCase, 0, "1"
HKR, NDI\params\NetworkAddress, default, 0, " "
HKR, NDI\params\NetworkAddress, optional, 0, "1"
[SourceDisksNames]
1=%SourceDisk%,,1
[SourceDisksFiles]
[DestinationDirs]
DefaultDestDir = 12
[Strings]
ServiceDisplayName = "USB Remote NDIS Network Device Driver"
NetworkAddress = "Network Address"
Company = "Our Company"
UsbEnetDevice = "USB Ethernet/RNDIS Gadget"
SourceDisk = "Ethernet/RNDIS Gadget Driver Install Disk"
If I comment out the line "include = netrndis.inf" it seems to work. Is it OK to not include netrndis.inf?
Thanks!
David