My laptop IR camera stays on and regular camera does not works anymore

Hi,
I’m having a problem with my laptop camera. It seems that IR camera stays on, even though I don’t use it for anything. I can see it shining red even with the privacy cover on.
I’m not sure how to disable it. There is no BIOS setting to disable just this camera.

The problem is that both cameras are on the same bus, so when IR camera starts acting up regular camera doesn’t work either. But I need the normal camera to keep working. I am not sure what exactly the problem is, but I would like to block IR camera from engaging and see if that fixes my problem.

Here are some things to help out with debugging.

v4l2-ctl --device=/dev/video5 --all
Driver Info:
	Driver name      : uvcvideo
	Card type        : Integrated RGB Camera: Integrat
	Bus info         : usb-0000:04:00.3-4
	Driver version   : 6.12.9
	Capabilities     : 0x84a00001
		Video Capture
		Metadata Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : uvcvideo
	Model            : Integrated RGB Camera: Integrat
	Serial           : 01.00.00
	Bus info         : usb-0000:04:00.3-4
	Media version    : 6.12.9
	Hardware revision: 0x00005809 (22537)
	Driver version   : 6.12.9
Interface Info:
	ID               : 0x03000002
	Type             : V4L Video
Entity Info:
	ID               : 0x00000001 (1)
	Name             : Integrated RGB Camera: Integrat
	Function         : V4L2 I/O
	Flags            : default
	Pad 0x01000007   : 0: Sink
	  Link 0x02000016: from remote pad 0x100000a of entity 'Extension 5' (Video Pixel Formatter): Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
	Width/Height      : 640/360
	Pixel Format      : 'GREY' (8-bit Greyscale)
	Field             : None
	Bytes per Line    : 640
	Size Image        : 230400
	Colorspace        : sRGB
	Transfer Function : Rec. 709
	YCbCr/HSV Encoding: ITU-R 601
	Quantization      : Default (maps to Full Range)
	Flags             : 
Crop Capability Video Capture:
	Bounds      : Left 0, Top 0, Width 640, Height 360
	Default     : Left 0, Top 0, Width 640, Height 360
	Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 640, Height 360, Flags: 
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 640, Height 360, Flags: 
Streaming Parameters Video Capture:
	Capabilities     : timeperframe
	Frames per second: 30.000 (30/1)
	Read buffers     : 0

Camera Controls

                        privacy 0x009a0910 (bool)   : default=0 value=0 flags=read-only
~$ lsmod | grep uvcvideo
uvcvideo              184320  18
uvc                    12288  1 uvcvideo
videobuf2_vmalloc      20480  20 uvcvideo
videobuf2_v4l2         40960  1 uvcvideo
videobuf2_common      102400  4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
videodev              417792  20 videobuf2_v4l2,uvcvideo
mc                     90112  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
 lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 023: ID 5986:215d Bison Electronics Inc. Integrated RGB Camera
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 04f3:0c4b Elan Microelectronics Corp. ELAN:Fingerprint
Bus 003 Device 003: ID 0489:e0cd Foxconn / Hon Hai MediaTek Bluetooth Adapter
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
System:
  Kernel: 6.12.9-100.fc40.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.41-38.fc40
  Desktop: GNOME v: 46.7 Distro: Fedora Linux 40 (Workstation Edition)
Machine:
  Type: Laptop System: LENOVO product: 21KK v: ThinkBook 16 G6 ABP

A small piece of aluminium foil and masking tape will block the IR.

You could try to blacklist the driver.
I don’t really know how! But maybe add a .conf file to /etc/modprobe.d/
in the file put
blacklist uvcvideo

But then of course your camera won’t work, and maybe even other USB cameras won’t work.

I am not sure if you can blacklist based on a device ID

You could also upgrade to F41 to see if that changes anything.

Ah, I didn’t explain the problem well. IR and regular camera are on the same bus, so when the IR camera starts acting up regular camera stops working. I need the regular camera to keep working. Blocking both cameras from working is not a suitable solution for me.

[quote=“Milan Stojakov, post:1, topic:142651, username:milansto”]
5986:215d
[/quote] is the device ID. I think there will be a way to blacklist that device without blacklisting the module that runs cameras.
https://www.projectgus.com/2014/09/blacklisting-a-single-usb-device-from-linux/

This link details how a guy blacklisted a bluetooth based on ID using a udev rule. Maybe you can adapt that for your case?

Also, how to disable USB devices based on vendor id in Linux environment? - Unix & Linux Stack Exchange

EDIT: Unless both the cameras are on the same bus, ie they share the same device ID?