Fully functional (incl Bluetooth, sound and webcam) Acer Aspire A514-55 v: V1.15 running Deepin 20.8 Linux

After having bought a brand new Acer Aspire A514-55 I soon noticed that I was missing some vital functions. Bluetooth, webcam and audio. I tested it against a few different Linux distros – Ubuntu-based and Arch based. On a few, the audio worked out of the box, but webcam and Bluetooth never worked. So I decided to nail down the problems using Deepin 20.8. Mostly because I like the interface, and it still runs on a 5.xx kernel, for which I’d found a modified c-file for the uvc_driver that made the webcam working after making my own small adjustments to.

Before starting to work on the Deepin solution I tested the laptop on a couple of Arch-based versions like Garuda and Manjaro with kernel 6.2, without any luck with the webcam and Bluetooth.

The two devices not recognized out of the box are:

Bus 003 Device 002: ID 0408:4033 Quanta Computer, Inc. (webcam)
Bus 003 Device 003: ID 04ca:3804 Lite-On Technology Corp. (Bluetooth)

Deepin 20.8 solution:

  • Running kernel 5.18.17-amd64-desktop-community-hwe
  • I installed libelf-dev dpkg-dev libssl-dev bison bc flex build-essential to give me some missing tools.
  • Unpacking the source with ‘tar zxvf inux-5.18.17.tar.gz’
  • Then I modified the files in drivers/bluetooth and drivers/media/usb/uvc to enable the devices I was missing.
  • You can download the two files: btusb.c and uvc_driver.c at the bottom
  • In linux-5.18.17, run ‘make mrproper’ and ‘make clean* to clean the source tree for old configs
  • To save you a lot of work I have prepared a .config you can use to compile the new kernel with all the new functions. You can get it from here:
    • I’ve tweaked it to also include support for Soundwire and Thunderbolt 4.
  • To prevent the new kernel from getting the same name as the running (original) kernel (and overwriting it), give it a dedicated local version by editing .config
  • The section to modify is CONFIG_LOCALVERSION=»»
  • Mine looks like this CONFIG_LOCALVERSION=»-amd64-desktop-community-hwe-blix»
  • Next, start the compilation with ‘make -j$(nproc)’ (will use all available cores to speed up the compilation
  • After a successful compilation:
    ‘sudo make modules_install’
    ‘sudo make install’
  • Next we need to update the firmware for the Intel sound device:
  • wget https://github.com/thesofproject/sof-bin/releases/download/v1.9.3/sof-bin-v1.9.3.tar.gz
  • tar xvzf sof-bin-v1.9.3.tar.gz
  • cd sof-bin-v1.9.3/
  • sudo rm -rf /lib/firmware/intel/*
  • sudo rsync -a sof-tplg-v1.9.3/* /lib/firmware/intel/sof-tplg/
  • sudo rsync -a sof-v1.9.3/* /lib/firmware/intel/sof/
  • ‘reboot’
  • The new kernel will boot by default