Hi,

On Friday 04 November 2011 20:05:23 cheshirekow wrote:
> On Fri, 2011-11-04 at 14:44 +0100, Laurent Pinchart wrote:
> > On Friday 04 November 2011 13:46:36 cheshirekow wrote:
> > > On Wed, 2011-11-02 at 17:38 +0100, Laurent Pinchart wrote:
> > > > On Saturday 29 October 2011 09:30:04 Alexey Fisher wrote:
> > > > > Am 28.10.2011 18:01, schrieb cheshirekow:
> > > > > > On Sun, 2011-10-23 at 13:50 -0400, cheshirekow wrote:
> > > > > >> On 10/22/2011 03:16 AM, Alexey Fisher wrote:
> > > > > >>> Can you please attach the output of this command:
> > > > > >>> lsusb -vd 10f1:1a26>  lsusb_dump
> > > > > >> 
> > > > > >> Sure. The dump file is attached.
> > > > > >> 
> > > > > >> Thanks!
> > > > > > 
> > > > > > Has anyone by chance managed to take a look at this lsusb dump?
> > > > > > 
> > > > > > To recap:
> > > > > > the HP Slate has two integrated we cams: One forward facing for
> > > > > > video calls, and one higher-resolution rear-facing for snapping
> > > > > > photos. There appears to be a single controller for both
> > > > > > cameras. In linux, lsusb only shows one webcam device. In
> > > > > > windows, the device manager also shows only one device for the
> > > > > > webcam. However, in windows applications that use the webcam
> > > > > > (i.e. HP's webcam application, and in skype) I'm able to select
> > > > > > which one to use as an option. In linux, there is only one video
> > > > > > device, /dev/video0.
> > > > > > 
> > > > > > There does not appear to be any control available from uvcdynctrl
> > > > > > or within vlc to select which physical camera to use. I've tried
> > > > > > setting the resolution in vlc when I use the "open capture
> > > > > > device" menu item. I know that the forward facing camera is VGA
> > > > > > so I tried specifying 640x480, but the result is that it shows
> > > > > > the rear-camera stream at a low resolution, rather then showing
> > > > > > the forward-camera stream.
> > > > > > 
> > > > > > I'd appreciate any suggestions on how to get the forward-facing
> > > > > > camera to work in linux (for skype/google video calls). Also, if
> > > > > > it is clear that this facility is not available in UVC and that
> > > > > > there is no way this is possilble, that would also be useful
> > > > > > information.
> > > > > > 
> > > > > > Thanks again
> > > > > 
> > > > > Hi,
> > > > > 
> > > > > suddenly i do not see any control to switch the sensor. I assume
> > > > > there can be two variants how it may work:
> > > > > 1. vendor specific extension unit for uvc
> > > > > 2. or usb mode switcher
> > > > > 
> > > > > if both sensors have same capabilities, the 1. make sense. If not
> > > > > then second. Because this usb dump report settings only for one
> > > > > sensor.
> > > > > 
> > > > > For 1. it will be probably possible to control it with libwebcam.
> > > > > For 2. it should be possible to control it with some kind of
> > > > > usb_modeswitch (i'm not up to date).
> > > > > 
> > > > > To find what it is actually, there can be fallowing options:
> > > > > 1. sniff usb traffic
> > > > > 2. see if the windows driver has some advise for us
> > > > > 3. unscrew your laptop and find what control use your webcam.
> > > > 
> > > > My guess is that the camera uses either an extension unit (XU)
> > > > control or a vendor-specific request to select between the two
> > > > sensors (which is very unfortunate, given that the UVC specification
> > > > has explicit support for dual- sensor cameras, and I would have
> > > > liked to test that code :-)).
> > > 
> > > Thanks for the information. It is unfortunate that the camera doesn't
> > > take advantage of what is already in the spec.
> > > 
> > > > Let's start with the XU control. I've attached a patch for the yavta
> > > > test application
> > > > (http://git.ideasonboard.org/?p=yavta.git;a=summary) to this e-
> > > > mail. Could you please apply it, compile the application with
> > > 
> > > Ok sure. I downloaded the test, applied the patch, and ran it with the
> > > following output:
> > > 
> > > Device /dev/video0 opened.
> > > Device `HP Webcam' on `usb-0000:00:1d.7-8' is a video capture device.
> > > XU control 0: info GET SET (0x03) 2 bytes
> > > XU control 1: info GET SET (0x03) 64 bytes
> > > XU control 2: info GET SET (0x03) 64 bytes
> > > XU control 3: info GET SET (0x03) 2 bytes
> > > XU control 4: info GET SET (0x03) 2 bytes
> > > XU control 5: info GET SET (0x03) 2 bytes
> > > XU control 6: info GET SET (0x03) 2 bytes
> > > XU control 7: info GET SET (0x03) 2 bytes
> > > Video format: YUYV (56595559) 640x480 buffer size 614400
> > 
> > Those XU controls seem to be quite generic, and are found in other
> > webcams that use the same chipset. They probably allow direct access to
> > the sensor and bridge registers.
> > 
> > More information will be needed to find out how to select the sensor. I'm
> > afraid USB sniffing in windows seems to be unavoidable. I will need a
> > trace of all USB control requests (if your USB sniffer allows filtering
> > out the isochronous transfers, please do so) sent to the device when you
> > switch from one sensor to the other one.
> 
> Ok, so I've started trying to sniff some data from windows. I've done
> this before but it was so long ago I think I forgot everything I knew
> about USB hardware stuff. Anyway, I'm trying to use usbsnoopy
> (sourceforge.net/projects/usbsnoop). I'm not sure this is working.
> 
> There are two devices listed which have a VID/PID that matches from
> device manager. One is listed as "HP Webcam" and the other "USB
> Composite Device". I installed a sniffer on both, and "restart" the
> device. Then approximately 5 seconds later I start the webcam
> application. Around 3 seconds after that the application starts showing
> images. I wait 10 seconds and then press the button to switch to the
> other input. After a few more seconds I close the application, and then
> stop the log in usbsnoopy.
> 
> However, the last event that is recorded by usbsnoopy is at about 7,8
> seconds, roughly corresponding to when the webcam started up. Nothing is
> recorded after that. I've attached the log anyway, but I suspect it is
> maybe not useful. It looks like it's not a plain text format. I'm not
> sure if the format is any kind of standard thing. It looks like
> usbsnoopy has an export option so I can send this in another format if
> it'd be better.

I'd appreciate if you could try the export option, as the binary log is not 
very useful in Linux.

> Lastly, just to do some experimentation. I tried opening the camera from
> two separate applications in windows. If I open the HP Webcam
> application it shows the image from the rear camera (I don't press the
> button to switch input), and then I open skype's video settings and
> select the VGA camera. When I do this the image in the other application
> changes to that of the forward facing camera, and then freezes. Skype
> never actually displays anything while doing this. Anyway, I'm not sure
> that information is useful in anyway but there it is.

-- 
Regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
Linux-uvc-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to