====== ASUS Zenbook UX362-FA: zprovoznění zvuku ====== //Vytvořeno: **27.4.2019**// > **Poznámka k aktuálnosti:** Tento článek vychází z praktické zkušenosti z roku 2019. Postup i konkrétní patch v jádře nemusí odpovídat dnešnímu stavu podpory notebooku ani aktuálním verzím Ubuntu a Linux kernelu. [[https://www.asus.com/2-in-1-PCs/ASUS-ZenBook-Flip-13-UX362FA/|ASUS ZenBook Flip 13 UX362FA]] je konvertibilní notebook, na kterém po instalaci Ubuntu tehdy fungovala většina hardwaru bez zásahu. Jediný výraznější problém byl zvuk, který jsem nakonec rozchodil přes ruční úpravu zdrojových kódů jádra a vlastní kompilaci. ===== Kontext ===== Po čisté instalaci [[https://ubuntu.com/|Ubuntu 18.10]] fungovala Wi-Fi, dotykový displej i funkční klávesy. Problém byl jen se zvukem. Řešení, které jsem tehdy našel, vyžadovalo doplnění konkrétního modelu notebooku do quirk tabulky v kernelu a následnou kompilaci vlastního jádra. ===== Příprava systému na kompilaci jádra ===== Nejprve jsem doinstaloval balíčky potřebné pro sestavení jádra. Praktická poznámka z té doby byla počítat zhruba s 20 GB volného místa. sudo apt-get install git build-essential kernel-package fakeroot libncurses5-dev flex bison libssl-dev Jako základ jsem tehdy zvolil Ubuntu mainline větev 4.20 z [[https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.20/|kernel.ubuntu.com]], protože jsem chtěl zůstat u patchované ubuntu větve místo čistého kernelu z upstreamu. Stažení konkrétní revize zdrojového stromu a aplikace patchů vypadalo takto: git reset --hard 9f1a389a0b5b4004757759e26e2ff459016515ac cd v4.20 patch -p1 < ~/anyname/0001-base-packaging.patch patch -p1 < ~/anyname/0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch ===== Doplnění quirk záznamu pro zvuk ===== Nejprve bylo potřeba zjistit ''SubVendor'' a ''SubDevice'' hodnoty zvukové karty: sudo apt-get install hwinfo hwinfo --sound Ve zdrojovém případě vyšel tento důležitý úsek: SubVendor: pci 0x1043 "ASUSTeK Computer Inc." SubDevice: pci 0x13e1 Pak následovala úprava souboru ''sound/pci/hda/patch_realtek.c''. K existujícím ASUS záznamům bylo potřeba doplnit nový řádek pro UX362FA: SND_PCI_QUIRK(0x1043, 0x13e1, "ASUS UX362FA", ALC294_FIXUP_ASUS_SPK), Autor tehdy řádek přidával orientačně pod existující záznam: SND_PCI_QUIRK(0x1043, 0x10a1, "ASUS UX391UA", ALC294_FIXUP_ASUS_SPK), ===== Kompilace a instalace jádra ===== Po úpravě zdrojových kódů následovala standardní sestava jádra a instalace vzniklých balíčků: cp /boot/config-`uname -r` .config gedit .config make oldconfig make menuconfig make clean make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-custom sudo dpkg -i ../*.deb sudo update-grub sudo reboot ===== Výsledek ===== Po restartu zvuková karta naběhla včetně nahrávání zvuku. Šlo tedy o řešení, které tehdy fungovalo, ale za cenu vlastního kernelu a ruční údržby. ===== Zdroje ===== * [[https://www.asus.com/2-in-1-PCs/ASUS-ZenBook-Flip-13-UX362FA/|ASUS ZenBook Flip 13 UX362FA]] * [[https://forum.manjaro.org/t/alc294-analog-audio-card-detected-but-no-sound-internaly-or-headphones/54089/29|ALC294 analog audio card detected but no sound internaly or headphones]] * [[https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel|Ubuntu Wiki: Build your own kernel]] * [[https://askubuntu.com/questions/724900/how-to-apply-kernel-patches|Ask Ubuntu: How to apply kernel patches]] * [[https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.20/|kernel.ubuntu.com: kernel v4.20]]