My internal camera is not working

Hi, everyone I have Acer Nitro 5 an515-58 and my camera is not working I changed kernel but it not worked.

lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0408:4035 Quanta Computer, Inc. ACER HD User Facing
Bus 003 Device 004: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 002: ID 25a7:fa23 Areson Technology Corp 2.4G Receiver
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

v4l2-ctl --list-devices   
Cannot open device /dev/video0, exiting.

any drivers for uvcvideo installed ?
please post the output of

lsmod | grep uv
nvidia_uvm           3022848  0
nvidia              60907520  99 nvidia_uvm,nvidia_modeset
uvcvideo              163840  0
videobuf2_vmalloc      20480  1 uvcvideo
videobuf2_v4l2         40960  1 uvcvideo
videobuf2_common       86016  4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
videodev              319488  5 v4l2_async,videobuf2_v4l2,ov13858,uvcvideo,videobuf2_common
mc                     77824  6 v4l2_async,videodev,videobuf2_v4l2,ov13858,uvcvideo,videobuf2_common

what kind of application have you already tried to open and use the camera ?
a good start is to install the simple uvc-viewer from “extra”-repositories to check how to connect your cam.

I triyed to use google meets and cheese ans camera not works.

sorry I’m very new in manjaro, do you means install this app?

is vlc-media-player installed ? you can use vlc to open your camera. start vlc → media → open media choose record-device and select a camera

1 Like

I like @Olli idea regarding VLC. I wouldn’t install the snap version. I would go for the (extra) Manjaro repository. If you are leaning towards gtk version:

In terminal:

 pamac install guvcview

There is also a qt version:

pamac install guvcview-qt

i don’t use this, so I don’t know which is better or if it will solve your issue.

1 Like

image

thank you!
also this
image

try vlc-player, you can choose different video-cams. check which one is the right. if you choose a non-existing you’ll get an answer to delete the try. do it and choose the next one until you know which one’s the right.

You need to compile a module for this webcam.

I found a solution for Arch, and tried to write the same instruction for Manjaro:

https://bbs.archlinux.org/viewtopic.php?id=284160

Example for linux61 (use your kernel here):

$ sudo pacman -Syu linux61-headers base-devel # make sure you have headers installed along with make
$ git clone https://gitlab.manjaro.org/packages/core/linux61 # get the current PKGBUILD for Manjaro's kernel package
$ makepkg -Codd --noprepare # get the kernel source

Open linux61/src/linux-6.1/drivers/media/usb/uvc/uvc_driver.c, search for 0x4034, and add this section below:

	/* Quanta ACER HD User Facing */
	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
				| USB_DEVICE_ID_MATCH_INT_INFO,
	  .idVendor		= 0x0408,
	  .idProduct		= 0x4035,
	  .bInterfaceClass	= USB_CLASS_VIDEO,
	  .bInterfaceSubClass	= 1,
	  .bInterfaceProtocol	= UVC_PC_PROTOCOL_15,
	  .driver_info		= (kernel_ulong_t)&(const struct uvc_device_info){
		.uvc_version = 0x010a,
	  } },
The result should look like this
	/* Quanta USB2.0 HD UVC Webcam */
	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
				| USB_DEVICE_ID_MATCH_INT_INFO,
	  .idVendor		= 0x0408,
	  .idProduct		= 0x4034,
	  .bInterfaceClass	= USB_CLASS_VIDEO,
	  .bInterfaceSubClass	= 1,
	  .bInterfaceProtocol	= UVC_PC_PROTOCOL_15,
	  .driver_info		= (kernel_ulong_t)&uvc_ctrl_power_line_limited },
	/* Quanta ACER HD User Facing */
	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
				| USB_DEVICE_ID_MATCH_INT_INFO,
	  .idVendor		= 0x0408,
	  .idProduct		= 0x4035,
	  .bInterfaceClass	= USB_CLASS_VIDEO,
	  .bInterfaceSubClass	= 1,
	  .bInterfaceProtocol	= UVC_PC_PROTOCOL_15,
	  .driver_info		= (kernel_ulong_t)&(const struct uvc_device_info){
		.uvc_version = 0x010a,
	  } },
	/* LogiLink Wireless Webcam */
	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
				| USB_DEVICE_ID_MATCH_INT_INFO,
	  .idVendor		= 0x0416,
	  .idProduct		= 0xa91a,
	  .bInterfaceClass	= USB_CLASS_VIDEO,
	  .bInterfaceSubClass	= 1,
	  .bInterfaceProtocol	= 0,
	  .driver_info		= (kernel_ulong_t)&uvc_quirk_probe_minmax },

And finally:

$ cd linux61/src/linux-6.1/drivers/media/usb/uvc/
$ make -C /lib/modules/$(uname -r)/build M=$PWD
$ su
# make -C /lib/modules/$(uname -r)/build M=$PWD modules_install # install the module ( I have not tested this last command )
1 Like

It seems to be a known issue amongst owner of this device

@stasadev
If you got it working - it would be great if you could make a patch, create an issue on gitlab and attach the patch?

I don’t have a device with 0408:4035 so I can’t check if it works or not.

Oh - I see - in any case :sunglasses: you found a maybe solution

I also found this dating back to january 2023

https://patchwork.kernel.org/project/linux-media/patch/20230115205210.20077-1-laurent.pinchart@ideasonboard.com/

thank you for help,I triyed it but not works(