Hi,
I've written a custom bootloader for the CYUSB3014-BZXC using the Cypress Boot API. We've been using this bootloader without issue for the past couple of months. However, someone recently plugged the board into a USB 3.1 host controller using a USB 2.0 cable. Upon doing so we discovered that in USB 2.0 mode the device stops responding to standard requests after being suspended and then resumed. The traffic on the USB bus was captured with an Ellisys EX350 and shows the following transactions:
1. get device descriptor (success)
2. set address (success)
3. get device descriptor (success)
4. get configuration descriptor (success)
5. get BOS ddescriptor (success)
6. get serial number descriptor (success)
7. get language ID descriptor (success)
8. get product descriptor (success)
9. set configuration 1 (success)
10. LPM transaction (success)
11. Suspended
12. Resume
13. get language ID descriptor x 6 (failure)
14. get manufacturer descriptor x 6 (failure)
15. get product descriptor x 6 (failure)
UART Debug message prints from the firmware show the following:
Initializing FX3 Boot Firmware 1.6
Boot FW Event: CY_FX3_BOOT_USB_IN_SS_DISCONNECT
Boot FW Event: CY_FX3_BOOT_USB_SUSPEND
Boot FW Event: CY_FX3_BOOT_USB_RESET
Boot FW Event: CY_FX3_BOOT_USB_RESET
Boot FW Event: CY_FX3_BOOT_USB_RESUME
Are there any special actions that the firmware must take when it receives CY_FX3_BOOT_USB_SUSPEND or CY_FX3_BOOT_USB_RESUME in order to get the FX3 to ACK the control requests that take place after the the suspend and resume operations?
We also seem to experience the same problem when running the application firmware (uses Cypress full API) when the device is plugged in with a USB 2.0 cable. The bus activity is similar:
1. get device descriptor (success)
2. set address (success)
3. get device descriptor (success)
4. get configuration descriptor (success)
5. get BOS ddescriptor (success)
6. get serial number descriptor (success)
7. get language ID descriptor (success)
8. get product descriptor (success)
9. LPM transaction (success)
10. Suspended
11. Resume
12. set configuration 1 x 3 (failure)
13. Suspended
So the same question applies for the application firmware: what steps must we take in firmware in order for control transfers to succeed after the device has been suspended and then resumed?
Some other information that you may find useful:
Operating system: Windows 10
Host Controller: Asmedia ASM3142
Hub: none
I appreciate any help you can provide.
Thanks,
Michael
Hi,
within the AN75779 firmware i have already make it work well in win10(not work well when transfer video 2560*1024@25fps) and it can't work in linux.
I want to know what else should be changed to make sure the firmware work well in both windows and linux. and it seems I didn't use the full bandwidth in win10(350MBps),what should i do to transfer video(2560*1024@25fps) in SS mode?
Show Less
Hi: I used the solution provided by this link. After download the img, two FX3 unknown devices appears in device manager.
But when I update the driver , pop the message" i can't find the driver".
Is the program is tested?
Show Less
When I use cyfxuartlpregmode.c to test UART send and receive, I found if I do not use "CyU3PUartSetTimeout (1, 50000);" :
1. the SuperSpeed Explorer Kit still works but slower (ok to me)
2. the program should send "VRS" and receive "20181114" about two times a second, but sometimes, it loses "1114" (about 200 - 3000 times, it will happen once)
So, my question is, why did this happen? and more importantly, how to choose the readLoopCnt and writeLoopCnt value?
-------------------------------------------------
uartConfig.baudRate = CY_U3P_UART_BAUDRATE_9600;
uartConfig.isDma = CyFalse;
io_cfg.isDQ32Bit = CyTrue;
io_cfg.lppMode = CY_U3P_IO_MATRIX_LPP_DEFAULT;
-------------------------------------------------
Show Less
Hi infineon team,
I port my source code ( build using 1.3.1) to 1.3.4 SDK. Upon compiling my code, I get an error message such as SYS_MEM overflowed by 37624 bytes. For this issue, I have modified the fx.ld and cyfxtx.c files. Due to this modification, I need to reduce the UVC_STREAM_BUFF size (previously we used 36KB). But if i reduced the UVC_STREAM_BUFF size, i am facing GET_BUFF_FAILED issue as mentioned in this community link.
As all of our products use 36KB as the standard UVC_STREAM_BUFF size. Currently we are unable to port our code to 1.3.4 SDK.
Our expectation for SDK 1.3.5 is to have some lesser library size. So that I can maintain 36 KB as UVC_STREAM_BUFF size when I port from SDK 1.3.1 to SDK 1.3.5. Please comment on this.
Reagrds ,
Rakesh
@AliAsgar @Rashi_Vatsa @KandlaguntaR_36
Show Lesshi
my application need to add new feature that device should enumerate as CDROM device that can autorun our software when device plug in.
Is there any example of cdrom device that i can reference?
and due my application already used i2c/gpif/uart peripheral. can i put our software(few kb) in ram that fx3 will load the software when start up without communication peripheral
Show Less
Hi,
I am working on cyclone 10 gx development board and cypress cyusb3kit-003. I have programmed cypress superspeed board with SF_loopback.img file which was given in AN65974 folder. I have programmed fpga with below file slaveFIFO2b_loopback.sof and may find setting file regarding fpga slaveFIFO2b_loopback.qsf in below file. I am not able to send bulk file to the fpga.
Show LessHello Infineon community !
As I currently try to work with the Debug interface by following the steps described in section 5.9 of AN75779, I get error messages from my Device Manager when updating the driver.
The code compiles without issue, as I litterally just uncommented #define USB_DEBUG_INTERFACE in uvc.h. After uploading to my EZ-USB FX3 kit, it appears as an unknown USB device with an invalid configuration descriptor, which is expected in the Application Note.
However, updating the driver by following the instructions from p.54 to 57 results in my Device Manager declaring that :
"Driver is not intended for this platform." (see attached picture)
Since AN75779 mentioned that "XP users will have to modify the .inf file to include the VID/PID..."(P.54), I also tried to have a look in the cyusb3.inf corresponding to my OS (Win10 x64).
It turns out that the VID and PID included in the descriptors for the project were not listed in the .inf file, so I edited it to include them :
;Adding VID/PID for UVC_AN75779 Application : Standard (F8) & SuperSpeed (F9)
%VID_04B4&PID_00F8.DeviceDesc%=CyUsb3, USB\VID_04B4&PID_00F8
%VID_04B4&PID_00F9.DeviceDesc%=CyUsb3, USB\VID_04B4&PID_00F9
;Adding VID/PID for UVC_AN75779 Application : Standard (F8) & SuperSpeed (F9)
VID_04B4&PID_00F8.DeviceDesc="Cypress FX3 USB UVC AN75779 Standard"
VID_04B4&PID_00F9.DeviceDesc="Cypress FX3 USB UVC AN75779 SuperSpeed"
However, even though the UVC AN75779 Standard / SuperSpeed do appear in the list of available models on this driver, I got a new error message on the Device Manager at the end of the update, saying :
"The hash for the file is not present in the specified catalog file. The file is likely corrupt or the victim of tampering". (see attached picture)
It makes sense because I have indeed modified the .inf file. But that still does not solve my driver-updating issue, and now I am afraid of modifying source files any more in case it might mess up the driver.
I re-downloaded the AN75779 project from the official website, tried the update with either x64 and x86 filesfor Windows 10, with and without file edit, and with other models than "Cypress USB StreamerExample" as shown in the AN. No success so far.
Could anyone please help me with this ?
Best regards,
Enzo
Show LessI have implemented a U3V camera with FX3014, but the CMOS sensor has DVP parallel interface. In order to use MIPI or LVDS CIS with high resolution, I plan to take FPGA to be a bridge from CMOS sensor to FX3014. where to find a similar project to it? it is enough even it is a UVC solution, I can study it for my design.
I am familiar with AN75779 for UVC, and I have review the doc AN65974, in which a solution with FX3 Slave FIFO is described, but it has not CMOS sensor interface besides transfer packets to FX3; in the post"UVC Firmware for FX3 FPGA Industrial Camera Demo Kit - KBA229407", it is a introduce about UVC demo without source code disclosure. It has little help for me to design a camera.
Show LessThe problem for the Intel PCH out of the USB3.0 device connected to this device,in the first link can be normal link on,
when the PCH closed the USB3.0 port and then open again, can not identify the device, only re-hardware reset can be,
we want to know there are other ways to solve this problem
CPU: Intel's EAGLE STREAM
Operating system: Linux 7.8
Show Less