Aspire A514-55 V1.15 running Red Hat Enterprise 9.2

In the late 90-ties I ran Red Hat 5 and 6 on a number of laptops and PC’s. For a number of years, other distros have replaced it, and especially on newer laptops where RHEL’s stable distro brought older kernels with less supported hardware. Some time ago, I logged into my old RH account, dowloaded RHEL 9.2 and installed it on my Aspire A514-55 V1.15. As expected, it went mostly flawlessly, but as expected – Bluetooth and webcam didn’t work.

The truth is however, that those two parts of this nice laptop doesn’t work with any of the distros I’ve tested. Neither Ubuntu- or Arch-based ones. One option could be to just buy an external webcam, and I did. I could also just forget about Bluetooth, but I always ending up missing it when playing from Spotiy while I use the latop. The connection between my Technics headphones is depending on it to have the freedom of getting up from the chair without ripping the cord out of the computer.

So, what can one do? Compile a custom kernel! One which can support the two needed gadgets. After some «Googling» I found a modified source file for the Quanta Computer, Inc. ACER HD User Facing webcam. This file can be downloaded from here: https://raw.githubusercontent.com/Giuliano69/uvc_driver-for-Quanta-HD-User-Facing-0x0408-0x4035-/main/uvc_driver.c

I went for the kernel version 5.18.17 source code. It’s relatively new, and supported by the modified drivers source. After unpacking the source, replace the linux-5.18.17/drivers/media/usb/uvc/uvc_driver.c with the one you’ve just downloaded. Open it in nano or any other proper source code editor.

To be able to use the webcam, I had to modify it to acommodate the device number for my newer version of the webcam:

Add a new section like this above the section describing .idProduct = 0x4035:

/*
 * The Logitech cameras listed below have their interface class set to
 * VENDOR_SPEC because they don’t announce themselves as UVC devices,
even
 * though they are compliant.
 */
static const struct usb_device_id uvc_ids[] = {
        /* Quanta ACER HD User Facing */
        { .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, } },

Next, I had to modify the Bluetooth driver file linux-5.18.17/drivers/bluetooth/btusb.c
This file does support ID 04ca:3803 Lite-On Technology Corp. Wireless_Device, and I thought it would support my newer version of the same device – 3804. I did this by adding a new entry for it, just below the one for the 3803 device:

{ USB_DEVICE(0x04ca, 0x3804), .driver_info = BTUSB_MEDIATEK |

BTUSB_WIDEBAND_SPEECH |

BTUSB_VALID_LE_STATES },

Next, in linux-5.18.17, run ‘make mrproper’

After having done this, you could use the config file I’ve been working out, or you could make your own. Save it inside linux-5.18.17/ as .config

Unzip and remember to change CONFIG_LOCALVERSION=»-amd64-desktop-community-hwe-blix-full» to something you feel for.

Next, start the compilation with ‘make -j$(nproc) bzImage’ (will use all available cores to speed up the compilation

Then ‘make -j$(nproc) modules’

‘sudo make modules_install’

‘sudo make install’

Last thing to do: ‘sudo dracut –kver 5.18.17-<the name you selected in CONFIG_LOCALVERSION>’

Reboot and select your new kernel, with Bluetooth and webcam support.

Elias og Miriam på ett brett…

To av våre barnebarn – Elias og Miriam på ett brett, sommeren 2023

Og hva er dette til venstre?

Molta tell høyre, men ka e det tell venstre?

Anotherone bites the dust…

Ny bålpanne testes på hageplatten