关于在X86的chromebook上安装没有声音的解决方案

1、找到你的声卡名称:启动原机的chrome os,进入shell(dev模式,control-alt-t 输入shell)。使用chronos用户名登录。运行lsmod。找到snd_xxxxx(比如snd_cht_rt5640 或则snd_bytcht_es8316),这个后面的字符就是你的声卡名称。如果你没有找到类似的内核模块,说明本系统没有内置你的声卡驱动。(高手可以下载4.14linux kernel,编译你的声卡内核模块)
2、到/usr/share/alsa/ucm里面找到你声卡的配置文件目录,这个目录跟你的声卡名称一样,里面包含一个跟目录名称一样的conf文件,和一个HiFi文件。将这个目录copy到FydeOS系统盘第三个分区相同的目录中(如果插入你的chromebook,应该在/media目录中自动mount)。
3、启动FydeOS,系统会自动调用这个ucm文件完成声卡的最后配置工作。

3 个赞

不是太懂说的什么。
在chromebook上弃用原来的chromeos刷BIOS装FYDEOS?
没有找到类似的模块,说明本系统没有内置你的声卡驱动,本系统指的是chromeos还是fydeos?如果是chromeos,没有驱动那原来的机器是怎么出声音的呢。

确实有些错误。编辑的时候少了一句,要现在FydeOS上看看是否正确加载了自己声卡的内核驱动,跟原生ChromeOS对比一下,如果连驱动都没有加载,就不用费心搞后面的ucm配置文件了。

Linux Kernel4.4以上版本就移除了相关声卡的驱动,自己编译很麻烦。。。

1 个赞

我们已经在最新的版本里加入了更多的驱动,包括声卡和wifi驱动,有兴趣的可以再试一下。

联想n21无法使用wifi了,上个版本正常

求chromebook原机器chrome os系统的声卡配置文件,10代intel酷睿cpu,比如i3-10110、i5-10210,声卡是intel 02c8。
所需要的intel 声卡配置文件在/usr/share/alsa/ucm目录,因为我已经安装fydeos没有保留原系统了,请广大fydeos社区朋友们帮个忙。

添加驱动 出现Read-only file system
查询需要must be superuser to use mount
输入su 输入密码总是错误

sudo su

localhost / # cp ~/Downloads/broadwell-rt286 /usr/share/alsa/ucm
cp: cannot stat ‘/root/Downloads/broadwell-rt286’: No such file or directory
localhost / #
湿了几下 都是这种问题 都是怎么装驱动的

现在不一定适用了,系统改动比较大,可以看看 Chromebook 折腾大神的分享:

太复杂了,不会编译声卡内核啊。能不能帮我编译一个ESSX8336的声卡驱动的内核?

你的要求有点像学车用自动档,但是考手动挡的驾照。

想请教下,ASUS C302的声卡需要加载的是Snd_skl_nau88l25_max98537a,目前安装FydeOS for PC v18,/usr/share/alas/ucm/sklnau8825max/中包含HiFi.conf和sklnau8825max.conf的,是不是说明v18的内核已经自带了对于skl_n88l25_m98357a的支持?

如果找到合适的skl_n88l25_m98357a-tplg.bin和dfw_sst.binf,是不是就能解决声卡的问题?

ucm 的conf文件只是声卡配置文件,必须先有声卡驱动再配合conf文件才能让声卡正常工作,声卡驱动是基础。
\lib\modules\"xxx内核版本号xx"\kernel\sound\soc\intel\boards\目录下,有skl_nau88l25_max98357a.ko文件的话,才是当前内核有对该声卡的驱动支持。

感谢回复,检查过了/lib中包含skl_nau88l25_max98357a.ko文件。
目前通过替换/lib/firmware/skl_n88l25_m98357a-tplg.bin的方式,已经让系统可以调节音量了,但实际还是没声音,dmesg报错 Asoc: Parent card not available.

1 个赞

信息太少了,贴完整的日志看看。

一种可以尝试的方法:
新建/etc/modprobe.d/inteldsp.conf文件,
文件内容:

options snd-intel-dspcfg dsp_driver=2

或者也可以直接通过shell命令行创建

echo "options snd-intel-dspcfg dsp_driver=2" >> /etc/modprobe.d/inteldsp.conf

重启设备,检查是否解决问题。

chronos@amd64-fydeos / $ sudo lsmod | grep snd
snd_soc_skl_ssp_clk 16384 0
snd_skl_nau88l25_max98357a 24576 2
snd_soc_hdac_hdmi 28672 1 snd_skl_nau88l25_max98357a
snd_soc_dmic 16384 1
snd_soc_skl 110592 1 snd_soc_skl_ssp_clk
snd_soc_sst_ipc 16384 1 snd_soc_skl
snd_soc_sst_dsp 20480 1 snd_soc_skl
snd_soc_hdac_hda 20480 1 snd_soc_skl
snd_hda_ext_core 16384 3 snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_skl
snd_soc_acpi_intel_match 40960 1 snd_soc_skl
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_soc_skl
snd_hda_intel 32768 0
snd_intel_dspcfg 16384 2 snd_hda_intel,snd_soc_skl
snd_hda_codec 94208 2 snd_hda_intel,snd_soc_hdac_hda
snd_hda_core 57344 6 snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_skl
snd_hwdep 16384 1 snd_hda_codec
snd_soc_nau8825 40960 2 snd_skl_nau88l25_max98357a
snd_soc_max98357a 16384 1
snd_soc_core 167936 7 snd_skl_nau88l25_max98357a,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_max98357a,snd_soc_skl,snd_soc_dmic,snd_soc_nau8825
snd_compress 20480 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm 81920 9 snd_skl_nau88l25_max98357a,snd_hda_intel,snd_hda_codec,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core,snd_soc_nau8825
snd_timer 28672 1 snd_pcm

chronos@amd64-fydeos / $ sudo dmesg | grep snd
[ 7.266017] snd_intel_dspcfg: unknown parameter ‘snd_driver’ ignored
[ 7.301995] pci 0000:00:1f.3: attach allowed to drvr snd_hda_intel [trusted device]
[ 7.302035] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 7.394005] pci 0000:00:1f.3: attach allowed to drvr snd_soc_skl [trusted device]
[ 7.394044] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 7.400617] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops icl_is_hdr_plane [i915])
[ 9.725211] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-INTEL-SCRDMAX-0-tplg.bin failed with error -2
[ 9.725218] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-INTEL-SCRDMAX-0-tplg.bin load failed with -2, trying alternative tplg name skl_n88l25_m98357a-tplg.bin
[ 9.729585] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred

完整日志如下:
varmessage.txt (233.1 KB)