Serial Control in Windows 7 – Part Deux

The Serial communications saga continues…. Never say die when it comes to serial communications because, like so many things in programming, there are multiple areas where the problem might lie.

Here are the facts as I knew them this morning.  Given a hardware configuration (serial port to fiber optic converter to fiber optic converter to Serial to USB converter), I could reliably talk to my device in Mac OS X and Windows XP.  In Vista and Windows 7 it failed.  The serial port monitor software that I running in Windows was able to see the messages with 100% accuracy while the RB serial control was not.

Sounds like an RB bug, right?  I submitted it, with video proof, and had a reasonably happy weekend.  The client was not happy, understandably, and after consulting with REAL Software (who, by the way, responded to my email promptly this morning) agreed that it might be a bug and they would be happy to try to reproduce (and ultimately fix it) if we sent them the hardware and a sample program and some money to do it for the R4 release.  R4 will come out sometime this fall, by the way.

The client was not happy about the additional cost and the time delay as you can understandably imagine.  So I said I’d do some research and figure out if other people are having serial issues too before issuing a recommendation to send all the materials to RS.  I’m sure some of you are guessing where this is going.

It just so happens that the specific manufacturer of the Serial to USB Converter (Prolific) has some serious issues with their Windows 7 (and Vista) drivers.  After a few more specific web searches I found an alternative (perhaps older) driver that works fine if you do the following in Windows 7:  Right click on the properties of the installer, select Run as Administrator and select Vista SP2 under the compatibility popup.

Run the installer, restart Windows 7 and Voila!  We now have a fully functioning driver – that works – in Windows 7.

Hindsight, as they say, is always 20/20 and I *should* have thought about this last week.  I had “something in the middle” that I assumed worked.  I had evidence that it did work (the serial port monitor) but my assumption was false (obviously).

Debugging serial communications (and network communications for that matter) is a royal pain in the behind.  When something isn’t working, work the problem backwards.  When there’s hardware involved, verify that the hardware works or try to eliminate the hardware.  In my case, my Windows 7 doesn’t have a true serial port (it’s running on my Mac in VMWare).

So maybe you’ll learn something from my experience and pain.  Maybe you’ll keep yourself from having a bruised forehead (from banging your head up against a brick wall).

Happy coding!

7 thoughts on “Serial Control in Windows 7 – Part Deux

  1. The only part to that which still makes me strongly think there may be an RB bug is the fact that the port monitoring software clearly shows the data as arriving. Since the port monitor relies on the hardware driver to report that information (unless you were monitoring the signal state of the physical wire), that means the data is there and RB’s not picking it up.

    But I’m glad to hear you have a stopgap solution! I’ve never heard of Prolific, but now I know what to stay away from. 😉 I’ve been very happy with KeySpan and FTDI adapters, personally.

  2. What to do? Does RS add a workaround so RB works there with Windows 7 out of the box? Or should RS write a note in the docs describing this and telling to check drivers?

  3. Well, the fact that by using a different driver it works just fine and that it’s a common problem with the Prolific driver, says, to me at least, that it’s not a REAL Software problem. Seriously, I typed in “Windows 7 serial port issue” and the name Prolific popped up thousands of times. Good clue that it’s a common problem.

    I don’t know why the serial port monitor was seeing the data. But, my guess is that it was using some native Windows 7 generic driver.

  4. Yeah, it’s a really tough call — it is most likely not anything RB can actually DO anything with aside from warn users.

    If I was still at RS, I’d consider that Prolific isn’t particularly prolific in the converter arena (sorry for the terrible pun), and I’d just use the information to warn others. So if a bug report came in that had the same “smell” to it as this problem, I’d ask what converter they were using as part of my diagnostic sweep.

  5. Hey I’m having the same problem with RB2009, Windows 7 & a Prolific USB-2-Serial. Can you post the link of the driver or send it via email. Thank you!

Comments are closed.