0
我有以下的用例:在AOA附件檢測該應用程序已被關閉並重新打開
- 用戶連接附件電話。
- 應用程序在手機上自動啓動(這是AOA功能的一部分)。
- 應用程序和附件之間的通信繼續進行。
- 用戶關閉應用程序(通過從最近的應用程序菜單上將其刷掉)。
- 用戶再次啓動應用程序。
- 配件嘗試將數據發送到應用程序。
在第6步,我在配件上獲得USB error 7: Transfer error on bulk endpoint: Operation timed out
- 與應用程序完全沒有運行時相同!發生這種情況,即使通知應用程序UsbAccessory可用。
處理這種情況的正確方法是什麼?
謝謝,這很好。該配件正在運行Linux,因此無法爲端口供電。但是,重置工作正常。 [如何重置USB設備](http://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line) – 2014-11-14 07:33:19
Gr8。如何嘗試libusb的libusb_reset_device api? – skylinedreamer 2014-11-14 08:13:34
如果不是很明顯,我上面評論中的「如何重置USB設備」是一個鏈接。它涉及到一個StackOverflow答案如何這樣做。其中的答案是'ioctl(fd,IOCTL_USBFS_RESET,0)'系統調用,libusb([source](http://git.libusb.org/?p=libusb.git;a=blob;f)也是如此= libusb的/ OS/linux_usbfs.c; H = 0717fa0b62628ba6a12e5756929b63f5e42abf62; HB = HEAD; JS = 1個#l1399))。因此,使用哪種解決方案並不重要(除非您已經使用libusb,在這種情況下,libusb_reset_device可能更容易)。 – 2014-11-14 12:11:57