Received: by 2002:a05:7412:85a1:b0:e2:908c:2ebd with SMTP id n33csp148474rdh; Mon, 30 Oct 2023 17:26:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHB+0+8adSkvkqumVnQTCJi32F1IKOyiT2rzokCCybIG567/kJzjOfQ19kqZ0eD42A0cATk X-Received: by 2002:a17:903:120c:b0:1c6:3228:c2ca with SMTP id l12-20020a170903120c00b001c63228c2camr13947296plh.29.1698712001733; Mon, 30 Oct 2023 17:26:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698712001; cv=none; d=google.com; s=arc-20160816; b=kX37Phc50A7g4lUyfn0PLYzCXNw7AjA+TxcqlFVdhz+/1bOPXtzXE3uPopMgECqzOf h0Tp17p30SBo9BbVWS7Y2U+L3HI4xZjYoRFb3YTjfJ3KBmAXhjACeWy6a+cO45+6S+PT S0yCS7YwRqnDq1EVejd1O5YZXTL+HboIFtxjjm1zVXZKZHVt6e9W+C175TM4g3J+/cKi WclEdNjq2Awcdk5rew8jsRAN2hty6SuKoNogld320yv5Q/eIQQHOv8Der+sKuDP/AqrK zIvkdCyJcVELoRor9ZTE5cptUQpbjB7ZrpsplI46F5jksFZzmwp3FS0a6LrcKJbvT1gS aC8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=xsI4Jus6f7/Yn/Y9bSBBU11EQO2mifxCN53ovWn5nlo=; fh=XVGh6/f89Da/rgJtfM17mxm/LYkNA5wp7PCJEiPJ0xo=; b=FbIStkRJm7RgolEBGrU76a9b8o+knoEkE3Z2a4cpgQjLvTOMYk/qZBeuOfC2Rl1Low kdQ14d0M7tHXyByNSDlg08WGH6t1XRSUVZN77dc8lXaEXYQiEmItu52sbAi0NfnU+105 NaPE1vIDAJZZFQogpqA1At6cksrHYzHko5VX+k2a1W5pFHL5H4GU0rIjRk8a5N4l3BBK niEVGt+RE9f/ifuQmn4/hrklJHAIyhw/RMng30yGlWqKfFNopOaCtdSr2JsDPQf9qESV v9gy2NxbGWkvIs3b10Uuapop80g7we8GfJACSmN6oXGGvvh35KX9wIuD/88W3jduzcx+ JuPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=BbQZUIBz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id kh8-20020a170903064800b001b8922e82e3si160635plb.297.2023.10.30.17.26.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 17:26:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=BbQZUIBz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 6C0C480A3673; Mon, 30 Oct 2023 17:26:03 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236735AbjJaAZq (ORCPT + 99 others); Mon, 30 Oct 2023 20:25:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57144 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235371AbjJaAZo (ORCPT ); Mon, 30 Oct 2023 20:25:44 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31EDAA9; Mon, 30 Oct 2023 17:25:41 -0700 (PDT) Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 27FBC7F8; Tue, 31 Oct 2023 01:25:24 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1698711924; bh=ynIV1qvVLqM3yV2KxvQe5Zz0vNFl9SL4M5ag+8LF5j0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=BbQZUIBz/CG+LepKaeYRUw1IAFbiGNLaZUu0a/VPg+g67dLKNPaSbQiZDwNcWTrYx L1jnDyk1Xp8QCKkC2lLtsUgtxBgwnKE+sULumi7EBsv2ofP3ioMw0WCKWjJujrxyKR X3V1QLp0ORn122leyIBCLYhW+17FebaMMgTiIBx8= Date: Tue, 31 Oct 2023 02:25:45 +0200 From: Laurent Pinchart To: Ricardo Ribalda Cc: Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Yunke Cao Subject: Re: [PATCH] media: uvcvideo: Fix power line control for SunplusIT camera Message-ID: <20231031002545.GF12764@pendragon.ideasonboard.com> References: <20231028-uvc-power-v1-1-fa5c376abe78@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20231028-uvc-power-v1-1-fa5c376abe78@chromium.org> X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 30 Oct 2023 17:26:03 -0700 (PDT) Hi Ricardo, Thank you for the patch. On Sat, Oct 28, 2023 at 07:55:04AM +0000, Ricardo Ribalda wrote: > The device does not implement the power line frequenyc control s/frequenyc/frequency/ > correctly. It is a UVC 1.5 device, but implements the control as a UVC > 1.1 device. > > Add the corresponding control mapping override. > > Bus 003 Device 002: ID 2b7e:b752 SunplusIT Inc HD Camera > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.01 > bDeviceClass 239 Miscellaneous Device > bDeviceSubClass 2 > bDeviceProtocol 1 Interface Association > bMaxPacketSize0 64 > idVendor 0x2b7e > idProduct 0xb752 > bcdDevice 0.04 > iManufacturer 1 SunplusIT Inc > iProduct 2 HD Camera > iSerial 3 01.00.00 > bNumConfigurations 1 > > Cc: Yunke Cao > Signed-off-by: Ricardo Ribalda Reviewed-by: Laurent Pinchart No need to resend for the typo, I'll fix it locally. > --- > Bus 003 Device 002: ID 2b7e:b752 SunplusIT Inc HD Camera > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.01 > bDeviceClass 239 Miscellaneous Device > bDeviceSubClass 2 > bDeviceProtocol 1 Interface Association > bMaxPacketSize0 64 > idVendor 0x2b7e > idProduct 0xb752 > bcdDevice 0.04 > iManufacturer 1 SunplusIT Inc > iProduct 2 HD Camera > iSerial 3 01.00.00 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 0x0309 > bNumInterfaces 3 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0x80 > (Bus Powered) > MaxPower 500mA > Interface Association: > bLength 8 > bDescriptorType 11 > bFirstInterface 0 > bInterfaceCount 2 > bFunctionClass 14 Video > bFunctionSubClass 3 Video Interface Collection > bFunctionProtocol 0 > iFunction 4 HD Camera > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 1 Video Control > bInterfaceProtocol 1 > iInterface 4 HD Camera > VideoControl Interface Descriptor: > bLength 13 > bDescriptorType 36 > bDescriptorSubtype 1 (HEADER) > bcdUVC 1.50 > wTotalLength 0x006f > dwClockFrequency 48.000000MHz > bInCollection 1 > baInterfaceNr( 0) 1 > VideoControl Interface Descriptor: > bLength 18 > bDescriptorType 36 > bDescriptorSubtype 2 (INPUT_TERMINAL) > bTerminalID 1 > wTerminalType 0x0201 Camera Sensor > bAssocTerminal 0 > iTerminal 0 > wObjectiveFocalLengthMin 0 > wObjectiveFocalLengthMax 0 > wOcularFocalLength 0 > bControlSize 3 > bmControls 0x0020000e > Auto-Exposure Mode > Auto-Exposure Priority > Exposure Time (Absolute) > Region of Interest > VideoControl Interface Descriptor: > bLength 13 > bDescriptorType 36 > bDescriptorSubtype 5 (PROCESSING_UNIT) > bUnitID 2 > bSourceID 1 > wMaxMultiplier 16384 > bControlSize 3 > bmControls 0x0000177f > Brightness > Contrast > Hue > Saturation > Sharpness > Gamma > White Balance Temperature > Backlight Compensation > Gain > Power Line Frequency > White Balance Temperature, Auto > iProcessing 0 > bmVideoStandards 0x00 > VideoControl Interface Descriptor: > bLength 29 > bDescriptorType 36 > bDescriptorSubtype 6 (EXTENSION_UNIT) > bUnitID 3 > guidExtensionCode {0fb885c3-68c2-4547-90f7-8f47579d95fc} > bNumControls 1 > bNrInPins 1 > baSourceID( 0) 2 > bControlSize 4 > bmControls( 0) 0x04 > bmControls( 1) 0x00 > bmControls( 2) 0x00 > bmControls( 3) 0x00 > iExtension 0 > VideoControl Interface Descriptor: > bLength 29 > bDescriptorType 36 > bDescriptorSubtype 6 (EXTENSION_UNIT) > bUnitID 4 > guidExtensionCode {63610682-5070-49ab-b8cc-b3855e8d221d} > bNumControls 26 > bNrInPins 1 > baSourceID( 0) 3 > bControlSize 4 > bmControls( 0) 0xff > bmControls( 1) 0xff > bmControls( 2) 0x77 > bmControls( 3) 0x47 > iExtension 0 > VideoControl Interface Descriptor: > bLength 9 > bDescriptorType 36 > bDescriptorSubtype 3 (OUTPUT_TERMINAL) > bTerminalID 5 > wTerminalType 0x0101 USB Streaming > bAssocTerminal 0 > bSourceID 4 > iTerminal 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x87 EP 7 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0010 1x 16 bytes > bInterval 8 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 0 > bNumEndpoints 0 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > VideoStreaming Interface Descriptor: > bLength 15 > bDescriptorType 36 > bDescriptorSubtype 1 (INPUT_HEADER) > bNumFormats 2 > wTotalLength 0x01a9 > bEndpointAddress 0x81 EP 1 IN > bmInfo 0 > bTerminalLink 5 > bStillCaptureMethod 1 > bTriggerSupport 0 > bTriggerUsage 0 > bControlSize 1 > bmaControls( 0) 4 > bmaControls( 1) 0 > VideoStreaming Interface Descriptor: > bLength 11 > bDescriptorType 36 > bDescriptorSubtype 6 (FORMAT_MJPEG) > bFormatIndex 1 > bNumFrameDescriptors 6 > bFlags 1 > Fixed-size samples: Yes > bDefaultFrameIndex 1 > bAspectRatioX 0 > bAspectRatioY 0 > bmInterlaceFlags 0x00 > Interlaced stream or variable: No > Fields per frame: 1 fields > Field 1 first: No > Field pattern: Field 1 only > bCopyProtect 0 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 7 (FRAME_MJPEG) > bFrameIndex 1 > bmCapabilities 0x01 > Still image supported > wWidth 1280 > wHeight 720 > dwMinBitRate 442368000 > dwMaxBitRate 442368000 > dwMaxVideoFrameBufferSize 1843200 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 7 (FRAME_MJPEG) > bFrameIndex 2 > bmCapabilities 0x01 > Still image supported > wWidth 640 > wHeight 480 > dwMinBitRate 147456000 > dwMaxBitRate 147456000 > dwMaxVideoFrameBufferSize 614400 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 7 (FRAME_MJPEG) > bFrameIndex 3 > bmCapabilities 0x01 > Still image supported > wWidth 640 > wHeight 360 > dwMinBitRate 110592000 > dwMaxBitRate 110592000 > dwMaxVideoFrameBufferSize 460800 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 7 (FRAME_MJPEG) > bFrameIndex 4 > bmCapabilities 0x01 > Still image supported > wWidth 352 > wHeight 288 > dwMinBitRate 48660480 > dwMaxBitRate 48660480 > dwMaxVideoFrameBufferSize 202752 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 7 (FRAME_MJPEG) > bFrameIndex 5 > bmCapabilities 0x01 > Still image supported > wWidth 320 > wHeight 240 > dwMinBitRate 36864000 > dwMaxBitRate 36864000 > dwMaxVideoFrameBufferSize 153600 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 7 (FRAME_MJPEG) > bFrameIndex 6 > bmCapabilities 0x01 > Still image supported > wWidth 176 > wHeight 144 > dwMinBitRate 12165120 > dwMaxBitRate 12165120 > dwMaxVideoFrameBufferSize 50688 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 6 > bDescriptorType 36 > bDescriptorSubtype 13 (COLORFORMAT) > bColorPrimaries 1 (BT.709,sRGB) > bTransferCharacteristics 1 (BT.709) > bMatrixCoefficients 4 (SMPTE 170M (BT.601)) > VideoStreaming Interface Descriptor: > bLength 27 > bDescriptorType 36 > bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) > bFormatIndex 2 > bNumFrameDescriptors 6 > guidFormat {32595559-0000-0010-8000-00aa00389b71} > bBitsPerPixel 16 > bDefaultFrameIndex 1 > bAspectRatioX 0 > bAspectRatioY 0 > bmInterlaceFlags 0x00 > Interlaced stream or variable: No > Fields per frame: 2 fields > Field 1 first: No > Field pattern: Field 1 only > bCopyProtect 0 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 1 > bmCapabilities 0x01 > Still image supported > wWidth 1280 > wHeight 720 > dwMinBitRate 147456000 > dwMaxBitRate 147456000 > dwMaxVideoFrameBufferSize 1843200 > dwDefaultFrameInterval 1000000 > bFrameIntervalType 1 > dwFrameInterval( 0) 1000000 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 2 > bmCapabilities 0x01 > Still image supported > wWidth 640 > wHeight 480 > dwMinBitRate 147456000 > dwMaxBitRate 147456000 > dwMaxVideoFrameBufferSize 614400 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 3 > bmCapabilities 0x01 > Still image supported > wWidth 640 > wHeight 360 > dwMinBitRate 110592000 > dwMaxBitRate 110592000 > dwMaxVideoFrameBufferSize 460800 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 4 > bmCapabilities 0x01 > Still image supported > wWidth 352 > wHeight 288 > dwMinBitRate 48660480 > dwMaxBitRate 48660480 > dwMaxVideoFrameBufferSize 202752 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 5 > bmCapabilities 0x01 > Still image supported > wWidth 320 > wHeight 240 > dwMinBitRate 36864000 > dwMaxBitRate 36864000 > dwMaxVideoFrameBufferSize 153600 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 6 > bmCapabilities 0x01 > Still image supported > wWidth 176 > wHeight 144 > dwMinBitRate 12165120 > dwMaxBitRate 12165120 > dwMaxVideoFrameBufferSize 50688 > dwDefaultFrameInterval 333333 > bFrameIntervalType 1 > dwFrameInterval( 0) 333333 > VideoStreaming Interface Descriptor: > bLength 6 > bDescriptorType 36 > bDescriptorSubtype 13 (COLORFORMAT) > bColorPrimaries 1 (BT.709,sRGB) > bTransferCharacteristics 1 (BT.709) > bMatrixCoefficients 4 (SMPTE 170M (BT.601)) > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 1 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x00c0 1x 192 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 2 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x0180 1x 384 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 3 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 4 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x0280 1x 640 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 5 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x0320 1x 800 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 6 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x03b0 1x 944 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 7 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x0a80 2x 640 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 8 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x0b20 2x 800 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 9 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x0be0 2x 992 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 10 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x13c0 3x 960 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 11 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 2 Video Streaming > bInterfaceProtocol 1 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 5 > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Data > wMaxPacketSize 0x13fc 3x 1020 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 2 > bAlternateSetting 0 > bNumEndpoints 0 > bInterfaceClass 254 Application Specific Interface > bInterfaceSubClass 1 Device Firmware Update > bInterfaceProtocol 1 > iInterface 12 APP Mode > Device Firmware Upgrade Interface Descriptor: > bLength 9 > bDescriptorType 33 > bmAttributes 15 > Will Detach > Manifestation Tolerant > Upload Supported > Download Supported > wDetachTimeout 2000 milliseconds > wTransferSize 16 bytes > bcdDFUVersion 1.10 > Binary Object Store Descriptor: > bLength 5 > bDescriptorType 15 > wTotalLength 0x0029 > bNumDeviceCaps 2 > Platform Device Capability: > bLength 28 > bDescriptorType 16 > bDevCapabilityType 5 > bReserved 0 > PlatformCapabilityUUID {d8dd60df-4589-4cc7-9cd2-659d9e648a9f} > CapabilityData[0] 0x00 > CapabilityData[1] 0x00 > CapabilityData[2] 0x03 > CapabilityData[3] 0x06 > CapabilityData[4] 0x34 > CapabilityData[5] 0x03 > CapabilityData[6] 0x01 > CapabilityData[7] 0x00 > ** UNRECOGNIZED: 08 10 11 01 03 00 00 00 > Device Status: 0x0000 > (Bus Powered) > --- > drivers/media/usb/uvc/uvc_driver.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > index 08fcd2ffa727..8b2a11e40f77 100644 > --- a/drivers/media/usb/uvc/uvc_driver.c > +++ b/drivers/media/usb/uvc/uvc_driver.c > @@ -2994,6 +2994,15 @@ static const struct usb_device_id uvc_ids[] = { > .bInterfaceSubClass = 1, > .bInterfaceProtocol = 0, > .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_FORCE_BPP) }, > + /* SunplusIT Inc HD Camera */ > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > + | USB_DEVICE_ID_MATCH_INT_INFO, > + .idVendor = 0x2b7e, > + .idProduct = 0xb752, > + .bInterfaceClass = USB_CLASS_VIDEO, > + .bInterfaceSubClass = 1, > + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > + .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_uvc11 }, > /* Lenovo Integrated Camera */ > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > | USB_DEVICE_ID_MATCH_INT_INFO, > > --- > base-commit: 56567a20b22bdbf85c3e55eee3bf2bd23fa2f108 > change-id: 20231028-uvc-power-9760dede5563 -- Regards, Laurent Pinchart