Re: Canon DSLR unhappy on USB 3.0 port (OK on 2.0)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 04, 2012 at 06:24:50PM +0100, James wrote:
> Hello,
> 
> I'm experiencing issues with Canon EOS DSLRs (60D, 400D -- both have
> USB 2.0 connections) when connected to a USB 3.0 port on my
> notebook. After connecting it, the camera seems to be recognised by
> the kernel, but is sometimes unusable by gphoto2; Nautilus never
> seems to recognise it on USB 3.0. In dmesg, immediately after
> connecting:
> 
> 
> [   72.674463] usb 3-1: new high-speed USB device number 2 using xhci_hcd
> [   72.764255] usb 3-1: New USB device found, idVendor=04a9, idProduct=3215
> [   72.764265] usb 3-1: New USB device strings: Mfr=1, Product=2,
> SerialNumber=0
> [   72.764272] usb 3-1: Product: Canon Digital Camera
> [   72.764276] usb 3-1: Manufacturer: Canon Inc.
> [   72.765264] usb 3-1: ep 0x81 - rounding interval to 32768
> microframes, ep desc says 0 microframes
> [   72.765275] usb 3-1: ep 0x2 - rounding interval to 32768
> microframes, ep desc says 0 microframes

Can you please post the output of `sudo lsusb -v -d 04a9:3215`?  Your
device is advertising an endpoint interval of zero microframes, and the
xHCI driver is setting the internally used interval to the highest
interval.  That would make interrupt or isochronous transfers take a
*very* long time.  The xHCI driver should just set the interval to one
microframe instead.

It's possible the interval issue is the root cause of your problems, so
let's get that fixed before we assume it's a libusb issue.

> Sometimes gphoto2 works, but the most consistent way I've found to
> make it fail is to run gphoto2 -L shortly after connecting (which
> might be successful), and then run it again. If this fails, there's
> a delay of a few seconds and it returns
> 
> 
> *** Error ***
> PTP I/O error
> 
> *** Error ***
> An error occurred in the io-library ('Unspecified error'): No error
> description available
> *** Error (-1: 'Unspecified error') ***
> 
> 
> and messages like
> 
> 
> usbfs: usb 3-1: process 8502 (pool) did not claim interface 0 before use

That's an issue with gphoto.  It needs to claim the interface before it
uses it.

> appear in dmesg. I have logs showing what appears in dmesg after
> enabling usbfs_snoop in both the for both USB 2.0 and USB 3.0; and
> gphoto2's debugging output. Let me know if these would be helpful
> and I'll send them (please let me know the most appropriate
> destination and format).

I need a usbmon log of the failed and successful gphoto2 runs, dmesg
with CONFIG_USB_XHCI_HCD_DEBUGGING and CONFIG_USB_DEBUG turned on, and
the usbfs_snoop log.  Please send in plain text, or if that's too big,
then send a zip file.

> Everything works fine with USB 2.0.
> 
> Versions of things:
> 
>   Distro: Fedora 17
>   Kernel 3.4

Hooray, a recent stable kernel. :)  Are you ok with building a custom
kernel if I need you to test patches?

>   gphoto2 2.4.14
>   USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller
>    (rev 04) (prog-if 30 [XHCI])
>   Camera: 04a9:3215 Canon EOS 60D, firmware up-to-date

Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux