EASYC and RobotC USB Connection problems with 64Bit Windows 7

I am a Vex Robotics mentor to 10 students in Manassas, Va.
In the past month (April 2012), two of the students have experienced USB connections problems between their laptops and the Vex Cortex Controllers. The Device Manager indicates the driver could not be started (Error 10).

After some checks, I noticed that both of the hosts are 64 bit Windows 7.

The hosts were able to program the Vex Cortex for many months and then stopped. Tried the usual Microsoft driver resolution process of removing the driver and re-installing. No luck.

Any Ideas on how to resolve this?

I have reviewed the Windows Driver Installation Log (setupapi.dev.log) and attached the last action below?

Any ideas?

Thank you in Advance,
Dave Frederick
Mentor, Manassas VA

[Device Install (Hardware initiated) - USB\VID_067B&PID_2303\6&202fce4a&0&1]
Section start 2012/05/08 10:49:03.614
ump: Creating Install Process: DrvInst.exe 10:49:03.623
ndv: Retrieving device info…
ndv: Setting device parameters…
ndv: Searching just Driver Store…
dvi: {Build Driver List} 10:49:03.712
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list ‘C:\Windows\INF’
inf: Opened PNF: 'C:\Windows\System32\DriverStore\FileRepository

\ser2pl.inf_amd64_neutral_2d105b2c9e5e9abe\ser2pl.inf’ ([strings])
dvi: Created Driver Node:
dvi: HardwareID - USB\VID_067B&PID_2303
dvi: InfName - C:\Windows\System32\DriverStore\FileRepository

\ser2pl.inf_amd64_neutral_2d105b2c9e5e9abe\ser2pl.inf
dvi: DevDesc - Prolific USB-to-Serial Comm Port
dvi: DrvDesc - Prolific USB-to-Serial Comm Port
dvi: Provider - Prolific
dvi: Mfg - Prolific
dvi: ModelsSec - PRO.NTAMD64
dvi: InstallSec - ComPort
dvi: ActualSec - ComPort.NTAMD64
dvi: Rank - 0x00ff0001
dvi: Signer - Microsoft Windows Hardware Compatibility Publisher
dvi: Signer Score - WHQL
dvi: DrvDate - 07/17/2009
dvi: Version - 3.3.5.122
inf: Opened PNF: 'C:\Windows\System32\DriverStore\FileRepository

\ser2pl.inf_amd64_neutral_e0e24ed5af01cfc3\ser2pl.inf’ ([strings])
dvi: Created Driver Node:
dvi: HardwareID - USB\VID_067B&PID_2303
dvi: InfName - C:\Windows\System32\DriverStore\FileRepository

\ser2pl.inf_amd64_neutral_e0e24ed5af01cfc3\ser2pl.inf
dvi: DevDesc - Prolific USB-to-Serial Comm Port
dvi: DrvDesc - Prolific USB-to-Serial Comm Port
dvi: Provider - Prolific
dvi: Mfg - Prolific
dvi: ModelsSec - PRO.NTAMD64
dvi: InstallSec - ComPort
dvi: ActualSec - ComPort.NTAMD64
dvi: Rank - 0x00ff0001
dvi: Signer - Microsoft Windows Hardware Compatibility Publisher
dvi: Signer Score - WHQL
dvi: DrvDate - 10/27/2008
dvi: Version - 3.3.2.105
dvi: {Build Driver List - exit(0x00000000)} 10:49:03.929
ndv: Selecting best match from just Driver Store…
dvi: {DIF_SELECTBESTCOMPATDRV} 10:49:03.930
dvi: Using exported function ‘PortsClassInstaller’ in module ‘C:\Windows\system32\MsPorts.Dll’.
dvi: Class installer == MsPorts.Dll,PortsClassInstaller
dvi: No CoInstallers found
dvi: Class installer: Enter 10:49:03.935
dvi: Class installer: Exit
dvi: Default installer: Enter 10:49:03.936
dvi: {Select Best Driver}
dvi: Selected driver installs from section [ComPort] in 'c:\windows\system32\driverstore

\filerepository\ser2pl.inf_amd64_neutral_2d105b2c9e5e9abe\ser2pl.inf’.
dvi: {DIF_DESTROYPRIVATEDATA} 10:49:03.938
dvi: Class installer: Enter 10:49:03.939
dvi: Class installer: Exit
dvi: Default installer: Enter 10:49:03.940
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 10:49:03.941
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [Prolific USB-to-Serial Comm Port]
dvi: InfFile - [c:\windows\system32\driverstore\filerepository

\ser2pl.inf_amd64_neutral_2d105b2c9e5e9abe\ser2pl.inf]
dvi: Section - [ComPort]
dvi: Signer - [Microsoft Windows Hardware Compatibility Publisher]
dvi: Rank - [0x00ff0001]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 10:49:03.948
inf: Opened PNF: ‘C:\Windows\INF\oem51.inf’ ([strings])
ndv: Searching Windows Update for drivers… 10:49:03.973
ndv: Acquired WU search serialization mutex. 10:49:03.974
ndv: About to release WU search serialization mutex. 10:49:06.657
ndv: Found driver on Windows Update, downloading - 0.1 MB… 10:49:06.660
dvi: {Build Driver List} 10:49:12.264
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list ‘c:\windows\temp\dmiwu{9e9b71a3-3b9e-4278-9db3-34dc729401fa}’
sig: {_VERIFY_FILE_SIGNATURE} 10:49:12.277
sig: Key = ser2pl.inf
sig: FilePath = c:\windows\temp\dmiwu{9e9b71a3-3b9e-4278-9db3-34dc729401fa}\ser2pl.inf
sig: Catalog = c:\windows\temp\dmiwu{9e9b71a3-3b9e-4278-9db3-34dc729401fa}\ser2pl.cat
sig: Success: File is signed in catalog.
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 10:49:12.336
dvi: Created Driver Node:
dvi: HardwareID - USB\VID_067B&PID_2303
dvi: InfName - c:\windows\temp\dmiwu{9e9b71a3-3b9e-4278-9db3-34dc729401fa}\ser2pl.inf
dvi: DevDesc - Prolific USB-to-Serial Comm Port
dvi: DrvDesc - Prolific USB-to-Serial Comm Port
dvi: Provider - Prolific
dvi: Mfg - Prolific
dvi: ModelsSec - PRO.NTAMD64
dvi: InstallSec - ComPort
dvi: ActualSec - ComPort.NTAMD64
dvi: Rank - 0x00ff0001
dvi: Signer - Microsoft Windows Hardware Compatibility Publisher
dvi: Signer Score - WHQL
dvi: DrvDate - 04/02/2012
dvi: Version - 3.4.31.231
dvi: {Build Driver List - exit(0x00000000)} 10:49:12.346
ndv: Selecting best match from Windows Update… 10:49:12.346
dvi: {DIF_SELECTBESTCOMPATDRV} 10:49:12.347
dvi: Using exported function ‘PortsClassInstaller’ in module ‘C:\Windows\system32\MsPorts.Dll’.
dvi: Class installer == MsPorts.Dll,PortsClassInstaller
dvi: No CoInstallers found
dvi: Class installer: Enter 10:49:12.350
dvi: Class installer: Exit
dvi: Default installer: Enter 10:49:12.351
dvi: {Select Best Driver}
dvi: Selected driver installs from section [ComPort] in 'c:\windows\temp\dmiwu{9e9b71a3-3b9e-

4278-9db3-34dc729401fa}\ser2pl.inf’.
dvi: {DIF_DESTROYPRIVATEDATA} 10:49:12.353
dvi: Class installer: Enter 10:49:12.354
dvi: Class installer: Exit
dvi: Default installer: Enter 10:49:12.355
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 10:49:12.356
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [Prolific USB-to-Serial Comm Port]
dvi: InfFile - [c:\windows\temp\dmiwu{9e9b71a3-3b9e-4278-9db3-

34dc729401fa}\ser2pl.inf]
dvi: Section - [ComPort]
dvi: Signer - [Microsoft Windows Hardware Compatibility Publisher]
dvi: Rank - [0x00ff0001]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 10:49:12.362
inf: {SetupCopyOEMInf: c:\windows\temp\dmiwu{9e9b71a3-3b9e-4278-9db3-34dc729401fa}\ser2pl.inf} 10:49:12.368
inf: {SetupCopyOEMInf exit (0x00000050)} 10:49:12.376
!!! ndv: Driver Store import failed, failing install.
ump: Server install process exited with code 0x00000002 10:49:12.466
<<< Section end 2012/05/08 10:49:12.475
<<< [Exit status: FAILURE(0x00000002)]

It looks like you have multiple versions of the prolific driver loaded. Have you recently updated the development software? Are you on EasyC or ROBOTC? (edit: OK, I see both)

These problems can be hard to debug, all I can tell you is the following.

I have a ROBOTC V3.04 installation running under Windows 7 pro 64 bit, the driver I have installed is version 3.3.17.203 which I downloaded from the prolific web site, however, this was back in October last year. Under programs and features it shows as PL-2303 USB to serial version 1.4.17, see if there are any other PL-2303 installations.

I have seen error 10 before but in my case it was a defective programming cable, have you tested the cables on other hardware or do you have a known working cable you can try.

I would try and uninstall all versions of the driver and then start again.

What Driver is Loading when the Vex USB-to-Ser cable is plugged into the Laptop?? ( Device Manager–>Ports ( COM & LPT )–> Prolific USB to Serial, Double Click and then Click the “Driver” Tab, if it is there.

Your Newest Driver appears to be, DrvDate - 04/02/2012, Version - 3.4.31.231.

I have seen a Code 10, I beleve it was for a Counterfeit Prolific Chip…

In Most Cases, you want the Latest Device Driver installed, in some cases, they don’t work right, and an Older version of the Device Driver is better…

================================================================================

Windows 7, Home Premium 64 Bit, SP1 , 6 GB RAM.

My Prolific Drivers are in this Folder, in the DriverStore:

C:\Windows\System32\DriverStore\FileRepository\ser2pl.inf_amd64_neutral_5a6c8d63ecc6dc7f

The Date/Version is:
DriverVer=03/12/2010,3.3.11.152

I am not currently using the Vex USB-to-Ser cable, because it is too hard to plug and unplug. and the Vex Down-loader Software will “default” to ANY Prolific USB-to-Ser device, even if it is not connected to a Vex Controller… I am using a Belkin for the Time being…

================================================================================

Check current Driver Version, If possible…

I would try a different Vex USB-to-Ser cable, or find another Prolific based Cable…

Uninstall all related Drivers, and check in the Driverstore to make sure they were removed as well…

Try an Older Driver version to see if it works…

It has been my experience of working with the Prolific USB-to-Ser devices, for over 10 years now, that they will be Broken by MicroSoft, and need to be changed…

( I was working with the Bafo USB-to-Ser even before I got my first Vex Robot, and they were having problems on a regular basses… )

D.Frederick
We have resolved the Lapatop (EasyC or RobotC) to VEX Cortex Controller Issue. It appears that the current (2012) driver is not working. I rolled the driver back to the 2008 version and the communications works correctly.

Here are the 64 bit Driver (c:\windows\system32\drivers\ser2pl64.sys) versions and dates.

3.3.2.105 - 2008
3.3.4.122 - 2009
3.4.31.231 – 2012

I can not get it to work either, on Windows 7 Home Premium 64 Bit… The Installer seems to load the Drivers, but Windows is never able to install them for the Hardware, giving a “Code 28” error…

Edit:

I installed version 3.3.11.152, dated 3/12/2010 and that seems to be working.

I have been trying to find the link for 3.3.11.152 prolific driver on the new prolific site. Anyone have it or a link where it can be downloaded without downloading driver id .exe

Yea!!! The new Prolific Site…

Try this file, PL2303_Prolific_DriverInstaller_v1210.exe.

I downloaded this file on 13-JUL-2010 and placed it on the SilverLeaf web site for end customers, because Silverleaf sold a lot of Prolific adapters over 8 years and the Prolific site is only getting Harder and Harder to navigate…

This is the current driver isn’t it? Doesn’t this have the same problems. I think I have tried that already. I want to get 3.3.11.152 version.

Chris

Try this version, release notes say it is the one you want.

https://www.box.com/s/od9dl1puhx3ea958saut

This looks the same as MarkO’s download , so thanks to you both for the links.

Rats… both those downloads don’t solve the problem. Jpearman’s still givesa code 10. MarkO installs but error says can’t find file.

Is it possible I have to install as administrator or other trick?

I think I need to go to an earlier version still… can someone post a file other than 3.3.11.152 that works.

Thanks

The driver that is included with ROBOTC (and available on the vex software page) is an older driver from 2008. I have no idea if it works as I’ve only tried the 3.3.11.152 with win7 64 bit. I mostly still use XP for VEX development.

One thing I noticed in the readme file for the latest driver is this

I know this is not directly related to your problem but I wanted to bring this to everyones attention. When I check the adapters I have with the CheckChipVersion utility they all show

The implication is the the serial adapter is not supported under Windows 8. Has anyone tried yet with a pre-release version of Windows 8 ?

Chris,

I have discovered that the serial cable will not work on Limited Accounts (student accounts) but will only work in Administrator Accounts. My kids use Windows XP. VEX is checking on this for me but have not found a solution. I was also told the Prolific might not work on Windows 8 but they have not tested it yet.

We had this same kind of issue. So over the summer I tired a few cables to get to the bottom of it. We downgraded to an old club XP laptop for many months due to this.

In my research I read something on the Prolific website about the error being from some chip not being legal or something like that. So I bought this one Prolific said was proven good online but then had to rip off the screw coupler ends to get it to mate to the Vex one. Nothing a bit of elbow grease and vice grips could not handle.
http://www.amazon.com/gp/product/B00425S1H8/ref=oh_details_o01_s00_i00

Once it was back working, I tired with an older cable we had and it worked. It is really old from one of the mentors working with Vex since the get go (thanks Steve!). So I am not sure if the cable I had was loose and not working right or what but I tried a few other semi-new cables in the Spring and got the same results. But that one really old Vex cable worked.

So I threw the problematic cable in the trash and now have a Frankencable. Good part is you know which cable is yours now!

I did some testing today (so much for work) and have some interesting results (for geeks).

I started with a clean VM running XP sp3, no software installed. I have a VEX orange programming cable that was giving me lots of trouble last year when purchased, VEX exchanged it for me but did not want the old one back so I just threw it in the junk box. Anyway, I used it along with a known good cable and did some tests on various drivers, here are the results. The good cable always worked, these results are for the bad cable.

XP Driver from VEX wiki
Version 6/23/2005 2.0.2.0
Works (but lots of errors in usb trace)

ROBOTC 3.51
Version 10/7/2011 2.1.27.185
No Work!

ROBOTC 3.08
Version 10/7/2011 2.1.27.185
No Work!

ROBOTC 3.04
No driver included, the driver on ROBOTC.net is the same as the VEX wiki
Version 6/23/2005 2.0.2.0
Works

EasyC 4.1.0.5
Version 4/17/2006 2.0.2.5
Works

GPS_AllInOne_1013 (This is the same one that EasyC includes)
Version 4/17/2006 2.0.2.5
Works

Prolific 1.3.0 (also called v1210, MarkO’s from below)
Version 11/19/2009 2.0.13.130
No Work

Latest on Prolific web site 1.7.0
Version 7/26/2012 2.1.35.211
No work

So why do some work and some do not. I have a USB analyzer so I took a look at the communications. The drivers that do not work add additional vendor specific commands to the startup sequence. All the drivers are able to negotiate with the client, check product strings etc. A working cable with the newer driver behaves as follows.

[ATTACH]6838[/ATTACH]

Notice the highlighted values

Here is the behavior of the bad cable

[ATTACH]6837[/ATTACH]

The C0 01 command is a vendor read request, the 40 01 is a vendor write request. My guess is that the driver is writing the value AA to some know location and then trying to read it back to check it was written. It’s probably to do with this information that prolific posts on their web site and in the release notes.

Prolific probably updated the driver to stop it working with the counterfeit parts, just my theory.

So where does this leave Win7 ? Well I would try the GPS_AllInOne_1013 driver included with EasyC and also available here. I don’t have time to repeat all this on Win7 so let us know if you have success.

https://www.box.com/s/e5p2hfdmqjxntswb5w1f

My assumption is that drivers after this are updated with the new USB authentication.

I would also get a new cable :slight_smile:


Very interesting investigation. I concluded that I had better try a different cable. So I brought in my oldest cables that i used about 6 years ago. They worked fine. I used the newest cable… no work again. So at least we have a temporary working condition.

GPS_AllInOne_1013 that loads with EasyC … if that is also the same one on the Vex download site…then it didn’t work with the bad cable.

Yes, it the same version as the VEX wiki. Guess you really do just have a bad cable. I actually use these

http://www.officedepot.com/a/products/828545/Ativa-USB-To-Serial-Adapter/

as I prefer a shorter cable, they use the prolific chip (although not advertized so they may change at some point).

ROBOTC also does allow the use of other USB-serial adapters, you need to enable that functionality in the preferences pane for the VEX cortex. For work I always use the FTDI chipset and there are also many cables based on that.

Sort of. It works with my 32 bit RobotC 3.5.1 .

I looked at the Ativa review comments and found this:

"Close But No Cigar

Pros: the cable works

Cons: the drivers do not work with 64 bit os

All these USB to SERIAL cable don’t work with 64 Bit OS. "

Is this true in your experience?

The USB to serial adapters I have work under Windows 7 64 Pro, but I use that much less often than Windows XP. So why am I still using XP? Well most of the time I use virtual machines running under parallels desktop on Macs. An XP virtual machine with ROBOTC installed is under 6GB, a Windows 7 VM uses perhaps 15GB. XP is happy with 512MB of RAM, Win7 needs 2GB. Due to beta testing and other reasons I have multiple VM’s available and sometimes open, I have about 20 on my laptop and also use them on some Mac Pro towers for FPGA development. A certain amount of version control is done by archiving the VM, everything is frozen in time, no need to worry that the software or drivers have changed when an old project is pulled out for maintenance.

I use Windows 7 for Autodesk Inventor and had ROBOTC 3.04 installed there all of last year with no issues.

Having said this, I find the serial adapters very hit and miss, perhaps that was why VEX changed to the new programming hardware last year. Once you find a good USB-serial cable don’t let it out of your sight :slight_smile:

Yes. We were tired of fighting what you are all describing here. In addition they seem to go obsolete quite often. We have better things to design than USB serial cables.