Hi, I'm trying to talk to a Canon PowerShot A520 via libptp, which uses libusb. The "ptpcam" app works once, then fails after that until I dis/re-connect the camera.
open("/proc/bus/usb/001/002", O_RDWR) = 3 ioctl(3, USBDEVFS_CLAIMINTERFACE, 0xbe810c64) = 0 ioctl(3, UI_DEV_DESTROY or USBDEVFS_BULK, 0xbe8109d4) = 16 ioctl(3, UI_DEV_DESTROY or USBDEVFS_BULK, 0xbe8109c4) = -1 ETIMEDOUT (Connection timed out) write(2, "ERROR: Could not open session!\nT"..., 56ERROR: Could not open session! Try to reset the camera. ) = 56 ioctl(3, USBDEVFS_RELEASEINTERFACE, 0xbe810c68) = 0 I haven't figured out why it behaves like this, but I'm looking at usbsnoop logs to try and figure out how what the problem is. And I found this in the logs, <snippet> [1796 ms] >>> URB 6 going down >>> -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: PipeHandle = 85bcfe14 [endpoint 0x00000081] TransferFlags = 00000002 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000040 TransferBuffer = 85d0da98 TransferBufferMDL = 00000000 00000000: 00 00 00 00 00 10 00 00 00 f0 98 02 00 00 00 00 00000010: e8 e6 67 85 b0 1a 5f 85 00 00 99 02 00 00 00 00 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000030: 00 00 00 00 00 00 00 00 d8 1a 5f 85 10 e7 67 85 UrbLink = 00000000 [1807 ms] UsbSnoop - MyInternalIOCTLCompletion(f799fdb0) : fido=85c8e0d0, Irp=85cc5ab0, Context=862edfa8, IRQL=2 [1807 ms] <<< URB 6 coming back <<< -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: PipeHandle = 85bcfe14 [endpoint 0x00000081] TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 0000000c TransferBuffer = 85d0da98 TransferBufferMDL = 85c8ad90 00000000: 0c 00 00 00 03 00 01 20 00 00 00 00 UrbLink = 00000000 </snippet> What puzzles me is that TransferFlags is USBD_TRANSFER_DIRECTION_OUT going down, and USBD_TRANSFER_DIRECTION_IN coming up. Is this valid? If so, what would be the corresponding libusb call, usb_bulk_write or usb_bulk_read? -Jamie p.s. Kernel 2.6.16, libusb 0.1.11, libptp2-1.2.0dr1. The same build of ptpcam works fine (repeatably without needed to reconnect) with a Sony DSC-P50 in PTP mode. ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel