上个月我入手一台因特尔11代处理器N5100的笔记本电脑,搭载的音频处理芯片是顺芯ESSX8336,装上ubuntu22.04后我发现没有声音,多方求助无果。最后求助[email protected],经过多次提交内核log数据和alsa调试数据,这位高人[email protected]帮我找到了解决问题的办法。不少廉价笔记本都采用了这个芯片组合,所以我共享一下这个解决方案。
内核版本
我使用的内核是官方源提供的5.17,通过安装linux-oem-22.04a,其他版本也许不行。安装方法:
sudo apt install --install-recommends linux-oem-22.04a
固件
要安装来自https://github.com/yangxiaohua2009/custom-kernel的最新固件。
下载方法: git clone https://github.com/yangxiaohua2009/custom-kernel
安装过程:
cd custom-kernel
cp ./tplg/* /lib/firmware/intel/sof-tplg/
cp sof-jsl.ri /lib/firmware/intel/sof/
cp -r sof-essx8336 /usr/share/alsa/ucm2
复制 sof-jsl-es8336.tplg(关键之一)
因为linux 5.17内核驱动模块的错误,无法加载正确的alsa固件,我们只能把该芯片对应的固件文件sof-jsl-es8336-ssp1.tplg复制为sof-jsl-es8336.tplg。具体做法是:
cd /lib/firmware/intel/sof-tplg
cp sof-jsl-es8336-ssp1.tplg sof-jsl-es8336.tplg
修改驱动模块加载参数(关键之二)
经过[email protected]的研究,linux 5.17内核驱动模块错误识别了ESSX8336的驱动参数quirk,必须在加载驱动模块时指定该参数值为1,具体做法是修改/etc/modprobe.d/alsa-base.conf文件,增加一行:
options snd_soc_sof_8336 quirk=0x01
完成上面几步后重启,就能听到声音了!
解决ubuntu22.04上因特尔11代JasperLake芯片搭配音频芯片顺芯ESSX8336驱动问题的办法
-
- 帖子: 956
- 注册时间: 2006-01-06 22:55
- 系统: ubuntu
- 联系:
-
- 帖子: 2
- 注册时间: 2010-05-05 14:13
Re: 解决ubuntu22.04上因特尔11代JasperLake芯片搭配音频芯片顺芯ESSX8336驱动问题的办法
请问6.1的内核这个位置/etc/modprobe.d/没有alsa-base.conf文件,6.1内核上怎么操作呢?