uvcvideo: add support for Oculus Rift Sensor
Subsystems (2)
PATCH 1/1 uvcvideo: add support for Oculus Rift Sensor
The Rift CV1 Sensor has bInterfaceClass set to vendor specific, so we need an entry in uvc_ids to probe it. Just as the Rift DK2 IR tracker, it misreports the pixel format as YUYV instead of Y8.
The sensor is configured with a low exposure time and high black level by default, so that only bright IR sources can be seen.
--- drivers/media/usb/uvc/uvc_driver.c | 9 +++++++++ 1 file changed, 9 insertions(+)
drivers/media/usb/uvc/uvc_driver.c +9 -0
@@ -2583,6 +2583,15 @@ static struct usb_device_id uvc_ids[] = { .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_QUIRK_FORCE_Y8 }, +/* Oculus VR Rift Sensor */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x2833, + .idProduct = 0x0211, + .bInterfaceClass = USB_CLASS_VENDOR_SPEC, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_QUIRK_FORCE_Y8 }, /* Leap Motion Controller LM-010 */ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO,
Signature · 1 line
2.10.2
Hi Philipp,
Thank you for the patch.
Quoted 8 lines · On Monday 07 Nov 2016 21:15:47 Philipp Zabel wrote:
The Rift CV1 Sensor has bInterfaceClass set to vendor specific, so we need an entry in
uvc_idsto probe it. Just as the Rift DK2 IR tracker, it misreports the pixel format as YUYV instead of Y8.The sensor is configured with a low exposure time and high black level by default, so that only bright IR sources can be seen.
Signed-off-by Philipp Zabel <[email protected]>
and applied to my tree, after fixing the conflict (see below).
Quoted 12 lines
--- drivers/media/usb/uvc/uvc_driver.c | 9 +++++++++ 1 file changed, 9 insertions(+)(quoted diff) +0
-0
b/drivers/media/usb/uvc/uvc_driver.cindex 0eaa9a9..b64bfe4 100644drivers/media/usb/uvc/uvc_driver.c +0
-0@@ -2583,6 +2583,15 @@ static struct usb_device_id uvc_ids[] = { .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_QUIRK_FORCE_Y8 },
drivers/media/usb/uvc/uvc_driver.c static struct usb_device_id uvc_ids[] = { · line 2595
Quoted 10 lines
drivers/media/usb/uvc/uvc_driver.c +9
-0+/* Oculus VR Rift Sensor */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x2833, + .idProduct = 0x0211, + .bInterfaceClass = USB_CLASS_VENDOR_SPEC, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_QUIRK_FORCE_Y8 },/* Leap Motion Controller LM-010 */
That's not in mainline, where does it come from ?
Quoted 3 lines
drivers/media/usb/uvc/uvc_driver.c +0
-0{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE|
USB_DEVICE_ID_MATCH_INT_INFO,
Signature · 3 lines
Regards, Laurent Pinchart
Hi Laurent,
Quoted 3 lines · Laurent Pinchart
Hi Philipp,
Thank you for the patch.
[...]
Quoted 3 lines
Acked-by Laurent Pinchart <[email protected]>and applied to my tree, after fixing the conflict (see below).
Thank you, sorry for the inconvenience.
I got excited to share this patch with Thibaut and forgot to properly rebase it.
Quoted 3 lines
Quoted 1 line
/* Leap Motion Controller LM-010 */That's not in mainline, where does it come from ?
That is also from my local branch of quirky USB cameras.
regards
Philipp