Announcements

Register now for the most anticipated Asia Pacific Power Seminar 2022

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

USB superspeed peripherals Forum Discussions

Flute
Level 2
10 replies posted First solution authored 25 sign-ins
Level 2

CYUSB3014 意外中断传输后不重启设备不刷新USB连接如何恢复传输?

We have such a requirement: When CYUSB3014 is transmitting data in SuperSpeed mode, the USB is disconnected (for example, the USB cable is unplugged and the power supply is not interrupted), and then the USB is restored. The customer hopes that CYUSB3014 can recover the data transmission without causing the Windows Device Manager to refresh the device. It is not required to recover the data that failed to be transmitted, but only that the new data can be successfully transmitted after the USB connection is restored. Now we only know the method of calling CyU3PDeviceReset method to recover the transmission. This method causes the Windows Device Manager to refresh, which does not meet the customer's requirements. Ask for directions. Thank you.

我们有这样的一个需求:CYUSB3014正在SuperSpeed模式下高速传输数据时USB断开连接(比如拔插USB线,供电未中断),随后USB恢复连接。客户希望CYUSB3014能够在不造成Windows设备管理器刷新设备的情况下恢复数据传输,不要求恢复传输失败的数据,只要求USB恢复连接后新的数据能够成功传输。我们现在只知道调用CyU3PDeviceReset方法恢复传输的方法,此方法造成Windows设备管理器刷新,不符合客户需求。请求指点。谢谢。

0 Likes
1 Solution
Flute
Level 2
10 replies posted First solution authored 25 sign-ins
Level 2

关于问题更多的细节:客户认为Windows设备管理器不应该刷新2次,应该只刷新1次,即只有拔插USB线造成1次刷新。我们遇到的问题是调用CyU3PDeviceReset方法造成Windows设备管理器第2次刷新。如果不调用CyU3PDeviceReset函数,我们就不知道有什么办法恢复CYUSB3014的数据传输。如果调用CyU3PDeviceReset函数,我们就遇到第一次传输失败的问题(后续的传输没有问题)。关于第一次传输失败的原因,我们的分析认为CYUSB3014没有清空上次传输失败的数据。我们尝试过调用CyU3PUsbResetEndpointMemories函数和CyU3PUsbResetEp函数,但没有解决问题。请指点。

More details about the problem: The customer thinks that the windows device manager should not be refreshed twice, but only once, that is, only one refresh is caused by unplugging the USB cable. The problem we encountered was that calling the CyU3PDeviceReset method caused the windows device manager to refresh for the second time. If we do not call the CyU3PDeviceReset function, we do not know how to recover the data transmission of CYUSB3014. If the CyU3PDeviceReset function is called, we will encounter the problem that the first transfer fails (the subsequent transfer is OK). As for the reason for the first transmission failure, our analysis shows that CYUSB3014 does not clear the data that failed in the last transmission. We tried to call the CyU3PUsbResetEndpointMemories function and the CyU3PUsbResetEp function, but the problem was not solved. Please point out.

View solution in original post

0 Likes
2 Replies
AliAsgar
Moderator
Moderator 50 likes received 500 replies posted 250 replies posted
Moderator

Hi,

As I understand, customer has a self powered FX3 device. When FX3 is disconnected from the host on the USB side, and reconnected back, the windows device manager should not get refreshed.

Is my understanding is correct, if yes, I do not think that will be possible, because according to USB spec, whenever a USB device is getting connected to the host PC, the host requests for descriptors and identifies the device based on these descriptors.

So the Windows device manager always get refreshed when a USB device is reconnected physically.

If my understanding is wrong, please let me know the customer requirement in more detail.

Best Regards,
AliAsgar

0 Likes
Flute
Level 2
10 replies posted First solution authored 25 sign-ins
Level 2

关于问题更多的细节:客户认为Windows设备管理器不应该刷新2次,应该只刷新1次,即只有拔插USB线造成1次刷新。我们遇到的问题是调用CyU3PDeviceReset方法造成Windows设备管理器第2次刷新。如果不调用CyU3PDeviceReset函数,我们就不知道有什么办法恢复CYUSB3014的数据传输。如果调用CyU3PDeviceReset函数,我们就遇到第一次传输失败的问题(后续的传输没有问题)。关于第一次传输失败的原因,我们的分析认为CYUSB3014没有清空上次传输失败的数据。我们尝试过调用CyU3PUsbResetEndpointMemories函数和CyU3PUsbResetEp函数,但没有解决问题。请指点。

More details about the problem: The customer thinks that the windows device manager should not be refreshed twice, but only once, that is, only one refresh is caused by unplugging the USB cable. The problem we encountered was that calling the CyU3PDeviceReset method caused the windows device manager to refresh for the second time. If we do not call the CyU3PDeviceReset function, we do not know how to recover the data transmission of CYUSB3014. If the CyU3PDeviceReset function is called, we will encounter the problem that the first transfer fails (the subsequent transfer is OK). As for the reason for the first transmission failure, our analysis shows that CYUSB3014 does not clear the data that failed in the last transmission. We tried to call the CyU3PUsbResetEndpointMemories function and the CyU3PUsbResetEp function, but the problem was not solved. Please point out.

0 Likes