As you might know, SDK 1.3.1 is an older version compared to SDK 1.3.3. SDK 1.3.3 has fixes for bugs that were reported on SDK 1.3.1. Due to this reason, it is not recommended to use an older version of FX3 SDK for development.
Please let us know why you want to use an older version of FX3 SDK?
If I use the firmware which was built at SDK version 1.3.3, it fails to enumerate in some laptops (Ex : HP ELITE BOOK). While debugging I built the project with SDK version 1.3.1 with internal GPIF configuration, with this combination the firmware got enumerated in that laptop. Also we are facing a corruption issue at 2.0, while opening the UVC controls. The issue is that, the streaming got interrupted for a fraction of second while opening the UVC controls tab. These are the reason which lead us to came back to 1.3.1 SDK version. But here the issue is I cannot use my own GPIF configuration, so please guide us to solve this issue.
Can you please try building the project with SDK 1.3.4 and let us know if you are seeing the enumeration failure with SDK 1.3.4 also? As you might be knowing SDK 1.3.4 is the latest version of FX3 SDK. SDK 1.3.4 can be downloaded from the following link:
While building, make sure in the Project Properties -> C/C++ Build -> Build Variables, the FX3SDKVERSION string is 1_3_4.
Regarding your second issue, please find a snapshot of Page 8 of FX3 troubleshooting guide below:
The issue that you see is expected and is the best possible fix for another issue described in the above snapshot.
Again, it is not recommended to use an older version of FX3 SDK for development.