2022-08-12 12:17:55

by 黄磊

[permalink] [raw]
Subject: [PATCH] media: uvcvideo: limit power line control for Sonix Technology

The device does not implement the power line control correctly. Add a
corresponding control mapping override.

Bus 003 Device 003: ID 3277:0072 Sonix Technology Co., Ltd. USB 2.0 Camera
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x3277
idProduct 0x0072
bcdDevice 1.00
iManufacturer 2 Sonix Technology Co., Ltd.
iProduct 1 USB 2.0 Camera
iSerial 3 REV0001
bNumConfigurations 1

Signed-off-by: huanglei <[email protected]>
---
drivers/media/usb/uvc/uvc_driver.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index 9c05776f11d1..48f4d755a584 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -3282,6 +3282,14 @@ static const struct usb_device_id uvc_ids[] = {
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
+ /* Sonix Technology USB 2.0 Camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x3277,
+ .idProduct = 0x0072,
+ .bInterfaceClass = USB_CLASS_VENDOR_SPEC,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0 },
/* Generic USB Video Class */
{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_UNDEFINED) },
{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },
--
2.17.1


No virus found
Checked by Hillstone Network AntiVirus


2022-08-12 13:57:46

by Ricardo Ribalda

[permalink] [raw]
Subject: Re: [PATCH] media: uvcvideo: limit power line control for Sonix Technology

Hi huanglei

Thanks for your patch

Don't you have to add a field:

.driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited },

to your quirk?


Regards!

On Fri, 12 Aug 2022 at 14:16, huanglei <[email protected]> wrote:
>
> The device does not implement the power line control correctly. Add a
> corresponding control mapping override.
>
> Bus 003 Device 003: ID 3277:0072 Sonix Technology Co., Ltd. USB 2.0 Camera
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 239 Miscellaneous Device
> bDeviceSubClass 2
> bDeviceProtocol 1 Interface Association
> bMaxPacketSize0 64
> idVendor 0x3277
> idProduct 0x0072
> bcdDevice 1.00
> iManufacturer 2 Sonix Technology Co., Ltd.
> iProduct 1 USB 2.0 Camera
> iSerial 3 REV0001
> bNumConfigurations 1
>
> Signed-off-by: huanglei <[email protected]>
> ---
> drivers/media/usb/uvc/uvc_driver.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index 9c05776f11d1..48f4d755a584 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -3282,6 +3282,14 @@ static const struct usb_device_id uvc_ids[] = {
> .bInterfaceSubClass = 1,
> .bInterfaceProtocol = 0,
> .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> + /* Sonix Technology USB 2.0 Camera */
> + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> + | USB_DEVICE_ID_MATCH_INT_INFO,
> + .idVendor = 0x3277,
> + .idProduct = 0x0072,
> + .bInterfaceClass = USB_CLASS_VENDOR_SPEC,
> + .bInterfaceSubClass = 1,
> + .bInterfaceProtocol = 0 },
> /* Generic USB Video Class */
> { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_UNDEFINED) },
> { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },
> --
> 2.17.1
>
>
> No virus found
> Checked by Hillstone Network AntiVirus



--
Ricardo Ribalda