Message ID | 20230115205210.20077-1-laurent.pinchart@ideasonboard.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Laurent Pinchart |
Headers |
Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from <linux-media-owner@vger.kernel.org>) id 1pH9zG-000l3Y-EL; Sun, 15 Jan 2023 20:52:18 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231462AbjAOUwP (ORCPT <rfc822;mkrufky@linuxtv.org> + 1 other); Sun, 15 Jan 2023 15:52:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231504AbjAOUwN (ORCPT <rfc822;linux-media@vger.kernel.org>); Sun, 15 Jan 2023 15:52:13 -0500 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0222613512 for <linux-media@vger.kernel.org>; Sun, 15 Jan 2023 12:52:12 -0800 (PST) Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id DC6E7308; Sun, 15 Jan 2023 21:52:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1673815931; bh=7JzGAJg+dCmukEwA1B86ELkQPjdR8PVKZ+2VY7Xqxmc=; h=From:To:Cc:Subject:Date:From; b=kisDv5h6sC/1joFLr1lq+nK3q5Ea3mQW9rVWuQGCizx3PLEk7p0JDFRcuSg/lkptn wUz+xNmeTuCoxFQGJ5auHZ2naWeLtvZDZgTzD4Okot8lcQdxtm/IpkS38P2lwG9lq1 pTZL4+kI1U7f7LZSsiQYnfw9hx3WCaDURfTusSag= From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> To: linux-media@vger.kernel.org Cc: Giuliano Lotta <giuliano.lotta@gmail.com>, Ricardo Ribalda <ribalda@chromium.org> Subject: [PATCH] media: uvcvideo: Force UVC version to 1.0a for 0408:4035 Date: Sun, 15 Jan 2023 22:52:10 +0200 Message-Id: <20230115205210.20077-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.38.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-media.vger.kernel.org> X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -2.5 (--) X-LSpam-Report: No, score=-2.5 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1 autolearn=ham autolearn_force=no |
Series |
media: uvcvideo: Force UVC version to 1.0a for 0408:4035
|
|
Commit Message
Laurent Pinchart
Jan. 15, 2023, 8:52 p.m. UTC
The Quanta ACER HD User Facing camera reports a UVC 1.50 version, but implements UVC 1.0a as shown by the UVC probe control being 26 bytes long. Force the UVC version for that device. Reported-by: Giuliano Lotta <giuliano.lotta@gmail.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- Giuliano, I believe you've successfully tested this patch. If so, could you reply with a Tested-by tag ? Just copying the following in your reply will do: Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ 1 file changed, 11 insertions(+) base-commit: fd957081cff04668f390c6f290bdcc7fc009a0f1
Comments
Hi Laurent On Sun, 15 Jan 2023 at 21:52, Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > > The Quanta ACER HD User Facing camera reports a UVC 1.50 version, but > implements UVC 1.0a as shown by the UVC probe control being 26 bytes > long. Force the UVC version for that device. Don't we also want to include 4035:4033 ? I am curious about the PowerLine Control (does it have one?) will it behave like 1.1 or 1.5 Would it be possible to get the output with uvc_debug enabled? Regards! > > Reported-by: Giuliano Lotta <giuliano.lotta@gmail.com> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > > Giuliano, I believe you've successfully tested this patch. If so, could > you reply with a Tested-by tag ? Just copying the following in your > reply will do: > > Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > index 1a186abeb4fa..742eeaff333e 100644 > --- a/drivers/media/usb/uvc/uvc_driver.c > +++ b/drivers/media/usb/uvc/uvc_driver.c > @@ -2429,6 +2429,17 @@ static const struct usb_device_id uvc_ids[] = { > .bInterfaceSubClass = 1, > .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, > + /* Quanta ACER HD User Facing */ > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > + | USB_DEVICE_ID_MATCH_INT_INFO, > + .idVendor = 0x0408, > + .idProduct = 0x4035, > + .bInterfaceClass = USB_CLASS_VIDEO, > + .bInterfaceSubClass = 1, > + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > + .driver_info = (kernel_ulong_t)&(const struct uvc_device_info){ > + .uvc_version = 0x010a, > + } }, > /* LogiLink Wireless Webcam */ > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > | USB_DEVICE_ID_MATCH_INT_INFO, > > base-commit: fd957081cff04668f390c6f290bdcc7fc009a0f1 > -- > Regards, > > Laurent Pinchart > -- Ricardo Ribalda
Hi Ricardo, On Mon, Jan 16, 2023 at 02:05:28PM +0100, Ricardo Ribalda wrote: > On Sun, 15 Jan 2023 at 21:52, Laurent Pinchart wrote: > > > > The Quanta ACER HD User Facing camera reports a UVC 1.50 version, but > > implements UVC 1.0a as shown by the UVC probe control being 26 bytes > > long. Force the UVC version for that device. > > Don't we also want to include 4035:4033 ? I've asked for the lsusb output for that device, I'll send a separate patch when I get it. > I am curious about the PowerLine Control (does it have one?) will it > behave like 1.1 or 1.5 Good question. Hardcoding the version to 1.0a will not cause an error, but may prevent the auto mode from being supported. An alternative would be to automatically fall back to the UVC 1.0a video probe and commit control when the size returned by GET_CUR differs from the value expected from UVC 1.5. That would be a generic fix that won't require quirks. What do you think ? > Would it be possible to get the output with uvc_debug enabled? I'll let you tell Giuliano how to provide that :-) > > Reported-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > --- > > > > Giuliano, I believe you've successfully tested this patch. If so, could > > you reply with a Tested-by tag ? Just copying the following in your > > reply will do: > > > > Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > > > drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > > index 1a186abeb4fa..742eeaff333e 100644 > > --- a/drivers/media/usb/uvc/uvc_driver.c > > +++ b/drivers/media/usb/uvc/uvc_driver.c > > @@ -2429,6 +2429,17 @@ static const struct usb_device_id uvc_ids[] = { > > .bInterfaceSubClass = 1, > > .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > > .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, > > + /* Quanta ACER HD User Facing */ > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > > + | USB_DEVICE_ID_MATCH_INT_INFO, > > + .idVendor = 0x0408, > > + .idProduct = 0x4035, > > + .bInterfaceClass = USB_CLASS_VIDEO, > > + .bInterfaceSubClass = 1, > > + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > > + .driver_info = (kernel_ulong_t)&(const struct uvc_device_info){ > > + .uvc_version = 0x010a, > > + } }, > > /* LogiLink Wireless Webcam */ > > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > > | USB_DEVICE_ID_MATCH_INT_INFO, > > > > base-commit: fd957081cff04668f390c6f290bdcc7fc009a0f1
HI Laurent On Mon, 16 Jan 2023 at 15:12, Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > > Hi Ricardo, > > On Mon, Jan 16, 2023 at 02:05:28PM +0100, Ricardo Ribalda wrote: > > On Sun, 15 Jan 2023 at 21:52, Laurent Pinchart wrote: > > > > > > The Quanta ACER HD User Facing camera reports a UVC 1.50 version, but > > > implements UVC 1.0a as shown by the UVC probe control being 26 bytes > > > long. Force the UVC version for that device. > > > > Don't we also want to include 4035:4033 ? > > I've asked for the lsusb output for that device, I'll send a separate > patch when I get it. > > > I am curious about the PowerLine Control (does it have one?) will it > > behave like 1.1 or 1.5 > > Good question. Hardcoding the version to 1.0a will not cause an error, > but may prevent the auto mode from being supported. > > An alternative would be to automatically fall back to the UVC 1.0a video > probe and commit control when the size returned by GET_CUR differs from > the value expected from UVC 1.5. That would be a generic fix that won't > require quirks. What do you think ? That sounds good to me, but we should print a warning. At least to make the users aware that here be dragons. > > > Would it be possible to get the output with uvc_debug enabled? > > I'll let you tell Giuliano how to provide that :-) sure, you just do: sudo rmmod uvcvideo; sudo modprobe uvcvideo trace=0xffffffff and then when you run dmesg, there will be much more uvc output > > > > Reported-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > --- > > > > > > Giuliano, I believe you've successfully tested this patch. If so, could > > > you reply with a Tested-by tag ? Just copying the following in your > > > reply will do: > > > > > > Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > > > > > drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ > > > 1 file changed, 11 insertions(+) > > > > > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > > > index 1a186abeb4fa..742eeaff333e 100644 > > > --- a/drivers/media/usb/uvc/uvc_driver.c > > > +++ b/drivers/media/usb/uvc/uvc_driver.c > > > @@ -2429,6 +2429,17 @@ static const struct usb_device_id uvc_ids[] = { > > > .bInterfaceSubClass = 1, > > > .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > > > .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, > > > + /* Quanta ACER HD User Facing */ > > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > > > + | USB_DEVICE_ID_MATCH_INT_INFO, > > > + .idVendor = 0x0408, > > > + .idProduct = 0x4035, > > > + .bInterfaceClass = USB_CLASS_VIDEO, > > > + .bInterfaceSubClass = 1, > > > + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > > > + .driver_info = (kernel_ulong_t)&(const struct uvc_device_info){ > > > + .uvc_version = 0x010a, > > > + } }, > > > /* LogiLink Wireless Webcam */ > > > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > > > | USB_DEVICE_ID_MATCH_INT_INFO, > > > > > > base-commit: fd957081cff04668f390c6f290bdcc7fc009a0f1 > > -- > Regards, > > Laurent Pinchart
Hi Kolbjørn On Mon, 16 Jan 2023 at 15:16, Kolbjørn Jetne <kolbjorn@kodemaker.no> wrote: > > I have no idea about the reason for being involved in this conversation... My bad I tried finding the email of this user: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2000947/comments/22 and I thought it was you. Sorry about that! > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > Kolbjørn Jetne > Daglig leder > +47 957 45 096 > > KODEMAKER > www.kodemaker.no > > > man. 16. jan. 2023 kl. 15:12 skrev Laurent Pinchart <laurent.pinchart@ideasonboard.com>: >> >> Hi Ricardo, >> >> On Mon, Jan 16, 2023 at 02:05:28PM +0100, Ricardo Ribalda wrote: >> > On Sun, 15 Jan 2023 at 21:52, Laurent Pinchart wrote: >> > > >> > > The Quanta ACER HD User Facing camera reports a UVC 1.50 version, but >> > > implements UVC 1.0a as shown by the UVC probe control being 26 bytes >> > > long. Force the UVC version for that device. >> > >> > Don't we also want to include 4035:4033 ? >> >> I've asked for the lsusb output for that device, I'll send a separate >> patch when I get it. >> >> > I am curious about the PowerLine Control (does it have one?) will it >> > behave like 1.1 or 1.5 >> >> Good question. Hardcoding the version to 1.0a will not cause an error, >> but may prevent the auto mode from being supported. >> >> An alternative would be to automatically fall back to the UVC 1.0a video >> probe and commit control when the size returned by GET_CUR differs from >> the value expected from UVC 1.5. That would be a generic fix that won't >> require quirks. What do you think ? >> >> > Would it be possible to get the output with uvc_debug enabled? >> >> I'll let you tell Giuliano how to provide that :-) >> >> > > Reported-by: Giuliano Lotta <giuliano.lotta@gmail.com> >> > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >> > > --- >> > > >> > > Giuliano, I believe you've successfully tested this patch. If so, could >> > > you reply with a Tested-by tag ? Just copying the following in your >> > > reply will do: >> > > >> > > Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> >> > > >> > > drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ >> > > 1 file changed, 11 insertions(+) >> > > >> > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c >> > > index 1a186abeb4fa..742eeaff333e 100644 >> > > --- a/drivers/media/usb/uvc/uvc_driver.c >> > > +++ b/drivers/media/usb/uvc/uvc_driver.c >> > > @@ -2429,6 +2429,17 @@ static const struct usb_device_id uvc_ids[] = { >> > > .bInterfaceSubClass = 1, >> > > .bInterfaceProtocol = UVC_PC_PROTOCOL_15, >> > > .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, >> > > + /* Quanta ACER HD User Facing */ >> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE >> > > + | USB_DEVICE_ID_MATCH_INT_INFO, >> > > + .idVendor = 0x0408, >> > > + .idProduct = 0x4035, >> > > + .bInterfaceClass = USB_CLASS_VIDEO, >> > > + .bInterfaceSubClass = 1, >> > > + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, >> > > + .driver_info = (kernel_ulong_t)&(const struct uvc_device_info){ >> > > + .uvc_version = 0x010a, >> > > + } }, >> > > /* LogiLink Wireless Webcam */ >> > > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE >> > > | USB_DEVICE_ID_MATCH_INT_INFO, >> > > >> > > base-commit: fd957081cff04668f390c6f290bdcc7fc009a0f1 >> >> -- >> Regards, >> >> Laurent Pinchart
Hi Giuliano On Mon, 16 Jan 2023 at 15:31, Giuliano Lotta <giuliano.lotta@gmail.com> wrote: > > Hi Ricardo, > I have a 4035:4035 (not the 4035:4033 ); > if it may help , I could manage to have the debug info from this camera. > > BUT to get uvc_debug enabled, which > -specific #define adn/or variable > -specific c/h file > > should we set ? no need to change any code. Just do: sudo rmmod uvcvideo; sudo modprobe uvcvideo trace=0xffffffff then get some frames yavta --capture=3 /dev/video0 then run dmesg Thanks! > > BR > Giuliano > > Il giorno lun 16 gen 2023 alle ore 14:05 Ricardo Ribalda <ribalda@chromium.org> ha scritto: > > > > Hi Laurent > > > > On Sun, 15 Jan 2023 at 21:52, Laurent Pinchart > > <laurent.pinchart@ideasonboard.com> wrote: > > > > > > The Quanta ACER HD User Facing camera reports a UVC 1.50 version, but > > > implements UVC 1.0a as shown by the UVC probe control being 26 bytes > > > long. Force the UVC version for that device. > > > > Don't we also want to include 4035:4033 ? > > > > I am curious about the PowerLine Control (does it have one?) will it > > behave like 1.1 or 1.5 > > > > Would it be possible to get the output with uvc_debug enabled? > > > > Regards! > > > > > > > > > > Reported-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > --- > > > > > > Giuliano, I believe you've successfully tested this patch. If so, could > > > you reply with a Tested-by tag ? Just copying the following in your > > > reply will do: > > > > > > Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > > > > > drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ > > > 1 file changed, 11 insertions(+) > > > > > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > > > index 1a186abeb4fa..742eeaff333e 100644 > > > --- a/drivers/media/usb/uvc/uvc_driver.c > > > +++ b/drivers/media/usb/uvc/uvc_driver.c > > > @@ -2429,6 +2429,17 @@ static const struct usb_device_id uvc_ids[] = { > > > .bInterfaceSubClass = 1, > > > .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > > > .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, > > > + /* Quanta ACER HD User Facing */ > > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > > > + | USB_DEVICE_ID_MATCH_INT_INFO, > > > + .idVendor = 0x0408, > > > + .idProduct = 0x4035, > > > + .bInterfaceClass = USB_CLASS_VIDEO, > > > + .bInterfaceSubClass = 1, > > > + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > > > + .driver_info = (kernel_ulong_t)&(const struct uvc_device_info){ > > > + .uvc_version = 0x010a, > > > + } }, > > > /* LogiLink Wireless Webcam */ > > > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > > > | USB_DEVICE_ID_MATCH_INT_INFO, > > > > > > base-commit: fd957081cff04668f390c6f290bdcc7fc009a0f1 > > > -- > > > Regards, > > > > > > Laurent Pinchart > > > > > > > > > -- > > Ricardo Ribalda
Hi Helping out Guiliano to send the tested-by, he also says that 0408:4033 should be added to this patch. On Sun, 15 Jan 2023 at 21:52, Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > > The Quanta ACER HD User Facing camera reports a UVC 1.50 version, but > implements UVC 1.0a as shown by the UVC probe control being 26 bytes > long. Force the UVC version for that device. > > Reported-by: Giuliano Lotta <giuliano.lotta@gmail.com> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> > --- > > Giuliano, I believe you've successfully tested this patch. If so, could > you reply with a Tested-by tag ? Just copying the following in your > reply will do: > > Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > index 1a186abeb4fa..742eeaff333e 100644 > --- a/drivers/media/usb/uvc/uvc_driver.c > +++ b/drivers/media/usb/uvc/uvc_driver.c > @@ -2429,6 +2429,17 @@ static const struct usb_device_id uvc_ids[] = { > .bInterfaceSubClass = 1, > .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, > + /* Quanta ACER HD User Facing */ > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > + | USB_DEVICE_ID_MATCH_INT_INFO, > + .idVendor = 0x0408, > + .idProduct = 0x4035, > + .bInterfaceClass = USB_CLASS_VIDEO, > + .bInterfaceSubClass = 1, > + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > + .driver_info = (kernel_ulong_t)&(const struct uvc_device_info){ > + .uvc_version = 0x010a, > + } }, > /* LogiLink Wireless Webcam */ > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > | USB_DEVICE_ID_MATCH_INT_INFO, > > base-commit: fd957081cff04668f390c6f290bdcc7fc009a0f1 > -- > Regards, > > Laurent Pinchart > -- Ricardo Ribalda
Hi Giuliano, On Mon, Jun 03, 2024 at 07:21:28PM +0200, Giuliano Lotta wrote: > Hi Laurent > I asked Ricardo if the driver for the uvc Quanta camera 0408:4035 was now > part of the main line of the kernel, but it seems that something happened > on the way to the merge... > > Ricardo suggested that I contact you about how to make the patch official. > > May you kindly help us on having the patch merged in the mainline kernel ? > I confirm it works for 0408:4035 (and for 0408:4033 too..) I was waiting for your Tested-by: tag. I'll add it and merge the patch for v6.11. > Il giorno lun 4 mar 2024 alle ore 09:28 Ricardo Ribalda ha scritto: > > > Hi > > > > Helping out Guiliano to send the tested-by, he also says that > > 0408:4033 should be added to this patch. > > > > On Sun, 15 Jan 2023 at 21:52, Laurent Pinchart wrote: > > > > > > The Quanta ACER HD User Facing camera reports a UVC 1.50 version, but > > > implements UVC 1.0a as shown by the UVC probe control being 26 bytes > > > long. Force the UVC version for that device. > > > > > > Reported-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > > Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > > > > --- > > > > > > Giuliano, I believe you've successfully tested this patch. If so, could > > > you reply with a Tested-by tag ? Just copying the following in your > > > reply will do: > > > > > > Tested-by: Giuliano Lotta <giuliano.lotta@gmail.com> > > > > > > drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ > > > 1 file changed, 11 insertions(+) > > > > > > diff --git a/drivers/media/usb/uvc/uvc_driver.c > > b/drivers/media/usb/uvc/uvc_driver.c > > > index 1a186abeb4fa..742eeaff333e 100644 > > > --- a/drivers/media/usb/uvc/uvc_driver.c > > > +++ b/drivers/media/usb/uvc/uvc_driver.c > > > @@ -2429,6 +2429,17 @@ static const struct usb_device_id uvc_ids[] = { > > > .bInterfaceSubClass = 1, > > > .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > > > .driver_info = > > (kernel_ulong_t)&uvc_ctrl_power_line_limited }, > > > + /* Quanta ACER HD User Facing */ > > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > > > + | USB_DEVICE_ID_MATCH_INT_INFO, > > > + .idVendor = 0x0408, > > > + .idProduct = 0x4035, > > > + .bInterfaceClass = USB_CLASS_VIDEO, > > > + .bInterfaceSubClass = 1, > > > + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, > > > + .driver_info = (kernel_ulong_t)&(const struct > > uvc_device_info){ > > > + .uvc_version = 0x010a, > > > + } }, > > > /* LogiLink Wireless Webcam */ > > > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > > > | USB_DEVICE_ID_MATCH_INT_INFO, > > > > > > base-commit: fd957081cff04668f390c6f290bdcc7fc009a0f1
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c index 1a186abeb4fa..742eeaff333e 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c @@ -2429,6 +2429,17 @@ static const struct usb_device_id uvc_ids[] = { .bInterfaceSubClass = 1, .bInterfaceProtocol = UVC_PC_PROTOCOL_15, .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, + /* Quanta ACER HD User Facing */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x0408, + .idProduct = 0x4035, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, + .driver_info = (kernel_ulong_t)&(const struct uvc_device_info){ + .uvc_version = 0x010a, + } }, /* LogiLink Wireless Webcam */ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO,