Diagnosing USB to RS232 (or "USB to serial") adapter problems

Talking to RS232 devices suddenly seems really difficult, now that my latest work laptop has no RS232 serial port. I have tried 2 adapters and discussed several others with co-workers, and so far have not found a way to make it work well. The first adapter I tried, recommended by the IT department, reported that its software installed properly, and diagnostic tests in its software reported that it works properly. But I can’t get any signal out of it. The second, recommended as an alternative by IT, seems to partly work when I use the clumsy Hyperterminal program that bundles with Windows; however, if I try to turn on “capture text to file” while there is incoming data on the line, Hyperterminal locks up. Also, the nice terminal program I have been using for years, RealTerm, cryptically shows various of the terminals going high or low and staying that way when I try to send anything out the port, and reads nothing coming in.

What I hear from co-workers about other adapters is that whether one will work or not seems pretty unpredictable, and they often work in some situations and fail in others. Also, many work with some programs and not others. Nobody has found one that works every time.

I figure I will buy 5 or 10 of them and spend some hours experimenting, but I’d like to be better informed about some of the principles and practices involved.

What basis is there for choosing them? Are there any standards or standard tests for them? Are there any web sites that list which ones that work in different situations or with different programs?

The last time I did any programming myself with RS232, I was reading and writing from the UART on the IO bus. This is straightforward and reliable, so I assume it has been eliminated from the computing world. What does one basically do these days instead?

Also, I’m asking because I use Windows XP machines at work (and supposedly there will be a Windows 7 rollout here in 2011). But I also have a fairly new Mac at home and still haven’t worked this out there either. Any special considerations for this?

I’m not asking for recommendations for specific products and hope this thread doesn’t wind up on IMHO.

Here’s an interesting tidbit: Amazon sells lots of different ones, and I’m looking at their offerings to see what customers say about them. But I happened to notice that the “Frequently Bought Together” section usually says people buy several different brands of adapters together. I’d expect other kinds of cables or adapters, or maybe modems or GPS devices or something, and sometimes they are there too. But, most of the time, what people buy with USB - RS232 adapters is other brands of USB - RS232 adapters!

Another oddity: these things are usually called “USB to serial adapters”, which is nutty. USB is already serial, without any adapter.

Sorry I can’t really help with the actual question, but are you only trying USB <-> RS232? What about, say, a cardbus or expresscard device that provides an rs232? I would think something like that would give you a real dedicated rs232 port instead of trying to use the usb hub.

What are some of the adapters you’ve tried? I see that some usb doodads seem to be just physical converters whereas others seem to have more actual processing going on inside. Truly a bewildering selection of them, tho.

I had to look into this recently when I got some hardware that was supposedly picky about adapters. A developer of some software I was using tested several adapters and said that FTDI chipsets work better than Prolific chipsets, but most of them don’t have any information about their chipsets so that may not help much. The developer said this one was the only one that he used that gave no problems whatsoever. I actually ended up getting one from Office Depot or Office Max just to try it without waiting several days to get one shipped. It worked fine for me, so I’ve stayed with it. Ativa was the brand name, but I don’t know what chipset it uses and I don’t know if the chipset matters for everyone or just the particular hardware/software I was using.

I tried a PCMCIA RS232 port also recommended by IT, which reported it installed correctly but gave no signal with Hyperterminal and crashed RealTerm.

I have a CP Technologies CP-US-03. It’s the one that locks Hyperterminal when I try to start text capture with a signal on the line.

I didn’t keep the others. They were brands I didn’t recognize. The selection is bewildering, certainly, especially considering what a tiny fraction of the manufacturers I recognize.

You have to check the hardware and software conventions used by both ends of the connection. RS232 wiring has a lot of variance. The cable is not reversable, one side has to be configured as a DTE (Data Terminal Equipment) and the other side as a DCE (Data Circuit-terminating Equipment). There are different handshake modes that can be used, in the wiring. Pins in either connector can be shorted to force the hardwire handshaking. In software there are different conventions for controlling data transmission, the most common is the use of Ctl-Q and Ctl-S for XON and XOFF handshaking. You just need an RS232 breakout box and some way to capture the data stream from both ends, and the ability to modify the communication software to solve any of these problems (of course that last part about modifying the software may not be possible).

I use these all the time.
The ones that use the Prolific 2303 chipset work fine in both OS X and Windows XP. I’ve also had good luck with some of the FTDI chipsets. The Prolific devices are nice because there is an open-source driver for OS X.

I’ve used over a dozen different ones over the years for some very intensive 115200 baud usage (debugging embedded hardware). All but one fail in spectacular ways if you need to transfer large amounts of data without flow control – and losing bits often places them in completely irrecoverable states where all the consecutive bytes are screwed up. The only one I found that works well is the following one (I have no affiliation with the manufacturer or the vendor)

http://www.dontronics-shop.com/easysync-premium-gold-usb-rs232-adapter-cable-1-meter-cable.html

Hope this helps.

Thanks, all.

One thing that would help is a hardware device that could display the RS232 ASCII strings sent into it and also could periodically send out a test string. I sometimes use instruments that constantly output updated values, and I have some of those little passthrough devices with LEDs on them, but nothing very convenient or versatile. What do you call these sorts of devices and where can I search for them? The web searches I have tried seem to turn up nothing but freeware port monitoring programs for PCs.

They’re called, among other things, an RS232 monitors. Usually its easiest to get a computer with 2 RS232 ports and write some code to do the monitoring and tests. Actually, you can do it with your computer, just get 2 USB RS232 adaptors…

This onehas worked consistently for me on XP, Vista and Win7.

We develop software that communicates with machinery and we tried several USB to Serial cables. I got most of them to work on XP, but so far the one in the link is the only one that has worked consistently on Win7. Of course, my sample set is small - must my dev boxes, my tester’s boxes and a set up in London.

Hey, neat! I gotta try that!

Google “RS232 monitor” and I get “What is RS232 monitor? It is a program that can send and receive data through the serial port.”

Google “RS232 signal generator” and I get just two web sites. One is in Japanese, and the other begins “Free rs232 pins signal Download at WareSeeker.com - Customize your personal projects with icons of totem animals.”

Here’s a useful program for OS X (free): http://homepage.mac.com/chen/w7ay/Serial%20Tools/index.html

If you are really serious about a piece of hardware, just cobble something together with a microcontroller and an LCD character display.

Try *RS232 Protocol Analyzer. *New ones are often costly, but you can get old ones off of eBay pretty cheaply. However, many of the older models cannot support the newer baud rates.

Added an “EasySync ES-U-1001-R10 US232R-10” to the test pile, and got Tera Term and PuTTY in addition to RealTerm and Hyperterminal as test programs. Also using two different proprietary programs that were bundled with the EasySync for use with a datalogger. I also programmed the datalogger (through its CompactFlash card) to spit a short ASCII string out its serial port once a second, so I could read something even if I couldn’t transmit. Still, the only combination that does anything is the CP Technologies CP-US-03 adapter with Hyperterminal (if I don’t try to start capturing text with the line active).

I am waiting on four different ones from Amazon. One had 7 “Average Customer Ratings” of 5 stars, and the others had dozens or hundreds of ratings of which 2 to 10% were in the 1 or 2 star bins.

But this seems pretty ridiculous. I’m running WinXP on a Dell laptop that’s only a couple months old and professionally maintained. It is probably stupid to keep trying to find things that work - I should probably maintain a second computer with a built-in serial port instead.

RS232 is commonly called “the serial port” on a PC. It goes back to the days when the other main input port was “the parallel port”.

Yes. The point is, USB is also a serial port.

(“Universal Serial Bus”, by the way.)

Yes, I get that if you take it literally “USB to serial adapter” is nonsense. However “serial port” has a specific, non-standard meaning in the context of PCs.

+1.

I have an ancient one(uses an old backscatter sony CRT) that I rescued from the dumpster. It has made me a hero on perhaps a dozen occasions. It also has a patch panel of sorts so you can experimentally determine the required cable configuration.

I will add that if Windows had ever dealt well with RS-232 ports, they probably wouldn’t be disappearing. In the DOS days, you wrote a byte to the serial port, and it got transmitted ASAP. With Windows, you give windows the data, and it might eventually get transmitted at some point. If it does get transmitted, your carefully spaced (in time) characters will be bunched into one quick burst, except for the delimiter at the end, which will be held up and used to start the next burst, which will overwhelm the receiving end because now it has to parse two messages at once.

Post DOS, there was virtually no way to control when data would come out the serial port, so it became almost essential to have some sort of handshaking, for which there were multiple standards which nobody bothered to follow anyway.

Finally, if you ever have to talk to an Allen-Bradley PLC via a USB adapter, you pretty much have to buy the overpriced A-B adapter. One more reason I hate A-B.