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/
- The new kernel will boot by default