These instructions are meant for a system with EFI, systemd-boot and deb based packages. Adjust them to your needs.
Reference: https://www.kernel.org/doc/Documentation/acpi/initrd_table_override.txt
See also https://github.com/lbschenkel/acer-sf314_43-acpi-patch
ACPICA tools: https://acpica.org/downloads
sudo apt install acpica-tools
Extract the acpi tables
mkdir acpi && cd acpi
sudo acpidump -b
Disassemble the tables
iasl -d dsdt.dat
Modify or patch the tables
vim dsdt.dsl
Assemble the custom tables
iasl -sa dsdt.dsl
Generate the cpio file for initrd
cd ..
mkdir -p kernel/firmware/acpi
cp acpi/dsdt.aml kernel/firmware/acpi/
find kernel | cpio -H newc --create > patched_acpi_tables.cpio
Grub does not require a cpio file, you can directly provide the dsl file.
SSDT tables add missing features to the existing ACPI, without requiring disassembling. They are created using the same tools and procedure.
Assemble the custom tables
iasl -sa ssdt.dsl
Generate the cpio file for initrd
cd ..
mkdir -p kernel/firmware/acpi
cp acpi/ssdt.aml kernel/firmware/acpi/
find kernel | cpio -H newc --create > patched_acpi_tables.cpio
Copy the cpio file with the custom tables where it can be addressed by the EFI boot
sudo mkdir /boot/efi/EFI/acpi
sudo cp patched_acpi_tables.cpio /boot/efi/EFI/acpi/
Edit the entry sudo vim /boot/efi/loader/entries/Pop_OS-current.conf
linux /EFI/...
initrd /EFI/acpi/patched_acpi_tables.cpio
initrd /EFI/Pop_OS-.../initrd.img
options ...
@fermino I have the same CSC3551 issue coming with my ASUS ROG Zephyrus G14 GA402XV as this one, and your way of applying a SSDT patch did make Linux correctly detect the woofer speakers. Unfortunately, after that, due to some unknown reason, the laptop started becoming hot and noisy even when idling. The battery started to drain very quickly after being unplugged, and battery life dropped from ~10hrs to 2-3hrs. Even when the laptop was under sleep the battery continued draining.
After some attempts it looks like this way of patching is indeed the culprit. The correct way instead is to copy the cpio file to /boot and add this file in the initrd line, such like this:
initrd /patched_acpi_tables.cpio /initramfs-linux.img
Now the battery life goes back to normal while the woofer speakers are still detected and working.