1
\$\begingroup\$

I am working with some legacy PCBs containing USB-to-TTL UART adapters. The adapters are powered via the USB bus with only the transmit, receive and ground pins interconnected to the rest of the PCB. These adapters appear to Windows (7, 64-bit) as COM ports. Intermittently on powering up the system the COM port assignment of one of the boards will change. I'm trying to figure out what would cause that behavior. It seems the most likely culprit is a grounding issue since the port change mostly happens during power up and that's one of the very few electrical connections between the adapter and the rest of the board.

However, for some of these boards, moving the USB cable from one port on the PC to another will also cause a change in the COM port assignment regardless of whether or not the board is powered up.

Where should I be focusing my attention to track down this issue?

The cables are good, the drivers are up to date and the interconnects follow the manufacturers reference design.

\$\endgroup\$
1
\$\begingroup\$

It's not a hardware issue. Windows arbitrarily assigns COM port numbers whenever an FTDI FT232 part is connected, regardless of whether or not it's previously seen that particular individual device.

If your software needs to be able to reliably identify which COM port is currently assigned to a particular board, you can use the FT_Prog utility (http://www.ftdichip.com/Support/Utilities.htm) to assign a distinct serial number string to that device -- this string will be stored in the SPI serial EEPROM attached to the FT232. Then when you open the device, provide the FT_OPEN_BY_SERIAL_NUMBER option to the FT_W32_CreateFile function. See D2XX_Programmer's Guide(FT_000071): http://www.ftdichip.com/Support/Documents/ProgramGuides/D2XX_Programmer%27s_Guide(FT_000071).pdf

\$\endgroup\$
  • \$\begingroup\$ This behavior has only started recently. It's difficult to believe that we've simply been lucky in always getting the same COM port assignments across many machines for the past 12+ years. There has to be something more going on or at least a change in the way the device enumeration is playing out. Also, I'm using standard Windows serial port functions and not the D2xx libraries right now so changing over might be a bit painful. \$\endgroup\$ – Chris Ryding Mar 24 '15 at 16:22
  • \$\begingroup\$ I've seen this behavior for many years across many different windows PCs from win98 to win7pro/64... You can't rely on a USB com port always having the same com port number. \$\endgroup\$ – MarkU Mar 24 '15 at 18:21
  • \$\begingroup\$ We've done some more investigation but have never been able to pin down a "smoking gun" for the root cause. The FTDI drivers do track device serial numbers to try and reassign the same port numbers, check out the Windows registry for a listing. We believe that a mixture of USB3, USB2 and USB1.1 devices all connecting to the same southbridge on the motherboard is the most likely cause of the problems. Once we plugged in a USB3 adapter card the problem went away. \$\endgroup\$ – Chris Ryding Apr 9 '15 at 17:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.