FX3 hang up after cold reboot.

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

cross mob
Peya_4162826
Level 2
Level 2
First like received

Hi,

Our company develop one USB2.0/3.0 testing equipment base on FX3, it simulate as a USB disk, and base on "Cypress\EZ-USB FX3 SDK\1.3\firmware\msc_examples\cyfxmscdemo"  to develop, the testing step as following:

1. FX3 create one timer

2. FX3 boot at USB2.0 mode

3. FX3 switch to USB3.0 or 2.0  when received a specified message, and record the current time.

4.  FX3 do NOT execute "CY_U3P_USB_EVENT_SETCONF" with the timer expire(The timer expiration value is 10 second), FX3 execute "CyU3PDeviceReset(CyFalse);"

the application loop to switch FX3 to USB 3.0 and 2.0, about run several hours, some times happen the timer expire, FX3 cold reboot, but FX3 hang up soon from the COM port log analysis. and OS can not get the FX3's token's package(refer to following picture, “要求装置描述元失败” in device manager).

Following is the relevant code:

....................................

   /* Create the required DMA channels. */

    CyFxMscApplnDmaInit ();

    CyU3PDebugPrint (4, "Calling USB Connect\r\n");

    /* Enable USB connection to host. SuperSpeed is not supported. */

    apiRetStatus = CyU3PConnectState (CyTrue, CyFalse);

    if (apiRetStatus != CY_U3P_SUCCESS)

    {

        CyU3PDebugPrint (4, "USB Connect failed, Error Code = %d\n",apiRetStatus);

        CyFxAppErrorHandler(apiRetStatus);

    }

DEBUG((4,"USB SPEED1=%d,%x\r\n",CyU3PUsbGetSpeed (),systemtimer));

CyU3PBusyWait (1000);

DEBUG((4,"USB SPEED1=%d,%x\r\n",CyU3PUsbGetSpeed (),systemtimer));

FX3StartConnecttime=systemtimer;

.......................................

.............................................FX3_hang_up.png

2019_05_21_08_27_58_Greenshot.png

Following is normal boot log information:

MSC DEMO - Debug Init Done

Calling USB Connect

USB SPEED1=1,0

USB SPEED1=1,0

USB event 0 received

USB event 4 received

EnterSuspendMode returned 0, wakeup reason=8

USB Set Config completed=1

USB SPEED3=2

WaitForRecv 0

0 Likes
4 Replies
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

Hi Peter,

I want to know the purpose of this application/test.

Is it acceptable that FX3 outputs error message(for example, CAN NOT find driver) but not hang up?

0 Likes

Hi Yangyang,

Our product has USB3.0 port, we need a testing equipment to verify it's 2.0/3.0 function, example, Plug FX3 to host to verify Host's 2.0 function, then switch FX3 to 3.0 to verify host's port 3.0 function,if FX3 hang up when it switch, then can not to verify host's port 3.0 function,this test application is a reliability testing.

0 Likes

Hi Yangyang,

Is it acceptable that FX3 outputs error message(for example, CAN NOT find driver) but not hang up?

    Anaser: it is NOT acceptable.

0 Likes

Hi Yangyang,

Our purpose is switching FX3 to USB2.0, do write/read file testing, then switch to 3.0, do write/read file testing. Thanks! 

0 Likes