Reply
Posts: 4
Registered: ‎03-18-2013
Accepted Solution

CP2102/CP2102N compatibility

I am working on an updated hardware design for an existing device that is based on the CP2102 USB-UART bridge.  There is a bit of complication with the software that goes with this device - it wasn't written by us, and is no longer supported by the company that supplies it.  And it's really old - the versions of the SiLabs drivers and DLL that are bundled with this software date to 2008/2009.  In order for the new device to be at all useful, it has to work with this existing software, unchanged.

 

The obvious way to ensure this compatibility would be to use the exact same chip, but I see that the CP2102 is listed as not recommended for new designs.  The CP2102N is suggested as a drop-in replacement; the AN976 porting guide claims "no hardware or software changes are required".  (The application does not use baud rate aliases or breaks, which are the only listed exceptions.)  In order to verify this claim before having an expensive PCB made, I bought a CP2102N-MiniEK demo board and reconfigured it with the custom VID/PID of the old device.  When connected, the old software does detect it, but I suspect that's based on the VID/PID alone.  It is not possible to actually open the port, however, with the following message being produced in a log file:

 

UsbxSerialException: Cannot configure port, some setting was wrong. Original message: Could not set baud rate: SI_DEVICE_IO_FAILED

 

The baud rate being set is 38400.  This message is coming from deep inside a program I don't have the source code for, so I have no way of getting any further details on the error.

 

Well, maybe I configured the CP2102N wrong, or maybe the compatibility is not quite as good as I had hoped.  To help figure out which is the case, I'd like to get some clarification about what AN976 actually means by "no software changes are required".  Is it:

1. The original CP2102 drivers and DLL are supposed to be capable of recognizing and talking to the newer chip.

Or is it:

2. New drivers are required for the new chip, but they have exactly the same API as the old drivers.

 

If the answer is #2, meaning that I'll have to stick with the old CP2102 chip, I have another question: how much longer is this chip likely to be available for purchase?

Posts: 348
Registered: ‎02-26-2013

Re: CP2102/CP2102N compatibility

[ Edited ]

Hi @jasonharper,

 

First, the CP2102 is in full production, and we have no plans to discontinue its availability.


I'd like to get some clarification about what AN976 actually means by "no software changes are required".  Is it:

1. The original CP2102 drivers and DLL are supposed to be capable of recognizing and talking to the newer chip.

Or is it:

2. New drivers are required for the new chip, but they have exactly the same API as the old drivers.


My expectation is #1. To investigation this further, can you submit a support case here, and provide the software, DLL(s), and driver you are using? The first step would be reproducing this behavior.

Highlighted
Posts: 4
Registered: ‎03-18-2013

Re: CP2102/CP2102N compatibility

Well, if the CP2102 is going to continue to be available, that's the solution right there - I'll stick with that chip, and have no risk of incompatibility.

Posts: 2
Registered: ‎06-27-2017

Re: CP2102/CP2102N compatibility

Silabs,

Sorry to hijack this thread.

 

we too get an error code of SI_DEVICE_IO_FAILED when trying to set the baud rate on the new CP2102N device.

 

Any sugestions on how to troubleshoot this issue?

 

I have access to sorce code if I need to modify the PC software.

 

 

Thanks,

Troy

Posts: 348
Registered: ‎02-26-2013

Re: CP2102/CP2102N compatibility

Hi @TroyC, can you submit a support case here, and provide your driver version, DLL version(s), and minimized test code that reproduces this behavior?