[SOLVED] How to install this particular driver on Linux ['Microdia USB 2.0 Camera']

Ganesh Venugopal@lemmy.ml to Linux@lemmy.ml – 15 points –

Thank you! You folks just are the best!

SOLUTION: https://lemmy.ml/comment/4084707 Follow this thread!


I noticed that my webcam wasn't working and I thought maybe it had some driver missing.

(base) bob@bob:~
$ lsusb
Bus 001 Device 002: ID 0c45:6363 Microdia USB 2.0 Camera

so I created a probe using linux-hardware.org app image and it found that I had this hardware component that wasn't working. https://linux-hardware.org/?id=usb:0c45-6363 and it also has this in the website

Now, I searched for this exact keyword and found this driver lying around a little known guy's repository called linux.

https://github.com/torvalds/linux/blob/master/drivers/media/usb/uvc/uvc_driver.c

Now, I don't know how to install it. So, how do I install this?

10

As you noted, it's part of the mainline linux kernel as of 2.6.26. You can verify this with modinfo uvcvideo. It will print the kernel module info. When compatible hardware is detected, it should load the module automatically, but you can check loaded modules with lsmod and load it manually with modprobe uvcvideo if necessary.

It is almost certainly already installed (UVC is extremely common, and valid for almost all off the shelf webcams).

You can verify this by running:

find /lib/modules/$(uname -r) -type f -iname "*uvc*"

If not you need to compile the kernel module. Instructions for this will vary slightly depending on your distro. Here are some instructions for Debian (and coincidentally Ubuntu): https://wiki.debian.org/ModuleAssistant

$ find /lib/modules/$(uname -r) -type f -iname "*uvc*"
/lib/modules/6.0.0-6mx-amd64/kernel/drivers/media/usb/uvc/uvcvideo.ko
/lib/modules/6.0.0-6mx-amd64/kernel/drivers/usb/gadget/function/usb_f_uvc.ko

This it? Is this not driver error then?

edit: This made me think I needed a driver. Last virtual camera driver thing

Now type lsmod and see if the driver is actually loaded.

hey lsmod gave these results

Module                  Size  Used by
uvcvideo              131072  0
videobuf2_vmalloc      20480  1 uvcvideo
videobuf2_memops       20480  1 videobuf2_vmalloc
videobuf2_v4l2         36864  1 uvcvideo
videobuf2_common       73728  4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
videodev              290816  3 videobuf2_v4l2,uvcvideo,videobuf2_common
mc                     69632  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
usbcore               344064  6 xhci_hcd,cdc_acm,uvcvideo,btusb,xhci_pci
usb_common             16384  3 xhci_hcd,usbcore,uvcvideo

I have listed everything which has uvc in it

Watch dmesg when you plug it in and see if uvcvideo gets loaded. If not you may be able to add the device id to the list that uvcvideo will load for

Now try

sudo v4l2-ctl --list-devices

Install the package it's in if missing.

v4l2-ctl

hey, I slept off. it was midnight in India

sudo v4l2-ctl --list-devices
USB2.0 HD UVC WebCam: USB2.0 HD (usb-0000:00:14.0-3):
	/dev/video0
	/dev/video1
	/dev/media0

I installed v4l2-utils and did this, still no luck with the webcam

edit:

The virtual camera driver thing still shows nothing, but web cam is now working for discord. I thank you wholeheartedly! You made my day (this is morning now and this was the first thing I tried and it worked, it did make my day), thank you mate!!!! But do tell me the reasoning behind what you did!

It was troubleshooting, but it looks like the package I had you install was what was missing. The first thing in your screenshot references it so there must be something in there you needed.

I would guess the 'virtual camera' has something to do with the unchecked 'advanced effects mode '

Glad to be of help. 😁