We are using the FX3 chip in our design with the aim of checking the physical layer errors when USB port is under loopback test.
The firmware is based on cyfxbulklpauto example, and we have defined a vendor command to read the error counters and LNK_PHY_ERROR_STATUS and LNK_ERROR_STATUS registers.
When our device in directly connected to a USB3 port, we don't see low-level errors. However when we it is connected via CY4603 hub kit, we see many CRC-16 errors (one CRC-16 error per packet). Surprisingly, the throughput that we measure in our windows software is not affected by these errors (the measured throughput is the same as when the device is directly connected to the PC). We have also tried other hubs, but it seems this only happens with Cypress hub.