CDC Etherent
-
Monday, April 18, 2011 2:11 PM
It is my unserstanding Windows 7 supports USB CDC Ethernet Networking Control Model (ENCM) or ECM.
I'm trying to find how to create the INF file for this driver. I have a simple microcntroller setup for USB CDC ethernet but trying to figure out how to write the .inf file for this... Any sugguestions? Starting point?
All Replies
-
Monday, April 18, 2011 8:06 PMModerator
From the USBCDC spec, the CDC class is 2, and the ENCM subclass is 6, and the protocol is 0, which would yield:
USB\Class_02&SubClass_06&Prot_00 or USB\Class_02&SubClass_06
I haven't used this, and I'm not certain that even Win7 has support for ENCM, but if it does, this should work.
Let me know if it works
-Brian
Azius Developer Training, Windows driver, internals, and security training See www.azius.com for information- Marked As Answer by Doron Holan [MSFT]Microsoft Community Contributor, Owner Monday, March 12, 2012 3:48 AM
-
Monday, April 18, 2011 9:01 PM
Ok, this is where I'm really lost, according to the link http://msdn.microsoft.com/en-us/library/ff537037(VS.85).aspx Windows should support it and at the botom of the page it talks about a microsoft supplied inf
This is taken from the Web link"
The compatible IDs of this control model have a match in a Microsoft-supplied INF file. If the operating system does not find a match for one of the hardware IDs in a vendor-supplied INF file, the system automatically loads the native NDIS miniport driver to manage the interface collection.
"
But do I need a INF file? or is there a "rough" guide to start one? ie Class GUID etc?
-
Monday, April 18, 2011 9:10 PMModerator
Yes, that means that Windows should handle an ENCM device in the absence of a vendor-supplied driver, so don't use the class code in your .INF file. If your device responds as an ENCM device, then the system should load the Windows CDC ENCM driver. You can override the Windows driver by specifiying the VID and PID of the device in your .INF file
-Brian
Azius Developer Training, Windows driver, internals, and security training See www.azius.com for information -
Monday, August 22, 2011 4:29 AM
Hi,
I have an ENCM device as part of a composite driver. The composite driver is capable of other functions that are not related to networking. The ENCM function is on two interfaces. According to the MSDN website, Windows 2008 can handle this but the CDC functionality is not enabled by default. However, the composite device is automatically enumerated and the driver installed by the Window-supplied USB.inf file.
How do I override the OS and get my composite device to enable CDC? I tried installing my own INF for the composite driver but either my INF is wrong or I am missing some information. I added the respective INF sections for CDC enabling according to the MSDN website. My composite device returns 0, 0, 0 for class, subclass and protocol in the device descriptor?
Thanks in advance for any help you can offer.
Scott P
-
Monday, August 22, 2011 6:42 AMOwnerwhat does yours INF look like (post it)? what hardware ID are you matching against? until it is WHQL signed you will need to manually install your driver over the in box one. look at the setup logs (what os are you trying this on?) to see why your INF was not chosen.
d -- This posting is provided "AS IS" with no warranties, and confers no rights. -
Monday, August 22, 2011 8:59 PM
Hi Doron,
Thanks for the reply. Here is my INF file. It is based off of USB.inf that is supplied by Windows 2008. I got my INF to install. But, my CDC Ethernet interfaces which are on interface 3 and 4 are not recognized as CDC ethernet and thus windows won't use the supplied CDC ethernet driver. In Device Manager, it is listed under the "Other Devices" category. The CDC ethernet device is enumerated as USB/VID_0624&PID_0248&MI_03 and the other one as ...&MI_04. According to the MSDN, the enumeration must contain CDC_06 in the hardware id but my INF file can not get this to happen. Do you know what I am doing wrong? I know my descriptors are right because everything works under Linux.
[Version]
signature="$Windows NT$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
Provider=%MSFT%
DriverVer=08/20/2011,2.0.0.1
[SourceDisksNames]
3426=windows cd
[SourceDisksFiles]
usbccgp.sys = 3426
[ControlFlags]
ExcludeFromSelect=*
[DestinationDirs]
DefaultDestDir=11
CommonClassParent.CopyFiles.NT=10, system32/drivers
[Manufacturer]
%CompanyName%=ABCDEFX,NTamd64
[ABCDEFX.NTamd64]
%COMPANYNAME.DeviceDesc%=CCGPDriverInstall,USB\Vid_0624&Pid_0248
[CCGPDriverInstall.NTamd64]
CopyFiles=CommonClassParent.CopyFiles.NT
DelReg=Composite.DelReg.NT
AddReg=CCGPDriverInstall.NTamd64.AddReg
[CommonClassParent.CopyFiles.NT]
usbccgp.sys,,,0x100
[Composite.Dev.NT]
CopyFiles=CommonClassParent.CopyFiles.NT
DelReg=Composite.DelReg.NT
[CCGPDriverInstall.NTamd64.Services]
AddService = usbccgp, 0x00000002, CommonClassParent.AddService
[CCGPDriverInstall.NTamd64.AddReg]
HKR,,EnumeratorClass,0x00000001,02,06,00
HKR,,CdcFlags,0x00010001,0x00010001
[CommonClassParent.AddService]
DisplayName = %GenericParent.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbccgp.sys
LoadOrderGroup = Base
[CommonClassParent.CopyFiles.NT]
usbccgp.sys,,,0x100
[Strings]
MSFT="Microsoft"
COMPANYNAME.DeviceDesc="ABCDEF Composite"
CompanyName="ABCDEF"
GenericParent.SvcDesc="Microsoft USB Generic Parent Driver"Any help is appreciated.
Thank You,
Scott P
-
Tuesday, August 23, 2011 6:07 AM
Hello Scott
Is the Company who is developing this driver( I am referring to INF file here) is it Microsoft ?
Please clarify the above query ?
Thanks
Wintestlogo Team
Wintest Consultancy and Services Email:help@wintestlogo.com This posting is provided "AS IS" with no warranties, and confers no rights. -
Tuesday, August 23, 2011 7:19 AM
Hi Wintestlogo Team,
No it is not microsoft. The INF file is a test file for the moment and what I did was copy and paste parts of the USB.inf from the OS into my test INF. I am trying to get my development going before I iron out all the appropriate and legal language that should go into the INF file if one is really needed.
Thanks,
Scott P
-
Tuesday, August 23, 2011 8:22 AM
Scott
Thanks for the information. As we have gone through the inf file and found that Provider as microsoft, so just want to cross check with if you are using the provide name as Microsoft , as it is not allowed.
Thanks
Wintestlogo Team
Wintest Consultancy and Services Email:help@wintestlogo.com This posting is provided "AS IS" with no warranties, and confers no rights.- Marked As Answer by Doron Holan [MSFT]Microsoft Community Contributor, Owner Monday, March 12, 2012 3:49 AM
-
Monday, March 12, 2012 3:34 PMI'm going to have to try this out on my micro controller...
-
Friday, May 25, 2012 7:55 PMI am curious to know if you guys ever got CDC-ECM to work on the Window7 or Win8 systems?


