Acer Aspire 3 A315-59 Laptop camera not working [Fedora 38]

Options
takshak
takshak Member Posts: 11

Tinkerer

edited March 26 in Aspire Laptops

I found a custom driver made by dev on this forum to make the camera work, but I guess it works on apt based distros. After going through the form, I found that to use this driver we need to compile it with the kernel on boot, and I am having some difficulties doing that. I need help to get my camera to work because I need it for my work. A lot of people are having this issue with their Acer Machines, and I think this is the only solution right now.

[takshak@aspirebook ~]$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0408:4033 Quanta Computer, Inc. ACER HD User Facing
Bus 003 Device 003: ID 04ca:3801 Lite-On Technology Corp. Wireless_Device
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

[takshak@aspirebook ~]$ mplayer tv://
MPlayer SVN-r38423-13 (C) 2000-2023 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control. Playing tv://.
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski olschewski@zpr.uni-koeln.de
comment: first try, more to come ;-)
v4l2: unable to open '/dev/video0': No such file or directory
v4l2: ioctl set mute failed: Bad file descriptor
v4l2: 0 frames successfully processed, 0 frames dropped. Exiting... (End of file)

Any help to get my camera working will be highly appereciated.

Answers

  • takshak
    takshak Member Posts: 11

    Tinkerer

    Options

    It's not a hardware issue, the webcam works just fine on Windows. It's just not getting detected on Fedora and other Linux distros.

  • billsey
    billsey ACE Posts: 32,024 Trailblazer
    Options

    It shouldn't need any special drivers, under Windows just the generic drivers are used. There are a couple of different vendors used by Acer in building your model:

    Click on "Like" if you find my answer useful or click on "Yes" if it answers your question.
  • takshak
    takshak Member Posts: 11

    Tinkerer

    Options

    How can I fix it? Can you provide me a driver which I can use to make it work on fedora?

  • yashoswalyo
    yashoswalyo Member Posts: 10

    Tinkerer

    Options

    hey you need to manually compile uvcvideo module for kernel, I faced same issue in fedora 38.

    https://bugs.launchpad.net/ubuntu/%2Bsource/linux/%2Bbug/2000947/comments/19 check this comment, it is for ubuntu, but can be done on fedora with similar commands.

  • takshak
    takshak Member Posts: 11

    Tinkerer

    Options

    Can you help me out with this? on how to do it? via Discord or anything? I need step by step guide since I am new to linux.

  • yashoswalyo
    yashoswalyo Member Posts: 10

    Tinkerer

    edited September 2023
    Options
    1. Open terminal and do: cd $HOME
    2. Then run this command: dnf download --source kernel-modules-extra-$(uname -r).
    3. Then run unzip command to extract the source: unzip kernel-6.4.12-200.fc38.src.zip -d kernel; cd kernel;
    4. Then extract the linux-*.tar.xz: tar -xvf linux-*.tar.xz;
    5. Then change directory replace x here : cd linux-x.x.xx/drivers/media/usb/uvc
    6. Then Type : gnome-text-editor uvc_driver.c
    7. Now search for this line with ctrl+f static const struct usb_device_id uvc_ids[] = {
    8. Add the following on the next line:
    /* Quanta ACER HD User Facing 4033 - Experimental !! */
    { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
    | USB_DEVICE_ID_MATCH_INT_INFO,
    .idVendor = 0x0408,
    .idProduct = 0x4033,
    .bInterfaceClass = USB_CLASS_VIDEO,
    .bInterfaceSubClass = 1,
    .bInterfaceProtocol = UVC_PC_PROTOCOL_15,
    .driver_info = (kernel_ulong_t) &(const struct uvc_device_info ) {
    .uvc_version = 0x010a, } }, ```

    9. Save this file.,

    10. Run: sudo make -j4 -C /lib/modules/$(uname -r)/build M=$(pwd) modules

    11. Now run: sudo rmmod uvcvideo.ko

    12: Then run: sudo insmod ./uvnvideo.ko

    Camera should be working now

  • takshak
    takshak Member Posts: 11

    Tinkerer

    Options

    Thanks a lot, this issue has now been fixed. My camera is working now.

  • billsey
    billsey ACE Posts: 32,024 Trailblazer
    Options

    Sweet! Though you can certainly see why most users aren't on Linux… That's a whole lot more esoteric than 'double click on the install icon'.

    Click on "Like" if you find my answer useful or click on "Yes" if it answers your question.
  • gz66
    gz66 Member Posts: 2 New User
    Options

    Hey, It didn't work for me for some reason. I ran the 2nd line and got this error. What should I do now?

    "No package kernel-modules-extra-6.4.14-200.fc38.x86_64. available.
    Exiting due to strict setting.
    Error: No package kernel-modules-extra-6.4.14-200.fc38.x86_64. available."

  • billsey
    billsey ACE Posts: 32,024 Trailblazer
    Options

    You need to match the kernel version you are running…

    Click on "Like" if you find my answer useful or click on "Yes" if it answers your question.
  • gz66
    gz66 Member Posts: 2 New User
    Options

    Apparently "6.4.15-200.fc38.x86_64" version doesn't have the required packages, what should I do?

  • billsey
    billsey ACE Posts: 32,024 Trailblazer
    Options

    Upgrade your distribution to one that does.

    Click on "Like" if you find my answer useful or click on "Yes" if it answers your question.
  • om_daryani
    om_daryani Member Posts: 1 New User
    Options

    hey, can you help me with this, when i'm building the kernel, it says

    Skipping BTF generation for /kernel/linux-6.7.9/drivers/media/usb/uvc/uvcvideo.ko due to unavailability of vmlinux

    and when i'm running,

    sudo insmod ./uvnvideo.ko

    It says,

    insmod: ERROR: could not load module ./uvnvideo.ko: No such file or directory

  • billsey
    billsey ACE Posts: 32,024 Trailblazer
    Options

    That sounds like you need vmlinux installed.

    Click on "Like" if you find my answer useful or click on "Yes" if it answers your question.