Virtual Serial Port Driver for Windows 7 for use with standard USB CDC devices
Hi,I have a USB CDC (communications device class) device (Atmel microcontroller) that I want to communicate with via USB. This device implements the CDC services that are required to make a simple serial connection and under XP the driver was simply an INF which instructed the OS to create a virtual serial port using the standard USB drivers.Now Ive upgraded to Windows 7 and the INF no longer works, when I try and 'add legacy hardware' I just receive a message that a suitable driver could not be found.I have a hard time believing that MS just removed all this functionality from the USB stack/drivers in 7 so there must be a way to set this up just as it was done in XP but I don't know enough about the INF files to see why mine no longer works.This is the original INF that worked with XP; does anyone know how to do the same in 7?: ; Windows 2000 and XP setup File for AT32UC3 demo [Version] Signature="$Windows NT$" Class=Ports ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} Provider=%ATMEL% LayoutFile=layout.inf DriverVer=10/15/1999,5.0.2153.1 [Manufacturer] %ATMEL%=ATMEL [ATMEL] %ATMEL_CDC%=Reader, USB\VID_03EB&PID_2307 ;[Reader_Install.NTx86] ;Windows2000 [DestinationDirs] DefaultDestDir=12 Reader.NT.Copy=12 [Reader.NT] CopyFiles=Reader.NT.Copy AddReg=Reader.NT.AddReg [Reader.NT.Copy] usbser.sys [Reader.NT.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,usbser.sys HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" [Reader.NT.Services] AddService = usbser, 0x00000002, Service_Inst [Service_Inst] DisplayName = %Serial.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbser.sys LoadOrderGroup = Base [Strings] ATMEL = "ATMEL, Inc." ATMEL_CDC = "AT32UC3 CDC USB to UART" Serial.SvcDesc = "USB Serial emulation driver" Thanks for any ideas!SJF
January 22nd, 2010 4:14am

Hello,I recommned you install xp mode and then use this device in xp mode. If your computer cannot support xp mode, you can use a third-party Virtual PC like Sun VirtualBOX. Thomas77
Free Windows Admin Tool Kit Click here and download it now
January 22nd, 2010 12:20pm

Hi Thomas_77,Thanks for your reply.I have been using XP Mode so far and it connects OK but its a little difficult to develop the application to drive the device via the virtual serial port and then have the device connect to, what might as well be, a completely different computer.Not to mention that USB was being touted as the solution for embedded developers to the dropping of serial ports by manufacturers, now its just started being taken up and it suddenly becomes useless again with an upgrade to 7 without extra hardware or expensive licensed third party drivers?There are third party virtual serial drivers available (generic drivers that are compatible with any CDC implementation) but the licenses run at about 3000euro from some companies.Is there a way to work out what the problem Windows has with that INF is when I try and add it via the legacy hardware method?Am I correct in assuming that Windows no longer utilizes INF files, if so, would it be possible to create a replacement using the Windows Driver Development Kit without acctually having to code a new driver?Thanks again,SJF
January 22nd, 2010 4:34pm

Hello,I have managed to sort out my problem; for anyone else with a similar one:I found a company that provides a USB CDC driver compatible with Windows 7:http://www.recursion.jp/avrcdc/driver.htmlI modified the provided INF to include only what was utilized in that provided by Atmel, changed the hardware ID to match that of my device and after installing using the legacy hardware option it is working.I won't post my modified INF as I don't have permission from Recursion and I don't know how theyd take to that but the process is fairly simple for anyone else who needs it.Thanks!SJF
Free Windows Admin Tool Kit Click here and download it now
January 22nd, 2010 11:41pm

Here is the best answer the problem that I've found. All you have to do is 1. grab the INF file from here: http://blogs.6bit.com/josh/2009/10/usb-communications-device-class-on-64-bit-windows/ 2. modify the VID and PID lines 3. modify the strings to your liking at the end Works for me on Windows 7 64 bit.
February 9th, 2011 11:14pm

Hello, I have the problem that windows 7 recognizes two same devices, one works and the other not. GP
Free Windows Admin Tool Kit Click here and download it now
March 3rd, 2011 10:18pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics