Re: new UVC thermal camera vid:pid and quirk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ricardo,

On Monday, July 22nd, 2024 at 6:15 PM, Ricardo Ribalda <ribalda@xxxxxxxxxxxx> wrote:
> 
> Hi BrettRD
> 
> Thanks for your report.
> 
> Do you want to give it a try at sending a patch for the device?
> 
> It looks something like this:
> https://lore.kernel.org/linux-media/20221101-easycam-v3-1-2c9881a7a4f7@xxxxxxxxxxxx/
 
I'd love to, I'm still reading up on how to build modules under Debian
A first attempt is attached, I'll send it standalone once I've tested it.

> Make sure the vid:pids are alphabetically ordered.

Thanks! I wouldn't have noticed that, the struct is inserted in vid:pid order
 
> Regards!
> 
> On Fri, 19 Jul 2024 at 07:55, BrettRD brett@xxxxxxxxxxx wrote:
> 
> > Hello,
> > 
> > I have a device not listed among the UVC supported devices, '2bdf:0102 HIK Camera', It's sold as a "mini640" thermal camera.
> > 
> > It needs the quirk 'UVC_QUIRK_PROBE_MINMAX' before it runs happily under gstreamer using v4l2src, no errors for all reported resolutions.
> > 
> > Attached is the libusb output from it, and the v4l2_compliance report generated without the quirk applied. (with quirk=2 it reports no failures)
> > 
> > Thanks for a great driver and documentation
> > Brett
> 
> --
> Ricardo Ribalda

Cheers,
Brett
From 2c602982c98f48f06ec9c6106506f6e8120ee887 Mon Sep 17 00:00:00 2001
From: Brett Downing <brett@xxxxxxxxxxx>
Date: Fri, 26 Jul 2024 15:16:11 +1000
Subject: [PATCH 1/1] media: uvcvideo: Add quirk for Mini640 Thermal Camera

The thermal camera "2bdf:0102 HIK Camera" sold as a "Mini640"
long-wave infrared camera crashes Cheese and errors under gstreamer's
v4l2src missing both TRY_FMT and VIDIOC_S_FMT

Using the quirk UVC_QUIRK_PROBE_MINMAX yields a clean v4l2-compliance report
and allows streaming at all supported resolutions under gstreamer

Signed-off-by: Brett Downing <brett@xxxxxxxxxxx>
---
 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 f0febdc08c2d..5420e74d8666 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -2991,6 +2991,15 @@ static const struct usb_device_id uvc_ids[] = {
 	  .bInterfaceSubClass	= 1,
 	  .bInterfaceProtocol	= 0,
 	  .driver_info		= UVC_INFO_QUIRK(UVC_QUIRK_FORCE_BPP) },
+	/* HIK Camera (Mini640 Thermal Camera) */
+	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
+				| USB_DEVICE_ID_MATCH_INT_INFO,
+	  .idVendor		= 0x2bdf,
+	  .idProduct		= 0x0102,
+	  .bInterfaceClass	= USB_CLASS_VIDEO,
+	  .bInterfaceSubClass	= 1,
+	  .bInterfaceProtocol	= 0,
+	  .driver_info		= UVC_INFO_QUIRK(UVC_QUIRK_PROBE_MINMAX) },
 	/* Insta360 Link */
 	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
 				| USB_DEVICE_ID_MATCH_INT_INFO,
-- 
2.39.2


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux