[Linux-uvc-devel] Dual sensor, single controller, one USB Device (was: report of UVC device and request for info)
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 Bus 001 Device 006: ID 10f1:1a26 Importek Device Descriptor: bLength18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize064 idVendor 0x10f1 Importek idProduct 0x1a26 bcdDevice2.37 iManufacturer 1 Importek iProduct2 HP Webcam iSerial 3 Dual Sensor bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 1001 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Association: bLength 8 bDescriptorType11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 0 VideoControl Interface Descriptor: bLength13 bDescriptorType36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.00 wTotalLength 77 dwClockFrequency 30.00MHz bInCollection 1 baInterfaceNr( 0) 1 VideoControl Interface Descriptor: bLength18 bDescriptorType36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Camera Sensor bAssocTerminal 0 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength0 bControlSize 3 bmControls 0x000e Auto-Exposure Mode Auto-Exposure Priority Exposure Time (Absolute) VideoControl Interface Descriptor: bLength26 bDescriptorType36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 2 guidExtensionCode {92423946-d10c-e34a-8783-3133f9eaaa3b} bNumControl 3 bNrPins 1 baSourceID( 0) 1 bControlSize1 bmControls( 0) 0xff iExtension 0 VideoControl Interface Descriptor: bLength11 bDescriptorType36 bDescriptorSubtype 5 (PROCESSING_UNIT) Warning: Descriptor too short bUnitID 3 bSourceID 2 wMaxMultiplier 0 bControlSize2 bmControls 0x177f Brightness Contrast Hue Saturation Sharpness Gamma White Balance Temperature Backlight Compensation Gain Power
Re: [Linux-uvc-devel] report of UVC device and request for info
Sorry to bump, but I haven't gotten any reply. Is there anyone who has any experience with a dual/camera setup... forward + rear facing (similar to a smartphone). From reading the manpage on lsusb, it appears that all usb devices are listed: even those that don't have drivers. Because there is no second device listed in lsusb, I suspect that 10f1:1a26 is in fact *both* the forward facing and rear facing camera. This suggests to me there must be a way to tell the device *which* physical camera to use for input. Alternatively, perhaps the single device publishes two separate streams. Perhaps this is not part of UVC. Is there anything in the UVC spec that provides an interface for switching between two inputs/streams on the same USB device? Is there anything in the linux UVC driver that allows for this? Thanks On Mon, 2011-10-17 at 19:35 -0400, cheshirekow wrote: Hello UVC devs, I've got an HP Slate 500 that I've installed Ubuntu on. It has two web-cams: one forward facing and one rear facing. I want to report that the rear-facing camera works quite well with the UVC driver. Perhaps you may want to add it to your list of working devices. Here's some info from lsusb. Bus 001 Device 006: ID 10f1:1a26 Importek Device Descriptor: bLength18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize064 idVendor 0x10f1 Importek idProduct 0x1a26 bcdDevice2.37 iManufacturer 1 Importek iProduct2 HP Webcam iSerial 3 Dual Sensor bNumConfigurations 1 Unfortunately, the forward-facing camera isn't working at all. There is only one /dev/video device which is the rear facing one. I'm not all that experienced in these things but it doesn't appear that the forward facing camera is listed with lsusb (I've identified all the devices which are). I noticed this Dual Sensor line from the above, so perhaps the two cameras are in fact incorporated into a single device? Could that be the case? If so, is it possible to activate the forward facing camera, or is this too unusual to be handled by the UVC Driver? Thanks! ___ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
Re: [Linux-uvc-devel] report of UVC device and request for info
On Fri, 2011-10-21 at 08:15 -0700, Andrew Burgess wrote: On 10/21/2011 07:25:45 AM, cheshirekow wrote: Sorry to bump, but I haven't gotten any reply. Is there anyone who has any experience with a dual/camera setup... forward + rear facing (similar to a smartphone). From reading the manpage on lsusb, it appears that all usb devices are listed: even those that don't have drivers. Because there is no second device listed in lsusb, I suspect that 10f1:1a26 is in fact *both* the forward facing and rear facing camera. This suggests to me there must be a way to tell the device *which* physical camera to use for input. Alternatively, perhaps the single device publishes two separate streams. Perhaps this is not part of UVC. Is there anything in the UVC spec that provides an interface for switching between two inputs/streams on the same USB device? Is there anything in the linux UVC driver that allows for this? perhaps the 2nd camera is on the pci bus or an i2c bus? lspci tells the former, i don't know how to determine the latter. does dmesg show anything suspicious? Good idea. I guess I just *assumed* it would be on USB. LSPCI shows only the graphics controller stuff, the usb controllers, ISA Bridge, IDE interface, crystal HD, and network controller. dmesg didn't show anything suspicious. Grepping around syslog didn't show much either. I can see where the HP Webcam is found and where uvc logs some things about it. But there isn't anything in there about another device, or warnings about something found but without a driver or anything. it seems a little odd to me to use the same sensor for cameras pointing in different directions, wouldn't it take some mirrors or something? vga resolution cameras are probably dirt cheap. just guessing though... I wouldn't suspect that they use the same sensor. You're right that would probably be weird. I just figured that there was a single hardware controller for both physical cameras. can you take it apart far enough to see if it looks like one or two cameras? Unfortunately not. It's a tablet pc and it's got this flashy outer casing that doesn't look like I could take it apart without doing any damage. maybe one of the android phone forums would have an idea since they presumably handle phones with similar setups? Good idea, I should ask there as well. hth ___ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
Re: [Linux-uvc-devel] report of UVC device and request for info
On Fri, 2011-10-21 at 08:50 -0700, Andrew Burgess wrote: On 10/21/2011 08:35:19 AM, cheshirekow wrote: it seems a little odd to me to use the same sensor for cameras pointing in different directions, wouldn't it take some mirrors or something? vga resolution cameras are probably dirt cheap. just guessing though... I wouldn't suspect that they use the same sensor. You're right that would probably be weird. I just figured that there was a single hardware controller for both physical cameras. ah. didn't get that. perhaps try 'vlc -vv v4l2:///dev/video0' it displays a bunch of available controls; does one look like a switch? (v4l-info will also display this) anything in the vlc gui that looks like a switch? The only controls that are switches are: White Balance Temperature, Auto Exposure, Auto Priority It appears these are the same controls that are shown with uvcdynctrl -c -d /dev/video0 In particular: Brightness Contrast Saturation Hue White Balance Temperature, Auto Gamma Gain Power Line Ferquency White Balance Temperature Sharpness Backlight Compensation Exposure (Absolute) Exposure Auto Priority When I do uvcdynctrl -f -d /dev/video0 I get the following list of resolutions: 640x480 1024x768 1280x1024 320x240 160x120 1280x720 1600x1200 2048x1536 Since there are two aspect ratios, perhaps these are the two different cameras? I cant figure out how to change the resolution though. ___ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
[Linux-uvc-devel] report of UVC device and request for info
Hello UVC devs, I've got an HP Slate 500 that I've installed Ubuntu on. It has two web-cams: one forward facing and one rear facing. I want to report that the rear-facing camera works quite well with the UVC driver. Perhaps you may want to add it to your list of working devices. Here's some info from lsusb. Bus 001 Device 006: ID 10f1:1a26 Importek Device Descriptor: bLength18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize064 idVendor 0x10f1 Importek idProduct 0x1a26 bcdDevice2.37 iManufacturer 1 Importek iProduct2 HP Webcam iSerial 3 Dual Sensor bNumConfigurations 1 Unfortunately, the forward-facing camera isn't working at all. There is only one /dev/video device which is the rear facing one. I'm not all that experienced in these things but it doesn't appear that the forward facing camera is listed with lsusb (I've identified all the devices which are). I noticed this Dual Sensor line from the above, so perhaps the two cameras are in fact incorporated into a single device? Could that be the case? If so, is it possible to activate the forward facing camera, or is this too unusual to be handled by the UVC Driver? Thanks! ___ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel