Backwards compatibility between older SX2 chip and newer cyusb3 drivers

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ThAl_4704151
Level 4
Level 4
25 sign-ins 25 replies posted 10 replies posted

For some context, we have an old board that uses the older SX2 chip. We've made a new board that replaces the SX2 with an FX3 and I've written firmware to make it work. The new board works great.

The thing I'm running into now is that I have the newer cyusb3 drivers installed on the machine, but the older chip worked with older cyusb drivers. Now, I can see the old board with the device manager, and when I try to connect to it, sometimes it works, and sometimes it doesn't.

As far as backwards compatibility goes, should the old board work with the new drivers, and if so, what things can I do to make it more consistent?

0 Likes
9 Replies
Meghavi
Moderator
Moderator
Moderator
250 replies posted 100 solutions authored 10 likes received

Hi,

Can you please let us know which cyusb3 driver you are using? Is it downloaded from FX3 SDK ?

Also, please confirm in older board which chip is used. SX2 or FX3? 

Regards,

Meghavi

0 Likes

Hi Meghavi,

The older board is using the SX2. I believe the cyusb3 drivers are the ones from the FX3 SDK, but I set it up a while ago, so I'm not completely sure. Just checking in the device manager, it looks like CYUSB3.sys is version 1.2.3.20.

Best regards,

Thomas

 

EDIT: Another thing I noticed is that sometimes the old board will disappear from the device manager, and when that happens, I can't connect. Sometimes it will disappear after connecting, and at that point if I try to send anything, it doesn't work.

0 Likes
Meghavi
Moderator
Moderator
Moderator
250 replies posted 100 solutions authored 10 likes received

Hi Thomas,

The driver present in the FX3 SDK can be used with SX2. 

Could you please elaborate on the issue? Please let us know if you tried binding the driver manually and faced an issue. Also, please let us know how is it enumeration in the Device Manger. 

Regards,

Meghavi

0 Likes

The way I have it set up is that on the board with the FX3, I have a "pre-enumeration" VID/PID, and I use the cyscript feature to load an image onto the FX3. When it loads the new image, it's re-enumerates with one of two VID/PID combinations. The old boards use the same combinations, so I would expect them to wind up using the same drivers. Both the pre-enumeration IDs and the other two IDs are in the INF file.

What I'm seeing is that with the new board with the FX3, shows up in the device manager and nothing strange happens. I can connect to it with my app, and everything works great. With the older SX2 boards, it shows up in the device manager briefly, and I can even connect to it and send data, but then a few minutes later, it dissappears from the device manager. After that, I can't connect to it and sending data over the existing connection fails.

While it is connected, I can check the driver details to see that it's using the CYUSB3 drivers.

0 Likes
Biren_R
Moderator
Moderator
Moderator
First question asked First like given 250 sign-ins

Hello,

can you please confirm that this same hardware work with the old driver currently so we can narrow down the issue?
And also if this is reproduced all time then please use Wireshark and capture the trace and send it so we can debug the root cause of this disconnect event.
and please usbtreeview and save XML report and share when device is enumerated.  

Regards,
Biren

0 Likes

Hi Biren,

Sorry for the delay, I took the week of Thanksgiving off, so I just saw your message. I'll get that for you as soon as I can.

Thomas

0 Likes
lock attach
Attachments are accessible only for community members.

Here's a wireshark log and usb device tree xml of the new board with the FX3 chip working fine.

I know the old board with the SX2 works with the old drivers, since that's what we're using in production, and in the other machines in the lab. I'll get you the trace and xml for an old board with the new drivers when I can find a spare board. Hopefully soon, but maybe tomorrow if I have to ask the EEs.

0 Likes
lock attach
Attachments are accessible only for community members.

Here's the wireshark logs and with the old board with the SX2 chip, which is the one that's giving me trouble with the newer drivers.

0 Likes

Hello,

I checked the logs shared but could only see that the driver binds to the device and no data transfer is done to/from the device. Please let me know the behavior of SX2 when this trace was captured.

Please let me know which host app is being used for data transfer to SX2. Kindly confirm if the device comes up as "Cypress FX2LP Streamer Example Device" in the control center. If yes, can you please share a Wire Shark trace when the device disappears when the data transfers are started from the Control center or streamer application from the FX3 SDK

Regards,
Rashi
0 Likes