linux-uvc-devel Mailing List for linux-uvc (Page 2)
Linux UVC driver and tools
Brought to you by:
pinchartl
You can subscribe to this list here.
2006 |
Jan
(183) |
Feb
(152) |
Mar
(69) |
Apr
(65) |
May
(57) |
Jun
(38) |
Jul
(109) |
Aug
(77) |
Sep
(85) |
Oct
(72) |
Nov
(149) |
Dec
(68) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(183) |
Feb
(143) |
Mar
(84) |
Apr
(120) |
May
(109) |
Jun
(68) |
Jul
(88) |
Aug
(150) |
Sep
(124) |
Oct
(182) |
Nov
(131) |
Dec
(175) |
2008 |
Jan
(195) |
Feb
(260) |
Mar
(167) |
Apr
(150) |
May
(101) |
Jun
(129) |
Jul
(245) |
Aug
(64) |
Sep
(72) |
Oct
(75) |
Nov
(152) |
Dec
(135) |
2009 |
Jan
(72) |
Feb
(93) |
Mar
(107) |
Apr
(35) |
May
(59) |
Jun
(127) |
Jul
(91) |
Aug
(73) |
Sep
(79) |
Oct
(82) |
Nov
(84) |
Dec
(104) |
2010 |
Jan
(61) |
Feb
(44) |
Mar
(81) |
Apr
(74) |
May
(50) |
Jun
(58) |
Jul
(31) |
Aug
(66) |
Sep
(83) |
Oct
(68) |
Nov
(61) |
Dec
(23) |
2011 |
Jan
(88) |
Feb
(81) |
Mar
(101) |
Apr
(95) |
May
(21) |
Jun
(147) |
Jul
(56) |
Aug
(121) |
Sep
(66) |
Oct
(54) |
Nov
(119) |
Dec
(50) |
2012 |
Jan
(54) |
Feb
(67) |
Mar
(24) |
Apr
(72) |
May
(134) |
Jun
(64) |
Jul
(105) |
Aug
(50) |
Sep
(38) |
Oct
(38) |
Nov
(53) |
Dec
(43) |
2013 |
Jan
(69) |
Feb
(15) |
Mar
(25) |
Apr
(14) |
May
(10) |
Jun
(13) |
Jul
(31) |
Aug
(30) |
Sep
(44) |
Oct
(12) |
Nov
(29) |
Dec
(19) |
2014 |
Jan
(18) |
Feb
(42) |
Mar
(25) |
Apr
(11) |
May
(20) |
Jun
(15) |
Jul
(2) |
Aug
(3) |
Sep
(10) |
Oct
(22) |
Nov
(27) |
Dec
(18) |
2015 |
Jan
(19) |
Feb
(17) |
Mar
(12) |
Apr
(10) |
May
(12) |
Jun
(22) |
Jul
(7) |
Aug
(12) |
Sep
(2) |
Oct
(16) |
Nov
(3) |
Dec
(30) |
2016 |
Jan
(19) |
Feb
(10) |
Mar
(20) |
Apr
(2) |
May
(3) |
Jun
(3) |
Jul
(4) |
Aug
(5) |
Sep
(14) |
Oct
(1) |
Nov
(7) |
Dec
(19) |
2017 |
Jan
(4) |
Feb
(4) |
Mar
(5) |
Apr
(3) |
May
(1) |
Jun
(8) |
Jul
(4) |
Aug
(7) |
Sep
|
Oct
(4) |
Nov
(7) |
Dec
(2) |
2018 |
Jan
(11) |
Feb
(5) |
Mar
(4) |
Apr
(6) |
May
(6) |
Jun
(4) |
Jul
(6) |
Aug
(2) |
Sep
(3) |
Oct
(6) |
Nov
|
Dec
(2) |
2019 |
Jan
(2) |
Feb
(10) |
Mar
(6) |
Apr
|
May
(6) |
Jun
(6) |
Jul
(2) |
Aug
(4) |
Sep
(2) |
Oct
(11) |
Nov
(1) |
Dec
(1) |
2020 |
Jan
(4) |
Feb
(1) |
Mar
(5) |
Apr
(19) |
May
(18) |
Jun
(5) |
Jul
(13) |
Aug
(12) |
Sep
(7) |
Oct
(4) |
Nov
|
Dec
(1) |
2021 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
(3) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(12) |
Dec
(1) |
2022 |
Jan
(2) |
Feb
(2) |
Mar
(6) |
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Paul J. <pa...@te...> - 2021-11-04 10:30:16
|
Sorry - I am now feeling a little foolish. I decided to check with a different program in case zoom is the problem. Using vlc media player I am getting a picture, so the problem is zoom, not anything you have developed. I'm off to debug that now - please accept my apologies for the noise on the list. Rgds., Paul -------- Forwarded Message -------- Subject: Fwd: Larmtek camera issue Date: Thu, 4 Nov 2021 10:16:01 +0000 From: Paul Jewell <pa...@te...> To: lin...@li... <lin...@li...> Further to my last message: I have a gentoo based laptop which is running 5.13.8 still. When I plug the camera into it, I get the same error message about "Failed to query...", but there is a picture in the zoom client from the camera. This suggests the issue is related to something else other than the uvccamera code, and the error message is not an indication of this problem. I would still welcome any suggestions you may have! Thanks, Paul -------- Forwarded Message -------- Subject: Larmtek camera issue Date: Thu, 4 Nov 2021 10:02:43 +0000 From: Paul Jewell <pa...@te...> To: lin...@li... Good morning! First of all, I should point out that I have searched across the internet for others with this issue, but to no avail. I have a LarmTek camera USB Webcam 1080P - this is the link: www.amazon.co.uk/gp/product/B07VTPQ9NQ It worked under both Linux and Windows 10 (dual-booted - I need the latter for work from home) from the time I bought it until recently. It is permanently plugged into my desktop computer. I started the zoom client yesterday, and was greeted by a blank screen. The camera active light comes on, but no picture is available in the client. If I reboot the computer, then plug the camera in I get the following: ---------------------8<-------------------------- Nov 4 09:42:38 tristan kernel: usb 1-1: new high-speed USB device number 5 using xhci_hcd Nov 4 09:42:38 tristan kernel: usb 1-1: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice=30.00 Nov 4 09:42:38 tristan kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 4 09:42:38 tristan kernel: usb 1-1: Product: HiEthernet Nov 4 09:42:38 tristan kernel: usb 1-1: Manufacturer: Huawei Nov 4 09:42:38 tristan kernel: usb 1-1: SerialNumber: 1234567891 Nov 4 09:42:42 tristan kernel: usb 1-1: USB disconnect, device number 5 Nov 4 09:42:43 tristan kernel: usb 1-1: new high-speed USB device number 6 using xhci_hcd Nov 4 09:42:44 tristan kernel: usb 1-1: New USB device found, idVendor=12d1, idProduct=4321, bcdDevice= 4.09 Nov 4 09:42:44 tristan kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 4 09:42:44 tristan kernel: usb 1-1: Product: UVC Camera Nov 4 09:42:44 tristan kernel: usb 1-1: Manufacturer: Ruision Nov 4 09:42:44 tristan kernel: usb 1-1: SerialNumber: 20200416 Nov 4 09:42:44 tristan kernel: usb 1-1: Found UVC 1.10 device UVC Camera (12d1:4321) Nov 4 09:42:44 tristan kernel: usb 1-1: Failed to query (GET_INFO) UVC control 12 on unit 2: -32 (exp. 1). Nov 4 09:42:44 tristan kernel: input: UVC Camera: UVC Camera as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-1/1-1:1.0/input/input23 ---------------------8<-------------------------- uname -a gives: Linux tristan 5.14.15-gentoo #2 SMP Thu Nov 4 09:38:46 GMT 2021 x86_64 AMD Ryzen 9 3950X 16-Core Processor AuthenticAMD GNU/Linux - The system runs gentoo, and is up to date. - I am using OpenRC, not systemd, and for sound I am using pulseaudio (in case that is relevant). - I still have kernel images in my boot directory for 5.13.8, 5.14.6 and 5.14.9. All of these kernels have the same result. - I don't see any other error messages in my logs - The camera continues to work under Windows 10, so I don't believe it is a hardware issue. Please can you advise me how I can debug this issue? Unfortunately I am not a heavy user of the camera, so I can't pinpoint exactly when the problem started. Many thanks for your continued development of the code to manage these devices, and for supporting me with this issue. -- Paul |
From: Paul J. <pa...@te...> - 2021-11-04 10:25:08
|
Further to my last message: I have a gentoo based laptop which is running 5.13.8 still. When I plug the camera into it, I get the same error message about "Failed to query...", but there is a picture in the zoom client from the camera. This suggests the issue is related to something else other than the uvccamera code, and the error message is not an indication of this problem. I would still welcome any suggestions you may have! Thanks, Paul -------- Forwarded Message -------- Subject: Larmtek camera issue Date: Thu, 4 Nov 2021 10:02:43 +0000 From: Paul Jewell <pa...@te...> To: lin...@li... Good morning! First of all, I should point out that I have searched across the internet for others with this issue, but to no avail. I have a LarmTek camera USB Webcam 1080P - this is the link: www.amazon.co.uk/gp/product/B07VTPQ9NQ It worked under both Linux and Windows 10 (dual-booted - I need the latter for work from home) from the time I bought it until recently. It is permanently plugged into my desktop computer. I started the zoom client yesterday, and was greeted by a blank screen. The camera active light comes on, but no picture is available in the client. If I reboot the computer, then plug the camera in I get the following: ---------------------8<-------------------------- Nov 4 09:42:38 tristan kernel: usb 1-1: new high-speed USB device number 5 using xhci_hcd Nov 4 09:42:38 tristan kernel: usb 1-1: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice=30.00 Nov 4 09:42:38 tristan kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 4 09:42:38 tristan kernel: usb 1-1: Product: HiEthernet Nov 4 09:42:38 tristan kernel: usb 1-1: Manufacturer: Huawei Nov 4 09:42:38 tristan kernel: usb 1-1: SerialNumber: 1234567891 Nov 4 09:42:42 tristan kernel: usb 1-1: USB disconnect, device number 5 Nov 4 09:42:43 tristan kernel: usb 1-1: new high-speed USB device number 6 using xhci_hcd Nov 4 09:42:44 tristan kernel: usb 1-1: New USB device found, idVendor=12d1, idProduct=4321, bcdDevice= 4.09 Nov 4 09:42:44 tristan kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 4 09:42:44 tristan kernel: usb 1-1: Product: UVC Camera Nov 4 09:42:44 tristan kernel: usb 1-1: Manufacturer: Ruision Nov 4 09:42:44 tristan kernel: usb 1-1: SerialNumber: 20200416 Nov 4 09:42:44 tristan kernel: usb 1-1: Found UVC 1.10 device UVC Camera (12d1:4321) Nov 4 09:42:44 tristan kernel: usb 1-1: Failed to query (GET_INFO) UVC control 12 on unit 2: -32 (exp. 1). Nov 4 09:42:44 tristan kernel: input: UVC Camera: UVC Camera as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-1/1-1:1.0/input/input23 ---------------------8<-------------------------- uname -a gives: Linux tristan 5.14.15-gentoo #2 SMP Thu Nov 4 09:38:46 GMT 2021 x86_64 AMD Ryzen 9 3950X 16-Core Processor AuthenticAMD GNU/Linux - The system runs gentoo, and is up to date. - I am using OpenRC, not systemd, and for sound I am using pulseaudio (in case that is relevant). - I still have kernel images in my boot directory for 5.13.8, 5.14.6 and 5.14.9. All of these kernels have the same result. - I don't see any other error messages in my logs - The camera continues to work under Windows 10, so I don't believe it is a hardware issue. Please can you advise me how I can debug this issue? Unfortunately I am not a heavy user of the camera, so I can't pinpoint exactly when the problem started. Many thanks for your continued development of the code to manage these devices, and for supporting me with this issue. -- Paul |
From: Paul J. <pa...@te...> - 2021-11-04 10:20:17
|
Good morning! First of all, I should point out that I have searched across the internet for others with this issue, but to no avail. I have a LarmTek camera USB Webcam 1080P - this is the link: www.amazon.co.uk/gp/product/B07VTPQ9NQ It worked under both Linux and Windows 10 (dual-booted - I need the latter for work from home) from the time I bought it until recently. It is permanently plugged into my desktop computer. I started the zoom client yesterday, and was greeted by a blank screen. The camera active light comes on, but no picture is available in the client. If I reboot the computer, then plug the camera in I get the following: ---------------------8<-------------------------- Nov 4 09:42:38 tristan kernel: usb 1-1: new high-speed USB device number 5 using xhci_hcd Nov 4 09:42:38 tristan kernel: usb 1-1: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice=30.00 Nov 4 09:42:38 tristan kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 4 09:42:38 tristan kernel: usb 1-1: Product: HiEthernet Nov 4 09:42:38 tristan kernel: usb 1-1: Manufacturer: Huawei Nov 4 09:42:38 tristan kernel: usb 1-1: SerialNumber: 1234567891 Nov 4 09:42:42 tristan kernel: usb 1-1: USB disconnect, device number 5 Nov 4 09:42:43 tristan kernel: usb 1-1: new high-speed USB device number 6 using xhci_hcd Nov 4 09:42:44 tristan kernel: usb 1-1: New USB device found, idVendor=12d1, idProduct=4321, bcdDevice= 4.09 Nov 4 09:42:44 tristan kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 4 09:42:44 tristan kernel: usb 1-1: Product: UVC Camera Nov 4 09:42:44 tristan kernel: usb 1-1: Manufacturer: Ruision Nov 4 09:42:44 tristan kernel: usb 1-1: SerialNumber: 20200416 Nov 4 09:42:44 tristan kernel: usb 1-1: Found UVC 1.10 device UVC Camera (12d1:4321) Nov 4 09:42:44 tristan kernel: usb 1-1: Failed to query (GET_INFO) UVC control 12 on unit 2: -32 (exp. 1). Nov 4 09:42:44 tristan kernel: input: UVC Camera: UVC Camera as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-1/1-1:1.0/input/input23 ---------------------8<-------------------------- uname -a gives: Linux tristan 5.14.15-gentoo #2 SMP Thu Nov 4 09:38:46 GMT 2021 x86_64 AMD Ryzen 9 3950X 16-Core Processor AuthenticAMD GNU/Linux - The system runs gentoo, and is up to date. - I am using OpenRC, not systemd, and for sound I am using pulseaudio (in case that is relevant). - I still have kernel images in my boot directory for 5.13.8, 5.14.6 and 5.14.9. All of these kernels have the same result. - I don't see any other error messages in my logs - The camera continues to work under Windows 10, so I don't believe it is a hardware issue. Please can you advise me how I can debug this issue? Unfortunately I am not a heavy user of the camera, so I can't pinpoint exactly when the problem started. Many thanks for your continued development of the code to manage these devices, and for supporting me with this issue. -- Paul |
From: Yuriy M. K. <yu...@gm...> - 2021-10-17 15:27:46
|
On 10/03/21 02:37 , Scott K Logan wrote: > At least some of the Microsoft LifeCam series of webcams exhibit a > behavior which requires a 'quirk' to be handled properly. When > configuring the absolute exposure value of the image, there are only a > handful of values which will result in a consistent change to the image > exposure, while all other values appear to result in a maximum > exposure. > The valid values appear to follow an exponential pattern from the > maximum value (10000) down to the minimum, yielding less than 15 > possible values depending on the device's reported minimum. FTR, I have not tested patch (yet), but I checked idVendor 0x045e Microsoft Corp. idProduct 0x0810 LifeCam HD-3000 bcdDevice 1.08 iManufacturer 1 iProduct 2 iSerial 0 and it exhibit same behavior (only (1e4>>i) works, other values interpreted as max), so you may want to add chunk below > Signed-off-by: Scott K Logan <lo...@co...> > --- > drivers/media/usb/uvc/uvc_ctrl.c | 41 ++++++++++++++++++++++++++++++ > drivers/media/usb/uvc/uvc_driver.c | 18 +++++++++++++ > drivers/media/usb/uvc/uvcvideo.h | 1 + > 3 files changed, 60 insertions(+) > > diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c > index 30bfe9069a1f..2dfc70597858 100644 > --- a/drivers/media/usb/uvc/uvc_ctrl.c > +++ b/drivers/media/usb/uvc/uvc_ctrl.c > @@ -2142,6 +2142,40 @@ int uvc_ctrl_restore_values(struct uvc_device *dev) > return 0; > } > > +/* -------------------------------------------------------------------------- > + * Quirks > + */ > + > +static s32 uvc_ctrl_get_abs_exposure_exponential( > + struct uvc_control_mapping *mapping, u8 query, const u8 *data) > +{ > + s32 i; > + s32 value = uvc_get_le_value(mapping, query, data); > + > + switch (query) { > + case UVC_GET_CUR: > + case UVC_GET_MIN: > + case UVC_GET_MAX: > + case UVC_GET_DEF: > + for (i = 0; i < 14; ++i) { > + if (10000 >> i <= value) > + break; > + } > + return 14 - i; > + case UVC_GET_RES: > + return 1; > + default: > + return value; > + } > +} > + > +static void uvc_ctrl_set_abs_exposure_exponential( > + struct uvc_control_mapping *mapping, s32 value, u8 *data) > +{ > + value = 10000 >> (14 - value); > + uvc_set_le_value(mapping, value, data); > +} > + > /* -------------------------------------------------------------------------- > * Control and mapping handling > */ > @@ -2210,6 +2244,13 @@ static int __uvc_ctrl_add_mapping(struct uvc_video_chain *chain, > } > } > > + if ((chain->dev->quirks & UVC_QUIRK_EXPONENTIAL_EXPOSURE) && > + ctrl->info.selector == UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL) { > + uvc_dbg(chain->dev, CONTROL, "Applying exponential exposure quirk\n"); > + map->get = uvc_ctrl_get_abs_exposure_exponential; > + map->set = uvc_ctrl_set_abs_exposure_exponential; > + } > + > list_add_tail(&map->list, &ctrl->info.mappings); > uvc_dbg(chain->dev, CONTROL, "Adding mapping '%s' to control %pUl/%u\n", > uvc_map_get_name(map), ctrl->info.entity, > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > index 7c007426e082..fa34802dfb33 100644 > --- a/drivers/media/usb/uvc/uvc_driver.c > +++ b/drivers/media/usb/uvc/uvc_driver.c > @@ -2718,6 +2718,24 @@ static const struct usb_device_id uvc_ids[] = { > .bInterfaceSubClass = 1, > .bInterfaceProtocol = 0, > .driver_info = (kernel_ulong_t)&uvc_quirk_probe_minmax }, > + /* Microsoft Lifecam HD-5000 */ > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > + | USB_DEVICE_ID_MATCH_INT_INFO, > + .idVendor = 0x045e, > + .idProduct = 0x076d, > + .bInterfaceClass = USB_CLASS_VIDEO, > + .bInterfaceSubClass = 1, > + .bInterfaceProtocol = 0, > + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_EXPONENTIAL_EXPOSURE) }, + /* Microsoft Lifecam HD-3000 */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x045e, + .idProduct = 0x0810, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_EXPONENTIAL_EXPOSURE) }, > + /* Microsoft Lifecam Studio */ > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > + | USB_DEVICE_ID_MATCH_INT_INFO, > + .idVendor = 0x045e, > + .idProduct = 0x0772, > + .bInterfaceClass = USB_CLASS_VIDEO, > + .bInterfaceSubClass = 1, > + .bInterfaceProtocol = 0, > + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_EXPONENTIAL_EXPOSURE) }, > /* Logitech Quickcam Fusion */ > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > | USB_DEVICE_ID_MATCH_INT_INFO, > diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h > index 2e5366143b81..b6d5ae0b1c90 100644 > --- a/drivers/media/usb/uvc/uvcvideo.h > +++ b/drivers/media/usb/uvc/uvcvideo.h > @@ -209,6 +209,7 @@ > #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT 0x00000400 > #define UVC_QUIRK_FORCE_Y8 0x00000800 > #define UVC_QUIRK_FORCE_BPP 0x00001000 > +#define UVC_QUIRK_EXPONENTIAL_EXPOSURE 0x00002000 > > /* Format flags */ > #define UVC_FMT_FLAG_COMPRESSED 0x00000001 > -- > > 2.31.1 |
From: Scott K L. <lo...@co...> - 2021-10-03 02:56:01
|
At least some of the Microsoft LifeCam series of webcams exhibit a behavior which requires a 'quirk' to be handled properly. When configuring the absolute exposure value of the image, there are only a handful of values which will result in a consistent change to the image exposure, while all other values appear to result in a maximum exposure. The valid values appear to follow an exponential pattern from the maximum value (10000) down to the minimum, yielding less than 15 possible values depending on the device's reported minimum. Signed-off-by: Scott K Logan <lo...@co...> --- drivers/media/usb/uvc/uvc_ctrl.c | 41 ++++++++++++++++++++++++++++++ drivers/media/usb/uvc/uvc_driver.c | 18 +++++++++++++ drivers/media/usb/uvc/uvcvideo.h | 1 + 3 files changed, 60 insertions(+) diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c index 30bfe9069a1f..2dfc70597858 100644 --- a/drivers/media/usb/uvc/uvc_ctrl.c +++ b/drivers/media/usb/uvc/uvc_ctrl.c @@ -2142,6 +2142,40 @@ int uvc_ctrl_restore_values(struct uvc_device *dev) return 0; } +/* -------------------------------------------------------------------------- + * Quirks + */ + +static s32 uvc_ctrl_get_abs_exposure_exponential( + struct uvc_control_mapping *mapping, u8 query, const u8 *data) +{ + s32 i; + s32 value = uvc_get_le_value(mapping, query, data); + + switch (query) { + case UVC_GET_CUR: + case UVC_GET_MIN: + case UVC_GET_MAX: + case UVC_GET_DEF: + for (i = 0; i < 14; ++i) { + if (10000 >> i <= value) + break; + } + return 14 - i; + case UVC_GET_RES: + return 1; + default: + return value; + } +} + +static void uvc_ctrl_set_abs_exposure_exponential( + struct uvc_control_mapping *mapping, s32 value, u8 *data) +{ + value = 10000 >> (14 - value); + uvc_set_le_value(mapping, value, data); +} + /* -------------------------------------------------------------------------- * Control and mapping handling */ @@ -2210,6 +2244,13 @@ static int __uvc_ctrl_add_mapping(struct uvc_video_chain *chain, } } + if ((chain->dev->quirks & UVC_QUIRK_EXPONENTIAL_EXPOSURE) && + ctrl->info.selector == UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL) { + uvc_dbg(chain->dev, CONTROL, "Applying exponential exposure quirk\n"); + map->get = uvc_ctrl_get_abs_exposure_exponential; + map->set = uvc_ctrl_set_abs_exposure_exponential; + } + list_add_tail(&map->list, &ctrl->info.mappings); uvc_dbg(chain->dev, CONTROL, "Adding mapping '%s' to control %pUl/%u\n", uvc_map_get_name(map), ctrl->info.entity, diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c index 7c007426e082..fa34802dfb33 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c @@ -2718,6 +2718,24 @@ static const struct usb_device_id uvc_ids[] = { .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = (kernel_ulong_t)&uvc_quirk_probe_minmax }, + /* Microsoft Lifecam HD-5000 */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x045e, + .idProduct = 0x076d, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_EXPONENTIAL_EXPOSURE) }, + /* Microsoft Lifecam Studio */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x045e, + .idProduct = 0x0772, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_EXPONENTIAL_EXPOSURE) }, /* Logitech Quickcam Fusion */ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h index 2e5366143b81..b6d5ae0b1c90 100644 --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h @@ -209,6 +209,7 @@ #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT 0x00000400 #define UVC_QUIRK_FORCE_Y8 0x00000800 #define UVC_QUIRK_FORCE_BPP 0x00001000 +#define UVC_QUIRK_EXPONENTIAL_EXPOSURE 0x00002000 /* Format flags */ #define UVC_FMT_FLAG_COMPRESSED 0x00000001 -- 2.31.1 |
From: Scott K L. <lo...@co...> - 2021-10-03 02:55:44
|
Ever since I started using them, I've noticed that the absolute exposure control for the LifeCam webcam hasn't functioned properly. After some poking around, I managed to charactarize the behavior. To summarize, only values which follow an exponential pattern appear to result in the intended change to the webcam's image. Ideally this quirky behavior could be handled with an extension unit, but I'm not sure this behavior can be implemented there. I tested this patch with the two LifeCam webcams I have on hand. Scott K Logan (1): media: uvcvideo: Add quirk for exponential exposure drivers/media/usb/uvc/uvc_ctrl.c | 41 ++++++++++++++++++++++++++++++ drivers/media/usb/uvc/uvc_driver.c | 18 +++++++++++++ drivers/media/usb/uvc/uvcvideo.h | 1 + 3 files changed, 60 insertions(+) -- 2.31.1 |
From: Manuel T. <ton...@gm...> - 2021-06-29 19:28:18
|
Good morning/afternoon dear, I'm writing because I'm having troubles with my webcam and I followed these steps (https://www.ideasonboard.org/uvc/faq/#faq1) to try to fix it but I could not. My webcam is not working, it does not run, it shows nothing. I attach the information requested in the page. If this email is misdirected and you know the correct final linux-uvc-devel, please redirect it, I would appreciate it. Thank you very much in advance. Regards. |
From: Dominique M. <dom...@at...> - 2021-06-09 04:29:38
|
Guenter Roeck wrote on Fri, Mar 12, 2021 at 06:54:52AM -0800: > On 3/11/21 11:36 PM, Dominique MARTINET wrote: > > Guenter Roeck wrote on Thu, Sep 17, 2020 at 07:16:17PM -0700: > >> On 9/17/20 5:47 AM, Laurent Pinchart wrote: > >>> I haven't checked the mailing list, but I've found it in my inbox :-) > >>> I'm not forgetting about you, just been fairly busy recently. I still > >>> plan to try and provide an alternative implementation in the V4L2 core > >>> (in a form that I think should even be moved to the cdev core) that > >>> would fix this for all drivers. > >>> > >> Thanks for letting me know. As it turns out, this problem is responsible > >> for about 2% of all Chromebook crashes, so I'll probably not wait for > >> the series to be accepted upstream but apply it as-is to the various > >> ChromeOS kernel branches. > > > > We have a customer who reported the same issue recently, has there been > > any development? > > > > Not that I know of. We applied the series to all Chrome OS kernel branches, > and it reliably fixes the problem for us. We'd like to have the problem > fixed upstream; until that happens we'll have to carry the series forward. Thanks for confirming. Laurent, would it make sense to take the patches as they are until a better fix is ready? -- Dominique |
From: Scott K L. <lo...@co...> - 2021-05-04 19:03:45
|
At least some of the Microsoft LifeCam series of webcams exhibit a behavior which requires a 'quirk' to be handled properly. When configuring he absolute exposure value of the image, there are only a handful of values which will result in a consistent change to the image exposure, while all other values appear to result in a maximum exposure. The valid values appear to follow an exponential pattern from the maximum value (10000) down to the minimum, yielding less than 15 possible values depending on the device's reported minimum. Signed-off-by: Scott K Logan <lo...@co...> --- drivers/media/usb/uvc/uvc_ctrl.c | 42 ++++++++++++++++++++++++++++++ drivers/media/usb/uvc/uvc_driver.c | 18 +++++++++++++ drivers/media/usb/uvc/uvcvideo.h | 1 + 3 files changed, 61 insertions(+) diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c index 011e69427b7c..767c4032c35a 100644 --- a/drivers/media/usb/uvc/uvc_ctrl.c +++ b/drivers/media/usb/uvc/uvc_ctrl.c @@ -2010,6 +2010,40 @@ int uvc_ctrl_restore_values(struct uvc_device *dev) return 0; } +/* ------------------------------------------------------------------- ------- + * Quirks + */ + +static s32 uvc_ctrl_get_abs_exposure_exponential( + struct uvc_control_mapping *mapping, u8 query, const u8 *data) +{ + s32 i; + s32 value = uvc_get_le_value(mapping, query, data); + + switch (query) { + case UVC_GET_CUR: + case UVC_GET_MIN: + case UVC_GET_MAX: + case UVC_GET_DEF: + for (i = 0; i < 14; ++i) { + if (10000 >> i <= value) + break; + } + return 14 - i; + case UVC_GET_RES: + return 1; + default: + return value; + } +} + +static void uvc_ctrl_set_abs_exposure_exponential( + struct uvc_control_mapping *mapping, s32 value, u8 *data) +{ + value = 10000 >> (14 - value); + uvc_set_le_value(mapping, value, data); +} + /* ------------------------------------------------------------------- ------- * Control and mapping handling */ @@ -2069,6 +2103,14 @@ static int __uvc_ctrl_add_mapping(struct uvc_device *dev, if (map->set == NULL) map->set = uvc_set_le_value; + if ((dev->quirks & UVC_QUIRK_EXPONENTIAL_EXPOSURE) && + ctrl->info.selector == UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL) { + uvc_trace(UVC_TRACE_CONTROL, + "Applying exponential exposure quirk\n"); + map->get = uvc_ctrl_get_abs_exposure_exponential; + map->set = uvc_ctrl_set_abs_exposure_exponential; + } + list_add_tail(&map->list, &ctrl->info.mappings); uvc_trace(UVC_TRACE_CONTROL, "Adding mapping '%s' to control %pUl/%u.\n", diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c index ddb9eaa11be7..f823b201395a 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c @@ -2530,6 +2530,24 @@ static const struct usb_device_id uvc_ids[] = { .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = (kernel_ulong_t)&uvc_quirk_probe_minmax }, + /* Microsoft Lifecam HD-5000 */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x045e, + .idProduct = 0x076d, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_EXPONENTIAL_EXPOSURE) }, + /* Microsoft Lifecam Studio */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x045e, + .idProduct = 0x0772, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_EXPONENTIAL_EXPOSURE) }, /* Logitech Quickcam Fusion */ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h index a3dfacf069c4..16e9ecbb2946 100644 --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h @@ -203,6 +203,7 @@ #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT 0x00000400 #define UVC_QUIRK_FORCE_Y8 0x00000800 #define UVC_QUIRK_FORCE_BPP 0x00001000 +#define UVC_QUIRK_EXPONENTIAL_EXPOSURE 0x00002000 /* Format flags */ #define UVC_FMT_FLAG_COMPRESSED 0x00000001 -- 2.30.2 |
From: Scott K L. <lo...@co...> - 2021-05-04 18:25:27
|
Ever since I started using them, I've noticed that the absolute exposure control for the LifeCam webcam hasn't functioned properly. After some poking around, I managed to charactarize the behavior. To summarize, only values which follow an exponential pattern appear to result in the intended change to the webcam's image. Ideally this quirky behavior could be handled with an extension unit, but I'm not sure this behavior can be implemented there. I'm hoping that someone can point me to a better place to implement this quirk, but barring that, I'm sending a patch which resolved the issue for me. I only have two LifeCam webcams to test with, so those are the only two I enabled the quirk for. Looking forward to feedback on how best to solve this issue. Scott K Logan (1): media: uvcvideo: Add quirk for exponential exposure drivers/media/usb/uvc/uvc_ctrl.c | 42 ++++++++++++++++++++++++++++++ drivers/media/usb/uvc/uvc_driver.c | 18 +++++++++++++ drivers/media/usb/uvc/uvcvideo.h | 1 + 3 files changed, 61 insertions(+) |
From: schwimmlehrer <sch...@gm...> - 2021-05-03 11:20:51
|
Hello, I am trying to capture 4k images from my 3d printer to create a timelapse using Elgato Cam Link 4k and Sony a6500 attached to it (Raspberry Pi). When I call "fswebcam -r 3840x2160 test3.jpg" I get "Unable to find a compatible palette format.". I think it uses NV12 in 4k. Setting the camera to 1080p it works, no problem. Please help me how to get it to work in 4K, I would greatly appreciate it. Thank you so much. All the best Bernhard |
From: Srikar G <gsr...@gm...> - 2021-04-14 12:21:27
|
Hi, I recently bought a Logitech Brio 4K webcam and I'm facing some strange issues with it. This happens in some video conferencing software, but not in others. For example, in Zoom, when I go to Settings to check to select the camera, it turns on with the LED on the cam indicating its 'ON', but when I exit the Settings screen, the cam still remains 'ON' with the LED on it remaining on. I expect it to turn off at this point. In this state, the cam doesn't respond to '*modprobe -r uvcvideo*'. The only way out of this is to pull the cam from the USB port, wait for a couple of minutes and plug or sometimes restart the machine. In other clients like Signal desktop or in Google Meets on the browser, the cam is able to be turned on and off as expected. Can someone please help? Attached are the dmesg and lsusb logs for reference. Thanks & Regards, Srikar |
From: Jeffrey K. <jki...@co...> - 2021-03-19 11:31:31
|
I recently bought a j5 JVCU100 web cam and had to apply a quirk of 0x0104 to get it to work. Below is the output. Thanks, Jeff Mar 19 06:01:00 jupiter kernel: usb 1-9.4.4.4: USB disconnect, device number 19 Mar 19 06:01:01 jupiter kernel: usbcore: deregistering interface driver uvcvideo Mar 19 06:01:09 jupiter kernel: usbcore: registered new interface driver uvcvideo Mar 19 06:01:09 jupiter kernel: USB Video Class driver (1.1.1) Mar 19 06:01:28 jupiter kernel: usb 1-9.4.4.4: new high-speed USB device number 20 using xhci_hcd Mar 19 06:01:28 jupiter kernel: usb 1-9.4.4.4: New USB device found, idVendor=0711, idProduct=3108, bcdDevice= 0.10 Mar 19 06:01:28 jupiter kernel: usb 1-9.4.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Mar 19 06:01:28 jupiter kernel: usb 1-9.4.4.4: Product: j5 WebCam JVCU100 Mar 19 06:01:28 jupiter kernel: usb 1-9.4.4.4: Manufacturer: HD 2MP WEBCAM Mar 19 06:01:28 jupiter kernel: usb 1-9.4.4.4: SerialNumber: V20201016003RSJXF23 Mar 19 06:01:28 jupiter kernel: uvcvideo: Found UVC 1.00 device j5 WebCam JVCU100 (0711:3108) Mar 19 06:01:28 jupiter kernel: uvcvideo: Forcing device quirks to 0x104 by module parameter for testing purpose. Mar 19 06:01:28 jupiter kernel: uvcvideo: Please report required quirks to the linux-uvc-devel mailing list. Mar 19 06:01:28 jupiter kernel: input: j5 WebCam JVCU100: j5 WebCam JV as /devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9.4/1-9.4.4/1-9.4.4.4/1-9.4.4.4:1.0/input/input28 |
From: Dominique M. <dom...@at...> - 2021-03-12 08:00:52
|
Hi, Guenter Roeck wrote on Thu, Sep 17, 2020 at 07:16:17PM -0700: > On 9/17/20 5:47 AM, Laurent Pinchart wrote: > > On Wed, Sep 16, 2020 at 07:25:42PM -0700, Guenter Roeck wrote: > >> Something seems to have gone wrong with v3 of this patch series. > >> I am sure I sent it out, but I don't find it anywhere. > >> Resending. Sorry for any duplicates. > > > > I haven't checked the mailing list, but I've found it in my inbox :-) > > I'm not forgetting about you, just been fairly busy recently. I still > > plan to try and provide an alternative implementation in the V4L2 core > > (in a form that I think should even be moved to the cdev core) that > > would fix this for all drivers. > > > Thanks for letting me know. As it turns out, this problem is responsible > for about 2% of all Chromebook crashes, so I'll probably not wait for > the series to be accepted upstream but apply it as-is to the various > ChromeOS kernel branches. We have a customer who reported the same issue recently, has there been any development? I don't see anything in either uvc nor v4l2 that would address the race since this mail half a year ago (well, I could have missed it ;)) If nothing happened I'll probably backport this series as well, at which point it might make more sense to take it in until a better fix gets here then revert it... Thanks! -- Dominique |
From: Rainer D. <ml...@bo...> - 2021-02-24 22:37:41
|
Hi, I have a new USB cam showing the issues below. I added all the reports shown in http://www.ideasonboard.org/uvc/faq/ if anything is missing, please let me know. Any hint or idea on how to make the camera reliably work is very welcome. Thanks Rainer dmesg entries: [269095.515439] usb 1-8: new high-speed USB device number 7 using xhci_hcd [269095.665098] usb 1-8: New USB device found, idVendor=1d6c, idProduct=0103, bcdDevice= 0.10 [269095.665100] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [269095.665100] usb 1-8: Product: webcam [269095.665101] usb 1-8: Manufacturer: webcam [269095.665101] usb 1-8: SerialNumber: V011R007C001B005 [269095.666244] uvcvideo: Found UVC 1.00 device webcam (1d6c:0103) [269095.668093] uvcvideo: Failed to query (129) UVC probe control : -32 (exp. 26). [269095.668124] uvcvideo: Failed to initialize the device (-5). [269100.955724] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269106.080015] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269111.196308] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269112.058185] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269112.565290] usb 1-8: USB disconnect, device number 7 [269112.565575] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 echo 0xffff > /sys/module/uvcvideo/parameters/trace [269095.515439] usb 1-8: new high-speed USB device number 7 using xhci_hcd [269095.665098] usb 1-8: New USB device found, idVendor=1d6c, idProduct=0103, bcdDevice= 0.10 [269095.665100] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [269095.665100] usb 1-8: Product: webcam [269095.665101] usb 1-8: Manufacturer: webcam [269095.665101] usb 1-8: SerialNumber: V011R007C001B005 [269095.666244] uvcvideo: Found UVC 1.00 device webcam (1d6c:0103) [269095.668093] uvcvideo: Failed to query (129) UVC probe control : -32 (exp. 26). [269095.668124] uvcvideo: Failed to initialize the device (-5). [269100.955724] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269106.080015] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269111.196308] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269112.058185] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269112.565290] usb 1-8: USB disconnect, device number 7 [269112.565575] usb 1-8: 3:1: cannot set freq 48000 to ep 0x89 [269178.403619] usb 1-8: new high-speed USB device number 8 using xhci_hcd [269178.557378] usb 1-8: New USB device found, idVendor=1d6c, idProduct=0103, bcdDevice= 0.10 [269178.557384] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [269178.557388] usb 1-8: Product: webcam [269178.557391] usb 1-8: Manufacturer: webcam [269178.557394] usb 1-8: SerialNumber: V011R007C001B005 [269178.558843] uvcvideo: Probing generic UVC device 8 [269178.559055] uvcvideo: Found format MJPEG. [269178.559061] uvcvideo: - 1920x1080 (30.0 fps) [269178.559064] uvcvideo: - 2560x1440 (30.0 fps) [269178.559066] uvcvideo: - 320x240 (30.0 fps) [269178.559069] uvcvideo: - 640x360 (30.0 fps) [269178.559071] uvcvideo: - 640x480 (30.0 fps) [269178.559073] uvcvideo: - 800x600 (30.0 fps) [269178.559076] uvcvideo: - 960x720 (30.0 fps) [269178.559078] uvcvideo: - 1024x576 (30.0 fps) [269178.559080] uvcvideo: - 1280x720 (30.0 fps) [269178.559083] uvcvideo: - 1920x1080 (30.0 fps) [269178.559085] uvcvideo: - 2560x1440 (30.0 fps) [269178.559087] uvcvideo: - 1920x1080 (30.0 fps) [269178.559090] uvcvideo: Found format H.264. [269178.559093] uvcvideo: - 1920x1080 (30.0 fps) [269178.559095] uvcvideo: - 2560x1440 (30.0 fps) [269178.559098] uvcvideo: - 320x240 (30.0 fps) [269178.559100] uvcvideo: - 640x360 (30.0 fps) [269178.559102] uvcvideo: - 640x480 (30.0 fps) [269178.559105] uvcvideo: - 800x600 (30.0 fps) [269178.559107] uvcvideo: - 960x720 (30.0 fps) [269178.559109] uvcvideo: - 1024x576 (30.0 fps) [269178.559112] uvcvideo: - 1280x720 (30.0 fps) [269178.559114] uvcvideo: - 1920x1080 (30.0 fps) [269178.559117] uvcvideo: - 2560x1440 (30.0 fps) [269178.559119] uvcvideo: - 1920x1080 (30.0 fps) [269178.559121] uvcvideo: Found format YUV 4:2:2 (YUYV). [269178.559123] uvcvideo: - 1280x720 (30.0 fps) [269178.559126] uvcvideo: - 320x240 (30.0 fps) [269178.559128] uvcvideo: - 640x360 (30.0 fps) [269178.559130] uvcvideo: - 800x600 (30.0 fps) [269178.559133] uvcvideo: - 960x720 (30.0 fps) [269178.559135] uvcvideo: - 1024x576 (30.0 fps) [269178.559138] uvcvideo: - 1280x720 (30.0 fps) [269178.559140] uvcvideo: - 1280x720 (30.0 fps) [269178.559150] uvcvideo: Found a Status endpoint (addr 81). [269178.559154] uvcvideo: Found UVC 1.00 device webcam (1d6c:0103) [269178.559163] uvcvideo: Added control 00000000-0000-0000-0000-000000000001/2 to device 8 entity 1 [269178.559328] uvcvideo: Adding mapping 'Exposure, Auto' to control 00000000-0000-0000-0000-000000000001/2. [269178.559333] uvcvideo: Added control 00000000-0000-0000-0000-000000000001/4 to device 8 entity 1 [269178.559469] uvcvideo: Adding mapping 'Exposure (Absolute)' to control 00000000-0000-0000-0000-000000000001/4. [269178.559473] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/2 to device 8 entity 2 [269178.559738] uvcvideo: Adding mapping 'Brightness' to control 00000000-0000-0000-0000-000000000101/2. [269178.559750] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/3 to device 8 entity 2 [269178.559923] uvcvideo: Adding mapping 'Contrast' to control 00000000-0000-0000-0000-000000000101/3. [269178.559932] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/7 to device 8 entity 2 [269178.560070] uvcvideo: Adding mapping 'Saturation' to control 00000000-0000-0000-0000-000000000101/7. [269178.560074] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/8 to device 8 entity 2 [269178.560267] uvcvideo: Adding mapping 'Sharpness' to control 00000000-0000-0000-0000-000000000101/8. [269178.560274] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/10 to device 8 entity 2 [269178.560464] uvcvideo: Adding mapping 'White Balance Temperature' to control 00000000-0000-0000-0000-000000000101/10. [269178.560471] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/4 to device 8 entity 2 [269178.560801] uvcvideo: Adding mapping 'Gain' to control 00000000-0000-0000-0000-000000000101/4. [269178.560808] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/5 to device 8 entity 2 [269178.561147] uvcvideo: Adding mapping 'Power Line Frequency' to control 00000000-0000-0000-0000-000000000101/5. [269178.561153] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/11 to device 8 entity 2 [269178.561346] uvcvideo: Adding mapping 'White Balance Temperature, Auto' to control 00000000-0000-0000-0000-000000000101/11. [269178.561353] uvcvideo: Scanning UVC chain: OT 4 <- XU 3 <- PU 2 <- IT 1 [269178.561366] uvcvideo: Found a valid video chain (1 -> 4). [269178.562460] input: webcam: HD 4MP WEBCAM as /devices/ pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input62 [269178.562617] uvcvideo: UVC device initialized. [269188.790367] uvcvideo: uvc_v4l2_open [269188.790419] uvcvideo: uvc_v4l2_release [269188.794541] uvcvideo: uvc_v4l2_open [269188.794551] uvcvideo: uvc_v4l2_release [269188.794624] uvcvideo: uvc_v4l2_open [269188.799446] uvcvideo: uvc_v4l2_open [269188.799451] uvcvideo: uvc_v4l2_release [269188.799486] uvcvideo: uvc_v4l2_open [269189.312113] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [269189.828209] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [269190.336251] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [269190.848206] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [269191.364238] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [269191.872313] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [269192.388288] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [269192.896443] uvcvideo: Failed to query (GET_DEF) UVC control 3 on unit 2: -110 (exp. 2). [269193.408447] uvcvideo: Failed to query (GET_DEF) UVC control 3 on unit 2: -110 (exp. 2). [269193.920430] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [269194.432487] uvcvideo: Failed to query (GET_DEF) UVC control 3 on unit 2: -110 (exp. 2). [269194.944701] uvcvideo: Failed to query (GET_DEF) UVC control 3 on unit 2: -110 (exp. 2). [269195.456574] uvcvideo: Failed to query (GET_DEF) UVC control 7 on unit 2: -110 (exp. 2). [269195.968666] uvcvideo: Failed to query (GET_DEF) UVC control 3 on unit 2: -110 (exp. 2). [269196.480621] uvcvideo: Failed to query (GET_DEF) UVC control 3 on unit 2: -110 (exp. 2). [269196.992778] uvcvideo: Failed to query (GET_DEF) UVC control 7 on unit 2: -110 (exp. 2). [269197.504706] uvcvideo: Failed to query (GET_DEF) UVC control 7 on unit 2: -110 (exp. 2). [269198.020733] uvcvideo: Failed to query (GET_DEF) UVC control 7 on unit 2: -110 (exp. 2). [269198.528702] uvcvideo: Failed to query (GET_DEF) UVC control 7 on unit 2: -110 (exp. 2). [269198.528786] uvcvideo: Control 0x00980903 not found. [269198.528822] uvcvideo: Control 0x00980904 not found. [269198.528831] uvcvideo: Control 0x00980905 not found. [269198.528839] uvcvideo: Control 0x00980906 not found. [269199.040763] uvcvideo: Failed to query (GET_DEF) UVC control 7 on unit 2: -110 (exp. 2). [269199.040818] uvcvideo: Control 0x00980903 not found. [269199.040827] uvcvideo: Control 0x00980904 not found. [269199.040835] uvcvideo: Control 0x00980905 not found. [269199.040849] uvcvideo: Control 0x00980907 not found. [269199.040854] uvcvideo: Control 0x00980906 not found. [269199.040862] uvcvideo: Control 0x00980907 not found. [269199.040869] uvcvideo: Control 0x00980908 not found. [269199.040875] uvcvideo: Control 0x00980909 not found. [269199.040881] uvcvideo: Control 0x00980908 not found. [269199.040885] uvcvideo: Control 0x0098090a not found. [269199.040890] uvcvideo: Control 0x00980909 not found. [269199.040894] uvcvideo: Control 0x0098090b not found. [269199.040899] uvcvideo: Control 0x0098090a not found. [269199.552760] uvcvideo: Failed to query (GET_DEF) UVC control 11 on unit 2: -110 (exp. 1). [269200.064794] uvcvideo: Failed to query (GET_DEF) UVC control 11 on unit 2: -110 (exp. 1). [269200.064884] uvcvideo: Control 0x0098090b not found. [269200.576732] uvcvideo: Failed to query (GET_DEF) UVC control 11 on unit 2: -110 (exp. 1). [269201.088861] uvcvideo: Failed to query (GET_DEF) UVC control 11 on unit 2: -110 (exp. 1). [269201.088915] uvcvideo: Control 0x0098090d not found. [269201.088924] uvcvideo: Control 0x0098090e not found. [269201.088932] uvcvideo: Control 0x0098090f not found. [269201.088939] uvcvideo: Control 0x00980910 not found. [269201.088946] uvcvideo: Control 0x00980911 not found. [269201.600823] uvcvideo: Failed to query (GET_DEF) UVC control 11 on unit 2: -110 (exp. 1). [269202.112922] uvcvideo: Failed to query (GET_DEF) UVC control 11 on unit 2: -110 (exp. 1). [269202.113017] uvcvideo: Control 0x00980912 not found. [269202.624942] uvcvideo: Failed to query (GET_DEF) UVC control 4 on unit 2: -110 (exp. 2). [269202.625039] uvcvideo: Control 0x0098090d not found. [269202.625075] uvcvideo: Control 0x0098090e not found. [269202.625083] uvcvideo: Control 0x0098090f not found. [269202.625091] uvcvideo: Control 0x00980910 not found. [269202.625099] uvcvideo: Control 0x00980911 not found. [269202.625106] uvcvideo: Control 0x00980912 not found. [269203.136961] uvcvideo: Failed to query (GET_DEF) UVC control 4 on unit 2: -110 (exp. 2). [269203.649015] uvcvideo: Failed to query (GET_DEF) UVC control 4 on unit 2: -110 (exp. 2). [269204.161002] uvcvideo: Failed to query (GET_DEF) UVC control 4 on unit 2: -110 (exp. 2). [269204.673056] uvcvideo: Failed to query (GET_DEF) UVC control 4 on unit 2: -110 (exp. 2). [269204.673149] uvcvideo: Control 0x00980914 not found. [269204.673184] uvcvideo: Control 0x00980915 not found. [269204.673193] uvcvideo: Control 0x00980916 not found. [269204.673201] uvcvideo: Control 0x00980917 not found. [269205.184982] uvcvideo: Failed to query (GET_DEF) UVC control 5 on unit 2: -110 (exp. 1). [269205.697043] uvcvideo: Failed to query (GET_DEF) UVC control 4 on unit 2: -110 (exp. 2). [269206.213111] uvcvideo: Failed to query (GET_DEF) UVC control 5 on unit 2: -110 (exp. 1). [269206.724959] uvcvideo: Failed to query (GET_DEF) UVC control 5 on unit 2: -110 (exp. 1). [269206.725021] uvcvideo: Control 0x00980914 not found. [269206.725031] uvcvideo: Control 0x00980915 not found. [269206.725033] uvcvideo: Control 0x00980916 not found. [269206.725034] uvcvideo: Control 0x00980917 not found. [269207.233129] uvcvideo: Failed to query (GET_DEF) UVC control 5 on unit 2: -110 (exp. 1). [269207.233200] uvcvideo: Control 0x00980919 not found. [269207.745018] uvcvideo: Failed to query (GET_DEF) UVC control 5 on unit 2: -110 (exp. 1). [269208.257159] uvcvideo: Failed to query (GET_CUR) UVC control 11 on unit 2: -110 (exp. 1). [269208.769109] uvcvideo: Failed to query (GET_CUR) UVC control 11 on unit 2: -110 (exp. 1). [269209.281244] uvcvideo: Failed to query (GET_DEF) UVC control 5 on unit 2: -110 (exp. 1). [269209.281301] uvcvideo: Control 0x00980919 not found. [269209.793324] uvcvideo: Failed to query (GET_CUR) UVC control 11 on unit 2: -110 (exp. 1). [269210.305252] uvcvideo: Failed to query (GET_CUR) UVC control 11 on unit 2: -110 (exp. 1). [269210.817344] uvcvideo: Failed to query (GET_DEF) UVC control 8 on unit 2: -110 (exp. 2). [269211.329357] uvcvideo: Failed to query (GET_CUR) UVC control 11 on unit 2: -110 (exp. 1). [269211.841304] uvcvideo: Failed to query (GET_CUR) UVC control 11 on unit 2: -110 (exp. 1). [269212.353429] uvcvideo: Failed to query (GET_DEF) UVC control 8 on unit 2: -110 (exp. 2). [269212.865392] uvcvideo: Failed to query (GET_DEF) UVC control 8 on unit 2: -110 (exp. 2). [269213.377372] uvcvideo: Failed to query (GET_DEF) UVC control 8 on unit 2: -110 (exp. 2). [269213.889502] uvcvideo: Failed to query (GET_DEF) UVC control 8 on unit 2: -110 (exp. 2). [269213.889587] uvcvideo: Control 0x0098091c not found. [269213.889622] uvcvideo: Control 0x0098091d not found. [269213.889630] uvcvideo: Control 0x0098091e not found. [269213.889638] uvcvideo: Control 0x0098091f not found. [269214.401419] uvcvideo: Failed to query (GET_DEF) UVC control 8 on unit 2: -110 (exp. 2). [269214.401469] uvcvideo: Control 0x00980920 not found. [269214.401480] uvcvideo: Control 0x00980921 not found. [269214.401481] uvcvideo: Control 0x0098091c not found. [269214.401482] uvcvideo: Control 0x00980922 not found. [269214.401483] uvcvideo: Control 0x0098091d not found. [269214.401484] uvcvideo: Control 0x00980923 not found. [269214.401485] uvcvideo: Control 0x0098091e not found. [269214.401486] uvcvideo: Control 0x00980924 not found. [269214.401486] uvcvideo: Control 0x0098091f not found. [269214.401487] uvcvideo: Control 0x00980925 not found. [269214.401488] uvcvideo: Control 0x00980920 not found. [269214.401489] uvcvideo: Control 0x00980926 not found. [269214.401490] uvcvideo: Control 0x00980921 not found. [269214.401490] uvcvideo: Control 0x00980927 not found. [269214.401491] uvcvideo: Control 0x00980922 not found. [269214.401492] uvcvideo: Control 0x00980928 not found. [269214.401493] uvcvideo: Control 0x00980923 not found. [269214.401493] uvcvideo: Control 0x00980929 not found. [269214.401494] uvcvideo: Control 0x00980924 not found. [269214.401495] uvcvideo: Control 0x0098092a not found. [269214.401496] uvcvideo: Control 0x00980925 not found. [269214.401497] uvcvideo: Control 0x08000000 not found. [269214.401498] uvcvideo: Control 0x00980926 not found. [269214.401499] uvcvideo: Control 0x00980927 not found. [269214.401500] uvcvideo: uvc_v4l2_release [269214.401501] uvcvideo: Control 0x00980928 not found. [269214.401502] uvcvideo: Control 0x00980929 not found. [269214.401504] uvcvideo: Control 0x0098092a not found. [269214.401505] uvcvideo: Control 0x08000000 not found. [269214.401507] uvcvideo: uvc_v4l2_release [269214.402772] uvcvideo: uvc_v4l2_open [269214.402824] uvcvideo: uvc_v4l2_release [269214.402891] uvcvideo: uvc_v4l2_open [269214.402960] uvcvideo: uvc_v4l2_release [269214.403301] uvcvideo: uvc_v4l2_open [269214.403345] uvcvideo: uvc_v4l2_release [269219.490172] usb 1-8: 3:1: usb_set_interface failed (-110) [269224.610463] usb 1-8: 3:1: usb_set_interface failed (-110) [269229.730728] usb 1-8: 3:1: usb_set_interface failed (-110) [269234.850987] usb 1-8: 3:1: usb_set_interface failed (-110) Trace sometimes shows when unplugging the usb camera: [266351.804223] ------------[ cut here ]------------ [266351.804229] Trying to vfree() nonexistent vm area (0000000082c5765b) [266351.804256] WARNING: CPU: 3 PID: 1111201 at mm/vmalloc.c:2251 __vunmap+0x281/0x290 [266351.804258] Modules linked in: uvcvideo st uas usb_storage ufs qnx4 hfsplus hfs minix msdos jfs xfs videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common cp210x usbserial usblp tcp_diag udp_diag inet_diag vhost_net vhost vhost_iotlb tap tun xt_CHECKSUM ipt_REJECT nf_reject_i pv4 xt_tcpudp rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace nfs_ssc fscache bnep xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo nft_counter xt_addrtype nft_compat nf_tables nfnetlink br_netf ilter bridge vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) overlay intel_rapl_msr bluetooth intel_rapl_common jitterentropy_rng snd_sof_pci snd_sof_intel_byt drbg snd_sof_intel_ipc snd_sof_intel_hda_common ansi_cprng snd_sof_xtensa_dsp ecdh_generic ecc snd_hda_codec_hdmi snd_sof snd_sof_intel_hd a snd_soc_skl snd_soc_hdac_hda snd_hda_ext_core snd_hda_codec_realtek snd_soc_sst_ipc snd_soc_sst_dsp snd_hda_codec_generic lz4 [266351.804388] snd_soc_acpi_intel_match ledtrig_audio snd_soc_acpi zram snd_hda_intel zsmalloc nfc snd_intel_dspcfg soundwire_intel x86_pkg_temp_thermal intel_powerclamp soundwire_generic_allocation coretemp kvm_intel snd_soc_core binfmt_misc kvm snd_compress nls_ascii soundwire_cadence nl s_cp437 irqbypass eeepc_wmi vfat asus_wmi rapl fat snd_hda_codec snd_usb_audio battery intel_cstate sparse_keymap intel_uncore pcspkr i915 rfkill efi_pstore wmi_bmof snd_hda_core snd_usbmidi_lib snd_rawmidi snd_hwdep snd_seq_device soundwire_bus snd_pcm joydev snd_timer iTCO_wdt evdev intel_ pmc_bxt drm_kms_helper snd iTCO_vendor_support mei_me watchdog soundcore sg mei cec i2c_algo_bit acpi_pad intel_pmc_core button acpi_tad 8021q garp stp mrp llc v4l2loopback_dc(OE) videodev mc parport_pc ppdev lp drm parport sunrpc fuse configfs efivarfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 btrfs blake2b_generic xor raid6_pq libcrc32c crc32c_generic hid_cherry hid_generic dm_crypt dm_mod usbhid hid sd_mod [266351.805112] sr_mod cdrom t10_pi crc_t10dif crct10dif_generic crct10dif_pclmul crct10dif_common crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel e1000e libaes crypto_simd cryptd ahci ptp glue_helper xhci_pci libahci pps_core xhci_hcd i2c_i801 i2c_smbus libata usbcore scsi_mod us b_common fan wmi video [last unloaded: uvcvideo] [266351.805164] CPU: 3 PID: 1111201 Comm: uvcdynctrl Tainted: G W OE 5.10.0-3-amd64 #1 Debian 5.10.13-1 [266351.805167] Hardware name: System manufacturer System Product Name/PRIME H370M-PLUS, BIOS 1402 04/03/2019 [266351.805174] RIP: 0010:__vunmap+0x281/0x290 [266351.805180] Code: 87 48 89 fe 48 c7 c7 a8 e1 2e ad e8 e9 5b 61 00 0f 0b 5b 5d 41 5c 41 5d 41 5e c3 4c 89 e6 48 c7 c7 d0 e1 2e ad e8 cf 5b 61 00 <0f> 0b eb e4 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 53 31 [266351.805183] RSP: 0018:ffffbb298466be60 EFLAGS: 00010286 [266351.805334] RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff8e7d0dcd8a08 [266351.805337] RDX: 00000000ffffffd8 RSI: 0000000000000027 RDI: ffff8e7d0dcd8a00 [266351.805489] RBP: 0000000000000000 R08: 0000000000000000 R09: ffffbb298466bc80 [266351.805491] R10: ffffbb298466bc78 R11: ffffffffad8bf7d0 R12: ffffbb29a708f000 [266351.805494] R13: ffff8e75c8ec1420 R14: ffff8e75c9849840 R15: 0000000000000000 [266351.805498] FS: 00007f7f96ccbb80(0000) GS:ffff8e7d0dcc0000(0000) knlGS: 0000000000000000 [266351.805502] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [266351.805505] CR2: 00007f7f98dbbe40 CR3: 00000002d0e20006 CR4: 00000000003706e0 [266351.805508] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [266351.805510] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [266351.805512] Call Trace: [266351.805529] v4l2_loopback_close+0x86/0xf0 [v4l2loopback_dc] [266351.805552] v4l2_release+0xb8/0xc0 [videodev] [266351.805559] __fput+0x95/0x240 [266351.805565] task_work_run+0x65/0xa0 [266351.805584] exit_to_user_mode_prepare+0x111/0x120 [266351.805592] syscall_exit_to_user_mode+0x28/0x140 [266351.805599] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [266351.805604] RIP: 0033:0x7f7f98e5a6c3 [266351.805609] Code: e9 37 ff ff ff e8 7d df 01 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 64 8b 04 25 18 00 00 00 85 c0 75 14 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 [266351.805612] RSP: 002b:00007ffc6c7ae898 EFLAGS: 00000246 ORIG_RAX: 0000000000000003 [266351.805617] RAX: 0000000000000000 RBX: 00005616967dff50 RCX: 00007f7f98e5a6c3 [266351.805619] RDX: 00007ffc6c7ae900 RSI: 00000000c0445624 RDI: 0000000000000004 [266351.805622] RBP: 00005616967e8990 R08: 0000000000000002 R09: 00007f7f98f29be0 [266351.805625] R10: 00007ffc6c7ac007 R11: 0000000000000246 R12: 00007ffc6c7ae900 [266351.805627] R13: 0000000000000003 R14: 00000000c0445624 R15: 0000000000000004 [266351.805633] ---[ end trace fd5b2560a3f737e7 ]--- root@h370:~# lsusb -d 1d6c:0103 -v Bus 001 Device 009: ID 1d6c:0103 webcam webcam Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x1d6c idProduct 0x0103 bcdDevice 0.10 iManufacturer 1 webcam iProduct 2 webcam iSerial 3 V011R007C001B005 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x05aa bNumInterfaces 4 bConfigurationValue 1 iConfiguration 4 (error) 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 5 (error) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 0 VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.00 wTotalLength 0x004f 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 0x0000000a Auto-Exposure Mode Exposure Time (Absolute) VideoControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 5 (PROCESSING_UNIT) Warning: Descriptor too short bUnitID 2 bSourceID 1 wMaxMultiplier 0 bControlSize 2 bmControls 0x0000165b Brightness Contrast Saturation Sharpness White Balance Temperature Gain Power Line Frequency White Balance Temperature, Auto iProcessing 0 bmVideoStandards 0x1c PAL - 625/50 SECAM - 625/50 NTSC - 625/50 VideoControl Interface Descriptor: bLength 28 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 3 guidExtensionCode {a29e7641-de04-47e3-8b2b-f4341aff8888} bNumControls 17 bNrInPins 1 baSourceID( 0) 2 bControlSize 3 bmControls( 0) 0xff bmControls( 1) 0xff bmControls( 2) 0x01 iExtension 0 VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 3 iTerminal 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 8 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 VideoStreaming Interface Descriptor: bLength 16 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 3 wTotalLength 0x0498 bEndPointAddress 131 bmInfo 0 bTerminalLink 4 bStillCaptureMethod 0 bTriggerSupport 0 bTriggerUsage 0 bControlSize 1 bmaControls( 0) 0 bmaControls( 1) 0 bmaControls( 2) 0 VideoStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 6 (FORMAT_MJPEG) bFormatIndex 1 bNumFrameDescriptors 12 bFlags 0 Fixed-size samples: No 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 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 1920 wHeight 1080 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 4147200 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 2560 wHeight 1440 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 7372800 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 360 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 460800 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 5 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 480 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 6 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 600 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 960000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 7 bmCapabilities 0x00 Still image unsupported wWidth 960 wHeight 720 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 1382400 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 8 bmCapabilities 0x00 Still image unsupported wWidth 1024 wHeight 576 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 1179648 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 9 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 720 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 10 bmCapabilities 0x00 Still image unsupported wWidth 1920 wHeight 1080 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 4147200 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 11 bmCapabilities 0x00 Still image unsupported wWidth 2560 wHeight 1440 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 7372800 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 12 bmCapabilities 0x00 Still image unsupported wWidth 1920 wHeight 1080 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 4147200 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 28 bDescriptorType 36 bDescriptorSubtype 16 (FORMAT_FRAME_BASED) bFormatIndex 2 bNumFrameDescriptors 12 guidFormat {34363248-0000-0010-8000-00aa00389b71} bBitsPerPixel 0 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 bVariableSize 1 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 1920 wHeight 1080 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 2560 wHeight 1440 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 360 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 5 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 480 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 6 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 600 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 7 bmCapabilities 0x00 Still image unsupported wWidth 960 wHeight 720 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 8 bmCapabilities 0x00 Still image unsupported wWidth 1024 wHeight 576 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 9 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 720 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 10 bmCapabilities 0x00 Still image unsupported wWidth 1920 wHeight 1080 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 11 bmCapabilities 0x00 Still image unsupported wWidth 2560 wHeight 1440 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 17 (FRAME_FRAME_BASED) bFrameIndex 12 bmCapabilities 0x00 Still image unsupported wWidth 1920 wHeight 1080 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwBytesPerLine 0 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 3 bNumFrameDescriptors 8 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 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 720 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 360 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 460800 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 600 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 960000 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 5 bmCapabilities 0x00 Still image unsupported wWidth 960 wHeight 720 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 1382400 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 6 bmCapabilities 0x00 Still image unsupported wWidth 1024 wHeight 576 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 1179648 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 7 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 720 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 8 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 720 dwMinBitRate 18432000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 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 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x13fc 3x 1020 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 2 bInterfaceCount 2 bFunctionClass 1 Audio bFunctionSubClass 2 Streaming bFunctionProtocol 0 iFunction 6 (error) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 0x0026 bInCollection 1 baInterfaceNr(0) 3 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 5 iTerminal 0 AudioControl Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 5 bSourceID 1 bControlSize 1 bmaControls(0) 0x03 Mute Control Volume Control iFeature 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 255 frames wFormatTag 0x0001 PCM AudioStreaming Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 4 Discrete tSamFreq[ 0] 8000 tSamFreq[ 1] 16000 tSamFreq[ 2] 32000 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x89 EP 9 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0080 1x 128 bytes bInterval 4 bRefresh 0 bSynchAddress 0 AudioStreaming Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0x0000 can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable cannot read device status, Resource temporarily unavailable (11) root@h370:~# -- Rainer Dorsch http://bokomoko.de/ |
From: Andy S. <and...@gm...> - 2021-02-15 23:00:35
|
An EKACOM A521 webcam wasn't recognised by Linux Mint 19.3 Tricia. By Googling I ran the following: echo 'options uvcvideo quirks=0x100' | sudo tee -a /etc/modprobe.d/uvcvideo.conf sudo rmmod uvcvideo sudo modprobe uvcvideo It then worked. Apparently I need to report required quirks to this mailing list, so that's what I'm doing. Output of dmesg is: [ 1018.291418] usbcore: registered new interface driver uvcvideo [ 1018.291420] USB Video Class driver (1.1.1) [ 1098.854565] [UFW BLOCK] IN=enp5s0 OUT= MAC=80:ee:73:9c:ca:24:a4:77:33:a7:06:c8:08:00 SRC=192.168.0.102 DST=192.168.0.126 LEN=546 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=57391 DPT=37756 LEN=526 [ 1099.878737] [UFW BLOCK] IN=enp5s0 OUT= MAC=80:ee:73:9c:ca:24:a4:77:33:a7:06:c8:08:00 SRC=192.168.0.102 DST=192.168.0.126 LEN=546 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=38308 DPT=37756 LEN=526 [ 1100.908749] [UFW BLOCK] IN=enp5s0 OUT= MAC=80:ee:73:9c:ca:24:a4:77:33:a7:06:c8:08:00 SRC=192.168.0.102 DST=192.168.0.126 LEN=546 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=35820 DPT=37756 LEN=526 [ 1101.826463] [UFW BLOCK] IN=enp5s0 OUT= MAC=80:ee:73:9c:ca:24:a4:77:33:a7:06:c8:08:00 SRC=192.168.0.102 DST=192.168.0.126 LEN=546 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=56317 DPT=37756 LEN=526 [ 1161.103003] usb 3-2.2: new high-speed USB device number 7 using xhci_hcd [ 1161.322863] usb 3-2.2: New USB device found, idVendor=1bcf, idProduct=2283, bcdDevice= 9.04 [ 1161.322867] usb 3-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1161.322869] usb 3-2.2: Product: Full HD webcam [ 1161.322870] usb 3-2.2: Manufacturer: SHENZHEN AONI ELECTRONIC CO., LTD [ 1161.322872] usb 3-2.2: SerialNumber: 20200904001 [ 1161.374180] uvcvideo: Found UVC 1.00 device Full HD webcam (1bcf:2283) [ 1161.374182] uvcvideo: Forcing device quirks to 0x100 by module parameter for testing purpose. [ 1161.374183] uvcvideo: Please report required quirks to the linux-uvc-devel mailing list. [ 1161.442538] input: Full HD webcam: Full HD webcam as /devices/pci0000:00/0000:00:1c.2/0000:04:00.0/usb3/3-2/3-2.2/3-2.2:1.0/input/input15 [ 1161.577366] [UFW BLOCK] IN=enp5s0 OUT= MAC=80:ee:73:9c:ca:24:30:cd:a7:be:a3:26:08:00 SRC=192.168.0.200 DST=192.168.0.126 LEN=75 TOS=0x00 PREC=0x00 TTL=64 ID=1874 PROTO=UDP SPT=161 DPT=22161 LEN=55 [ 1161.653891] usb 3-2.2: 3:1: cannot get freq at ep 0x86 [ 1161.740121] usb 3-2.2: 3:2: cannot get freq at ep 0x86 [ 1161.743059] [UFW BLOCK] IN=enp5s0 OUT= MAC=80:ee:73:9c:ca:24:30:cd:a7:be:a3:26:08:00 SRC=192.168.0.200 DST=192.168.0.126 LEN=75 TOS=0x00 PREC=0x00 TTL=64 ID=2267 PROTO=UDP SPT=161 DPT=22161 LEN=55 [ 1161.826576] usb 3-2.2: 3:3: cannot get freq at ep 0x86 [ 1161.909300] [UFW BLOCK] IN=enp5s0 OUT= MAC=80:ee:73:9c:ca:24:30:cd:a7:be:a3:26:08:00 SRC=192.168.0.200 DST=192.168.0.126 LEN=75 TOS=0x00 PREC=0x00 TTL=64 ID=3186 PROTO=UDP SPT=161 DPT=22161 LEN=55 [ 1161.977746] usb 3-2.2: Warning! Unlikely big volume range (=4096), cval->res is probably wrong. [ 1161.977750] usb 3-2.2: [7] FU [Mic Capture Volume] ch = 1, val = 0/4096/1 [ 1161.978147] usbcore: registered new interface driver snd-usb-audio Thanks, Andy. |
From: Till D. <do...@pr...> - 2020-12-17 18:41:54
|
Hi all, the device in question is Renkforce RF AC4K 300 Action Cam 4K https://www.conrad.de/de/p/action-cam-renkforce-rf-ac-4k-webcam-4k-wlan-wasserfest-staubgeschuetzt-1577043.html When connected via USB to a PC, it offers two modes: - mass storage - camera When set to webcam mode it identifies as: [34367.545510] uvcvideo: Found UVC 1.00 device Android (1f3a:100e) But in order for the webcam part to work reliably I have to disable USB autosuspend (as suggested under https://www.ideasonboard.org/uvc/faq/): --- snip --- echo -1 > /sys/module/usbcore/parameters/autosuspend --- snap --- With the default value in /sys/module/usbcore/parameters/autosuspend the device leaves webcam mode after a few seconds. So I was wondering whether one can define autosuspend exceptions for certain UVC devices. Looking through the driver source I didn't discover an obvious way to do so. Is this something the UVC driver supports? Or does one have to configure this e.g. via a udev rule when the device is connected? Any hints are appreciated. Thanks and regards -- Till -- Dipl.-Inform. Till Dörges do...@pr... PRESENSE Technologies GmbH Nagelsweg 41, D-20097 HH Geschäftsführer/Managing Directors AG Hamburg, HRB 107844 Till Dörges, Jürgen Sander USt-IdNr.: DE263765024 |
From: Sylvain M. <24...@gm...> - 2020-10-30 20:10:22
|
Hi, I was trying to build a UVC output device but got hit by : "uvcvideo: Isochronous endpoints are not supported for video output devices." Any reason for that limitation ? AFAICT the spec perfectly allows this. Cheers, Sylvain |
From: Udi O. <ud...@gm...> - 2020-10-30 09:19:33
|
I would like to report issues with a generic webcam identified by 1224:2a25 as "USB PHY 2.0" from "Jieli Technology". The linux support is unstable - but under windows it seems to work fine. The main issue is the camera sometimes stops functioning. For example, after running the check camera with Google Chrome 86 here the camera stops responding: https://webcamtests.com/ The website will report some errors (including a 2x2 resolution detected...) and the camera would not be functional anymore from any other app or tool. i.e. When attaching the camera qv4l2 works correctly - then after running the test above in chrome, running qv4l2 again will not show any video any more until the camera is disconnected and connected again. The test above works flawlessly with windows (Under linux other webcams work with the test above). Attaching dmesg and lsusb logs. dmesg-1-ok.log: using the camera after connecting it with qv4l2 + changing resolutions. dmesg-2-err.log: running the check webcam in chrome dmesg-3-err.log: running qv4l2 again The camera was purchased here: https://www.aliexpress.com/item/4001244801029.html OS: Arch linux Kernel: 5.9.1-arch1-1 Thank you! Udi. |
From: Ryan E. <Ry...@en...> - 2020-10-20 14:37:11
|
Hi uvc-devel list, I'm upgrading one of my computers to the latest and greatest. This system is using a camera "0403:602a Future Technology Devices International" specifically and was working fine on an older kernel (4.4.8 specifically). When I went to a modern version I lost the ability to read back exposure_absolute from v4l2-ctl. Someone added a UVC_CTRL_FLAG_AUTO_UPDATE to UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL commit 1ab8c3fc750321726313b222230343de897744b1. It seemed to be a fix to an issue reading the exposure back when the camera supports auto exposure. This change seemed to have broken my camera and I'm wondering if mine is the only one. My camera doesn't support any auto exposure controls and I do not have another model that has no auto exposure controls. Is there anyone on the list that has a camera with no automatic exposure controls and is able to read back the absolute exposure after setting it? I'm trying to figure out if only my camera has a problem or if this is a bug on camera models with no auto exposure controls. Ryan Esty |
From: Carlos M. da S. <r3...@r3...> - 2020-10-06 17:13:28
|
Hi list. I recently acquired the mentioned camera (lsusb output. usb id is 1b3f:2002) to retire my old Logitech QuickCam, and while it does work fine, it prints a stack trace whenever I attach the camera to the computer. I'm currently running an updated Fedora 32. I'm gonna leave the trace bellow but if this isn't the right place to report the problem, just point me in the right direction. Thanks in advance. Carlos Mogas da Silva [ 3.989726] uvcvideo: Found UVC 1.00 device GENERAL WEBCAM (1b3f:2002) [ 3.990434] uvcvideo: Failed to query (GET_INFO) UVC control 2 on unit 1: -32 (exp. 1). [ 3.997137] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. [ 4.001545] uvcvideo 2-1.5.2:1.0: Entity type for entity Processing 5 was not initialized! [ 4.001547] uvcvideo 2-1.5.2:1.0: Entity type for entity Camera 1 was not initialized! [ 4.001572] ------------[ cut here ]------------ [ 4.001579] WARNING: CPU: 4 PID: 572 at drivers/media/mc/mc-entity.c:669 media_create_pad_link+0x172/0x1a0 [mc] [ 4.001580] Modules linked in: x86_pkg_temp_thermal intel_powerclamp coretemp iTCO_wdt kvm_intel intel_pmc_bxt iTCO_vendor_support uvcvideo(+) videobuf2_vmalloc kvm snd_usb_audio(+) videobuf2_memops videobuf2_v4l2 videobuf2_common snd_hda_codec_realtek videodev snd_usbmidi_lib snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi irqbypass raid456 rapl joydev snd_rawmidi snd_hda_intel async_raid6_recov snd_intel_dspcfg async_memcpy async_pq snd_hda_codec eeepc_wmi async_xor async_tx asus_wmi intel_cstate nvidia(POE+) sparse_keymap mc snd_hda_core rfkill intel_uncore snd_hwdep snd_seq video snd_seq_device wmi_bmof pcspkr snd_pcm i2c_i801 i2c_smbus snd_timer drm_kms_helper snd lpc_ich cec soundcore mei_me mei auth_rpcgss binfmt_misc drm sunrpc ip_tables crct10dif_pclmul crc32_pclmul crc32c_intel mxm_wmi ghash_clmulni_intel e1000e firewire_ohci firewire_core crc_itu_t wmi uas usb_storage fuse razermouse(OE) razerkbd(OE) [ 4.001605] CPU: 4 PID: 572 Comm: systemd-udevd Tainted: P OE 5.8.12- 200.fc32.x86_64 #1 [ 4.001606] Hardware name: System manufacturer System Product Name/P9X79, BIOS 4701 05/06/2014 [ 4.001609] RIP: 0010:media_create_pad_link+0x172/0x1a0 [mc] [ 4.001611] Code: 5f c3 0f 0b 48 83 c4 08 b8 ea ff ff ff 5b 5d 41 5c 41 5d 41 5e 41 5f c3 0f 0b b8 ea ff ff ff eb d2 0f 0b b8 ea ff ff ff eb c9 <0f> 0b b8 ea ff ff ff eb c0 0f 0b b8 ea ff ff ff eb b7 b8 f4 ff ff [ 4.001611] RSP: 0000:ffff9df300a23ae8 EFLAGS: 00010246 [ 4.001612] RAX: 0000000000000000 RBX: ffff8c08969fc018 RCX: 0000000000000000 [ 4.001613] RDX: ffff8c08ab775e08 RSI: 0000000000000000 RDI: ffff8c08969fc018 [ 4.001614] RBP: ffff8c08969fc018 R08: 0000000000000003 R09: ffff8c08a853fb18 [ 4.001614] R10: 0000000000000000 R11: 0000000000000001 R12: ffff8c08a7438e18 [ 4.001615] R13: 0000000000000000 R14: ffff8c08ab775c00 R15: 0000000000000000 [ 4.001616] FS: 00007eff803ddb80(0000) GS:ffff8c08afd00000(0000) knlGS:0000000000000000 [ 4.001617] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 4.001618] CR2: 0000559e157ff7b8 CR3: 0000000429edc006 CR4: 00000000000606e0 [ 4.001619] Call Trace: [ 4.001628] uvc_mc_register_entities+0x163/0x1f1 [uvcvideo] [ 4.001632] uvc_probe.cold+0x730/0xbce [uvcvideo] [ 4.001637] ? usb_probe_interface+0xe2/0x2a0 [ 4.001638] usb_probe_interface+0xe2/0x2a0 [ 4.001641] really_probe+0x2cd/0x400 [ 4.001643] driver_probe_device+0xe1/0x150 [ 4.001645] device_driver_attach+0xa1/0xb0 [ 4.001646] __driver_attach+0x8a/0x150 [ 4.001648] ? device_driver_attach+0xb0/0xb0 [ 4.001649] ? device_driver_attach+0xb0/0xb0 [ 4.001650] bus_for_each_dev+0x64/0x90 [ 4.001652] bus_add_driver+0x12b/0x1e0 [ 4.001653] driver_register+0x8b/0xe0 [ 4.001656] usb_register_driver+0x84/0x120 [ 4.001658] ? 0xffffffffc1a52000 [ 4.001661] uvc_init+0x26/0x1000 [uvcvideo] [ 4.001664] do_one_initcall+0x46/0x200 [ 4.001667] ? _cond_resched+0x16/0x40 [ 4.001669] ? kmem_cache_alloc_trace+0x167/0x220 [ 4.001672] ? do_init_module+0x23/0x250 [ 4.001673] do_init_module+0x5c/0x250 [ 4.001675] __do_sys_init_module+0x121/0x150 [ 4.001678] do_syscall_64+0x4d/0x90 [ 4.001680] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 4.001681] RIP: 0033:0x7eff8150745e [ 4.001683] Code: 48 8b 0d 3d 0a 0c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 af 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 0a 0a 0c 00 f7 d8 64 89 01 48 [ 4.001684] RSP: 002b:00007fffb3dbaaa8 EFLAGS: 00000246 ORIG_RAX: 00000000000000af [ 4.001685] RAX: ffffffffffffffda RBX: 0000559e15bc75b0 RCX: 00007eff8150745e [ 4.001686] RDX: 00007eff8115e95d RSI: 0000000000033e3e RDI: 0000559e164ae430 [ 4.001686] RBP: 0000559e164ae430 R08: 0000000000000000 R09: 00007fffb3dba78e [ 4.001687] R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000000 [ 4.001687] R13: 00007eff8115e95d R14: 0000559e157fc4f0 R15: 0000559e157fa950 [ 4.001689] ---[ end trace 663360dc7affe058 ]--- [ 4.001689] uvcvideo: Failed to create links for entity 5 [ 4.001690] uvcvideo: Failed to register entities (-22). |
From: Kevin L. <ke...@ke...> - 2020-09-28 11:23:31
|
On Mon, 2020-09-28 at 11:41 +0100, Kieran Bingham wrote: > On 20/09/2020 18:06, Kevin Locke wrote: >> I don't understand the purpose of the second device (if any). With >> tracing enabled, there are references to "entity 1" and "entity 2" in >> the kernel log. Perhaps this is expected behavior? If not, I would be >> happy to help debug further. > > The second video node is for extracting metadata from the frames. > It is not expected to deliver video frames with a video capture application. > > v4l-info should probably be updated to express that better, but I don't > know who maintains that tool Ah, that explains it. Thanks Kieran! Best, Kevin |
From: Kieran B. <kie...@id...> - 2020-09-28 10:41:59
|
Hi Kevin, On 20/09/2020 18:06, Kevin Locke wrote: > Hi all, > > The ThinkPad T430 includes a "Chicony Electronics Co., Ltd." "Integrated > Camera" (04f2:b2db). The camera works well with uvcvideo, but does not > currently appear on the Supported Devices list.[1] There are two, > possibly related, oddities worth mentioning: Camera's that follow the standard don't always need to be listed explicitly. I'm glad it works for you. > First, there are a few warnings printed when uvcvideo is loaded: > > uvcvideo: Found UVC 1.00 device Integrated Camera (04f2:b2db) > uvcvideo 3-1.6:1.0: Entity type for entity Extension 4 was not initialized! > uvcvideo 3-1.6:1.0: Entity type for entity Extension 3 was not initialized! > uvcvideo 3-1.6:1.0: Entity type for entity Processing 2 was not initialized! > uvcvideo 3-1.6:1.0: Entity type for entity Camera 1 was not initialized! > > Second, uvcvideo creates two video devices (video0 and video1): > > $ readlink /sys/class/video4linux/video* > ../../devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.6/3-1.6:1.0/video4linux/video0 > ../../devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.6/3-1.6:1.0/video4linux/video1 > > `mpv /dev/video0` works well. `mpv /dev/video1` fails with: > > [ffmpeg/demuxer] video4linux2,v4l2: ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device > > `v4l-info /dev/video1` shows: > > ### v4l2 device info [/dev/video1] ### > general info > VIDIOC_QUERYCAP > driver : "uvcvideo" > card : "Integrated Camera: Integrated C" > bus_info : "usb-0000:00:1a.0-1.6" > version : 5.8.7 > capabilities : 0x84a00001 [VIDEO_CAPTURE,?,?,STREAMING,(null)] > > standards > > inputs > > video capture > VIDIOC_G_FMT(VIDEO_CAPTURE): Invalid argument > > controls > > I don't understand the purpose of the second device (if any). With > tracing enabled, there are references to "entity 1" and "entity 2" in > the kernel log. Perhaps this is expected behavior? If not, I would be > happy to help debug further. The second video node is for extracting metadata from the frames. It is not expected to deliver video frames with a video capture application. v4l-info should probably be updated to express that better, but I don't know who maintains that tool -- Kieran > Thanks for all of your efforts maintaining uvcvideo! > > Best, > Kevin > > [1]: https://www.ideasonboard.org/uvc/ > > > _______________________________________________ > Linux-uvc-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linux-uvc-devel > -- Regards -- Kieran |
From: Shem P. <sh...@gm...> - 2020-09-28 03:54:04
|
Hello, I have two webcams and the resolutions are not being properly taken by the Cheese app (GNOME), showing: uvcvideo: Failed to query (GET_INFO) UVC control 2 on unit 1: -32 (exp. 1). in dmesg. The 1080p webcam doesn't show any resolution at all, while the 1440p webcam shows until HD (1280x720) only. However, the quality of the picture, in both, is at full resolution. I'm on Ubuntu 20.04 running the 5.8 kernel, and I have the same results while running 5.8 on Ubuntu 20.10 development. I've attached the required files per: https://www.ideasonboard.org/uvc/faq/ I looked at the lsusb log and can see that it actually got the resolution: wWidth 2560 wHeight 1440 but somehow Cheese is not getting it, perhaps via uvc or v4l driver? I tested the 1080p in Android and the camera apps for Android crashes. I'm thinking, because they can't get the proper resolution. Thank you for your assistance. All the best, Shem Pasamba |
From: Kevin L. <ke...@ke...> - 2020-09-20 17:31:16
|
Hi all, The ThinkPad T430 includes a "Chicony Electronics Co., Ltd." "Integrated Camera" (04f2:b2db). The camera works well with uvcvideo, but does not currently appear on the Supported Devices list.[1] There are two, possibly related, oddities worth mentioning: First, there are a few warnings printed when uvcvideo is loaded: uvcvideo: Found UVC 1.00 device Integrated Camera (04f2:b2db) uvcvideo 3-1.6:1.0: Entity type for entity Extension 4 was not initialized! uvcvideo 3-1.6:1.0: Entity type for entity Extension 3 was not initialized! uvcvideo 3-1.6:1.0: Entity type for entity Processing 2 was not initialized! uvcvideo 3-1.6:1.0: Entity type for entity Camera 1 was not initialized! Second, uvcvideo creates two video devices (video0 and video1): $ readlink /sys/class/video4linux/video* ../../devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.6/3-1.6:1.0/video4linux/video0 ../../devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.6/3-1.6:1.0/video4linux/video1 `mpv /dev/video0` works well. `mpv /dev/video1` fails with: [ffmpeg/demuxer] video4linux2,v4l2: ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device `v4l-info /dev/video1` shows: ### v4l2 device info [/dev/video1] ### general info VIDIOC_QUERYCAP driver : "uvcvideo" card : "Integrated Camera: Integrated C" bus_info : "usb-0000:00:1a.0-1.6" version : 5.8.7 capabilities : 0x84a00001 [VIDEO_CAPTURE,?,?,STREAMING,(null)] standards inputs video capture VIDIOC_G_FMT(VIDEO_CAPTURE): Invalid argument controls I don't understand the purpose of the second device (if any). With tracing enabled, there are references to "entity 1" and "entity 2" in the kernel log. Perhaps this is expected behavior? If not, I would be happy to help debug further. Thanks for all of your efforts maintaining uvcvideo! Best, Kevin [1]: https://www.ideasonboard.org/uvc/ |