From: susiepikachu <sa...@mi...> - 2012-07-31 02:18:22
|
Libusb is really helpful while some Android devices does not ship with USB host API. I am current developing an application that communicate with a custom cdc acm device. The activities in between include: i. application send command and the USB device reply with a feedback ii. USB device would trigger transfer of data (input) in anytime Below is the device information T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=250ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms After detaching the kernel driver, I used interface 1 and endpoint 0x02, 0x82 (bulk) for output and input respectively 2 buffers of size 0x1000 and 0 timeout bulk_in transfer are submitted for monitoring the input as well as resubmit the call-backed transfer after callback And I have a libusb_handle_events loop to handle the callback It successes sending out command and reading short feedback. However, for input monitoring, the device would either give IO error (no data read) or device disconnect (after reading a few second of data) It is strange and I have spend a lot of time on it. It would be helpful if anyone can give me any idea. Thanks! -- View this message in context: http://libusb.6.n5.nabble.com/libusb-USB-device-auto-disconnect-tp5710358.html Sent from the LibUSB Dev mailing list archive at Nabble.com. |