让华硕 C302C (Chromebook) 上的声音正常工作

让华硕 C302C (Chromebook) 上的声音正常工作

我最近在我的 Asus C302C Chromebook 上安装了 Xubuntu。一切都很顺利,只是没有声音,这似乎是 Chromebook 上的常见问题。我读了很多页面并尝试了很多解决方案,但问题似乎归结为笔记本电脑无法识别要加载的内核模块。

以下是我的笔记本电脑的转储sudo alsa-infohttps://pastebin.com/gGJ2mXmP

我一直听说 GalliumOS 对 Chromebook 的支持很好,所以我加载了一个实时启动映像来查看声音是否有效,结果确实如此!我alsa-info也跑到那里看看它是如何工作的:https://pastebin.com/M1KYGkiZ

让我印象深刻的是,加载的 ALSA 模块是 snd_skl_nau88l25_max98357a。当我四处搜索时,我发现其他人在较旧的内核和 Ubuntu 版本上遇到了同样的问题,他们说你需要编译自己的内核才能启用该模块。

因此我编译了内核并且可以看到可用的模块:

$ lsmod | grep nau8825
snd_soc_nau8825        57344  0
snd_soc_core          294912  2 snd_soc_max98357a,snd_soc_nau8825
snd_pcm               131072  4 snd_compress,snd_soc_core,snd_soc_nau8825,snd_pcm_dmaengine

但仍然没有成功。我怎样才能强制 Alsa 使用这个模块?

更新 1:

我注意到这lspci表明声卡没有使用内核驱动程序:

$ lspci -nnk |  grep -A3 Audio
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)
    Kernel modules: snd_hda_intel, snd_soc_skl
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)
    Subsystem: Intel Corporation Sunrise Point-LP SMBus [8086:9d23]

但在 GalliumOS 上它使用的是 snd_soc_skl:

$ lspci -nnk | grep -A2 Audio
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)
    Kernel driver in use: snd_soc_skl
    Kernel modules: snd_hda_intel, snd_soc_skl

更新 2:

我意识到我已经将其snd_soc_skl列入了黑名单/etc/modprobe.d/blacklist.conf。我将其删除,现在lspci显示它正在被我的声卡使用。但仍然没有声音。

答案1

希望我使用同一台 Chromebook 的经验能有所帮助。我已设法使用上面提到的音频脚本存储库和 force-avs-install 在我的 Asus 302 上运行 ubuntu 23.04,但我不得不使用较新的内核(我使用了主线 6.3.5),因为默认的 ubuntu 23.04 内核不起作用。希望 23.10 内核能拥有一切,这样就不需要更改了。请注意扬声器损坏警告。

答案2

User1704879 的解决方案对我有用,但是除了他提供的工作/步骤之外,我还必须更新我的 coreboot 版本。您可以通过 MrChromeBox 脚本执行此操作。我还重置了 nvram 标志,因为它出于某种原因被锁定了。(nvram 重置在 MrChromeBox 脚本中)

答案3

由于您已经对默认声音设置进行了大量调整,我不知道这个答案是否仍然有效,但我已经验证它适用于在配备 Gemini Lake 处理器的 Chromebook 上运行的全新安装的 Kubuntu 23.04、Ubuntu MATE 23.04 和 Manjaro Linux。

有一个音频脚本Chromebooks 的存储库,适用于 Ubuntu 22.10 及更高版本。

git clone https://github.com/WeirdTreeThing/chromebook-linux-audio.git
cd chromebook-linux-audio
./setup-audio

然后重新启动。

相关内容