我有以下用例:
- 应用程序正在手机上运行。
- 用户将配件连接到手机。
- 附件将手机置于附件模式。
- 重新连接并打开正确的 USB 端点后,附件会立即尝试向应用发送数据。
在第 4 步,我戴上USB error 7: Transfer error on bulk endpoint: Operation timed out
配件。这可能是因为应用程序尚未打开 InputStream。
处理这种情况的正确方法是什么?
我有以下用例:
在第 4 步,我戴上USB error 7: Transfer error on bulk endpoint: Operation timed out
配件。这可能是因为应用程序尚未打开 InputStream。
处理这种情况的正确方法是什么?
结果证明,解决方案是增加 USB 传输的超时时间。我正在使用 USB4Java,它的默认超时时间为 5 秒。当超时时间增加时,结果第一次传输需要 15 秒才能完成。所以我把它设置为 30 秒。
正如您可能知道的那样,USB 充其量是不稳定的,所以我会查看驱动程序和/或重新启动主机和手机的问题。这是我假设设备上的 USB 设置良好的唯一建议。
这个StackOverflow 问题有很多我会看的答案,有些不像不使用 USB3 端口那么明显。