cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

Anonymous
Not applicable

After upgrading the SDK from 1.2.1 to 1.2.3, it looks like the BulkStream example firmware (1.2\firmware\basic_examples\cyfxbulkstreams) isn't responding to any In/Out transactions with NRDY/ERDY (as observed comparing the newer vs older hardware trace).  The firmware's AppThread is producing debug messages 1/second, but it's like the streams I/O is messed up.  With the same example build using the 1.2.1 SDK, it works beautifully.  In my app/driver, with the new firmware, the HCI is reporting an XACT error, which seems to be the correct thing to do if NRDY/ERDY is missing (1.2.1 firmware is OK).  I've attached screenshots of the HW analyzer trace of the working 1.2.1 firmware and the broken 1.2.3 firmware.  I scanned the source of the two files side by side, but couldn't see any obvious difference that would have a functional impact.

   

Is there anyone running the BulkStream example firmware with the latest 1.2.3 SDK?

   

Thanks,

   

Perry

0 Likes
Reply
2 Replies
Anonymous
Not applicable

Disabling LPM works around the issue (thanks to tech support, Harikrishnan!).  Here is the edit to the example cyfxbulkstreams.c:CyFxBulkStreamsApplnStart() that fixes the issue for me:

   

        case  CY_U3P_SUPER_SPEED:

   

+           apiRetStatus = CyU3PUsbLPMDisable();

   

+           if (apiRetStatus != CY_U3P_SUCCESS) {

   

+                 CyU3PDebugPrint (4, "CyU3PUsbLPMDisable failed, Error code = %d\n", apiRetStatus);

   

+                 CyFxAppErrorHandler (apiRetStatus);

   

+           }

   

            glIsStreams = CyTrue;

   

            size = 1024;

   

            break;

0 Likes
Reply
Anonymous
Not applicable

Hi,

   

Thanks for updating the post with solution to your problem.

   

Thanks,

   

sai krishna.

0 Likes
Reply