Re: [linux-uvc-devel] HD Camera (4e45:5501) support

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

 



Hello Amila,

On Tue, Mar 05, 2019 at 04:50:47PM +0100, Amila Manoj wrote:
> Hi Laurent,
> 
> Thank you very much for the reply.
> 
> I tried it on a Windows 10 computer and it worked fine without
> installing any additional software.
> 
> Also managed to capture USB traffic on Linux (didn't capture on Windows yet).
> I don't see a lot of traffic, most of the messages are USB and USBHID
> protocol messages for GET_STATUS, SET_FEATURE, GET_DESCRIPTOR etc.
> 
> There is only one USBVIDEO protocol message for GET_CUR (0x81). Seems
> like this request fails the error "No such file or directory (-ENOENT)
> (-2). Does this sound like a bug in firmware / cause for the error we
> saw in dmesg output?

Yes, that error corresponds to the error message printed by the driver.
My guess is that Windows would send a different sequence of requests,
and the camera firmware assumes this will always be the case. The order
of the requests received from a Linux host doesn't match that, and the
firmware gets confused.

> Here's the full text of USBVIDEO request and response:
> 
> REQUEST:
> 
> Frame 86: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on
> interface 0
> USB URB
>     [Source: host]
>     [Destination: 2.13.0]
>     URB id: 0xffff89299a435600
>     URB type: URB_SUBMIT ('S')
>     URB transfer type: URB_CONTROL (0x02)
>     Endpoint: 0x80, Direction: IN
>     Device: 13
>     URB bus id: 2
>     Device setup request: relevant (0)
>     Data: not present ('<')
>     URB sec: 1551797452
>     URB usec: 468271
>     URB status: Operation now in progress (-EINPROGRESS) (-115)
>     URB length [bytes]: 34
>     Data length [bytes]: 0
>     [Response in: 87]
>     Interval: 0
>     Start frame: 0
>     Copy of Transfer Flags: 0x00000200
>     Number of ISO descriptors: 0
>     [bInterfaceClass: Video (0x0e)]
> URB setup
> bRequest: GET CUR (0x81)
> Control Selector: Probe (0x01)
> Interface: 0x01
> Entity: 0x00
> wLength: 34
> 
> RESPONSE:
> 
> Frame 87: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on
> interface 0
> USB URB
>     [Source: 2.13.0]
>     [Destination: host]
>     URB id: 0xffff89299a435600
>     URB type: URB_COMPLETE ('C')
>     URB transfer type: URB_CONTROL (0x02)
>     Endpoint: 0x80, Direction: IN
>     Device: 13
>     URB bus id: 2
>     Device setup request: not relevant ('-')
>     Data: present (0)
>     URB sec: 1551797457
>     URB usec: 587755
>     URB status: No such file or directory (-ENOENT) (-2)
>     URB length [bytes]: 0
>     Data length [bytes]: 0
>     [Request in: 86]
>     [Time from request: 5.119484000 seconds]
>     Unused Setup Header
>     Interval: 0
>     Start frame: 0
>     Copy of Transfer Flags: 0x00000200
>     Number of ISO descriptors: 0
>     [bInterfaceClass: Video (0x0e)]
> [Interface: 0x01]
> [Entity: 0x00]
> [Control Selector: Probe (0x01)]

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux