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