AN75779 Debug Interface _ Driver error

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

cross mob
lock attach
Attachments are accessible only for community members.
Nzagone
Level 3
Level 3
25 sign-ins First solution authored First like received

Hello 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

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Please try replacing the attached descriptor file in the firmware and build the firmware .img.

The device is expected to enumerate as in the attached snippet. Then, the FX3 (yellow mark) in other devices needs to be binded to cyusb3 driver. Please follow the driver binding steps as in this KBA  Trouble Shooting Guide for the FX3/FX3S/CX3 Enumer... - Infineon Developer Community  

Please use the default cyusb3 driver from SDK for the above test

Regards,
Rashi

View solution in original post

0 Likes
5 Replies
lock attach
Attachments are accessible only for community members.
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Please try replacing the attached descriptor file in the firmware and build the firmware .img.

The device is expected to enumerate as in the attached snippet. Then, the FX3 (yellow mark) in other devices needs to be binded to cyusb3 driver. Please follow the driver binding steps as in this KBA  Trouble Shooting Guide for the FX3/FX3S/CX3 Enumer... - Infineon Developer Community  

Please use the default cyusb3 driver from SDK for the above test

Regards,
Rashi
0 Likes
lock attach
Attachments are accessible only for community members.
Nzagone
Level 3
Level 3
25 sign-ins First solution authored First like received

Hello Rashi,

Thank you for your reply.

With the descriptor file attached to your last message, I modified my descriptor, and the device now enumerates as FX3, exactly as shown in your screenshot _ both as a camera and as an "other device".

The correction consisted in changing the descriptor lengths for cases when the USB_DEBUG_INTERFACE condition is TRUE, which seem to be incorrect in the files available for AN75779 as per their current version on the download page (V13.00, from 2021-11-09).

In terms of code, the modifications to perform in cyuvcdscr.c are :

*Line 251, in the Standard High Speed Config. Descriptor : Length should be 0xEF, 0x00 (instead of 0xE5,0x00)

*Line 616, in the Super Speed Config. Descriptor : Length should be 0x29, 0x001 (instead of 0x1F,0x01)

 

This solved the enumeration part, as I mentioned before.

However, I still get the same issue when trying to bind the default cyusb3 driver to my FX3 device in "other devices" : an error message saying that "Driver is not intended for this platform." (see image attached to my first post).

I did read the Trouble Shooting KBA, in which the driver binding steps are slightly different ; but even when selecting the right driver for my OS, "Windows was unable to install my FX3", as it could not find drivers for my device (see attached picture). 

My hardware connections to the host are as recommended, with certified USB cables, and the enumeration process works fine except for the driver binding part, so I am not sure that the KBA will help me solve this.

 

The default cyusb3.inf driver file does not include any reference to a device with Product ID = 0x00F9, which is how the device is defined in the descriptor, and my understanding is that this might cause the device to not be compatible with the driver.

Could it be that the default driver does not support this UVC application, and if yes, is there an updated driver version that includes it ? Anyway, I would gladly take any advice related to this problem.

 

Best regards,

Enzo

0 Likes
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Glad to hear that the device enumerated  successfully!

Please try to uninstall the driver binded to FX3 (vendor interface) > the device will come up as FX3 (with yellow mark) > confirm that your are using cyusb3 driver from FX3 SDK and follow the below steps. Please check the PC configurations for binding an appropriate driver

Do the following to bind the driver manually:

1.   Right-click the device and select Update Driver Software. Choose Browse my computer for driver software.

2.   Browse to the location <Install Directory>\Cypress\EZ-USB FX3 SDK\1.3\driver\bin. The default install directory is C:\Program Files for 32-bit Windows and C:\Program Files (x86) for 64-bit Windows.

3.  Select a driver based on your Windows version and click Next. For example, the driver for 64-bit Windows 7 is located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\driver\bin\win7\x64

When the device enumerates with UVC + vendor interface - vendor interface can be binded to FX3

Regards,
Rashi
0 Likes
Nzagone
Level 3
Level 3
25 sign-ins First solution authored First like received

Hello,

I have tried these steps several times but still always get the "Driver is not intended for this platform" error.

At this point, I will just try to develop my own solution without the pre-written debug interface.

Thanks for the help though !

Regards,

Enzo

0 Likes
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Thank you for the update.

If possible you can try the following :

- Reinstall FX3 SDK

- Try plugging the device to some other PC with freshly installed FX3 SDK

Regards,
Rashi
0 Likes