这是我第一次在这里发帖,我通常会尽量避免提问,但这严重超出了我的范围。
我最近将 Chromebook Lenovo 100e 转换为在 Linux 上运行,请记住,我当时刚接触 Linux,无论如何,我尝试在机器上安装 Arch Linux、Puppy Linux 和 Lubuntu,如果我不阻止安装 Pipewire 或任何其他音频包,Arch Linux 绝对会拒绝安装,puppy Linux 无法获得音频。Lubuntu 是唯一一个成功安装且没有任何问题的。我按照每一个帖子和在线教程操作,但无济于事,我将发布所有常见的要求信息:-
$ inxi -SMA
System:
Host: mo-robo Kernel: 6.4.12-060412-generic x86_64 bits: 64
Desktop: LXQt 0.17.1 Distro: Ubuntu 22.04.3 LTS (Jammy Jellyfish)
Machine:
Type: Laptop System: Google product: Robo v: rev3
serial: <superuser required>
Mobo: Google model: Robo v: rev3 serial: <superuser required>
UEFI: coreboot v: MrChromebox-4.20.1 date: 07/21/2023
Audio:
Device-1: Intel Celeron N3350/Pentium N4200/Atom E3900 Series Audio
Cluster
driver: snd_hda_intel
Sound Server-1: ALSA v: k6.4.12-060412-generic running: yes
Sound Server-2: PulseAudio v: 15.99.1 running: yes
$ pacmd list-cards
1 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_0e.0>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0x91210000 irq 124"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:0e.0"
sysfs.path = "/devices/pci0000:00/0000:00:0e.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "5a98"
device.product.name = "Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
off: Off (priority 0, available: unknown)
active profile: <off>
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
$ modprobe --show-depends snd_hda_intel
insmod /lib/modules/6.4.12-060412-generic/kernel/sound/soundcore.ko.zst
install /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
insmod /lib/modules/6.4.12-060412-generic/kernel/sound/core/snd-timer.ko.zst
install /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
insmod /lib/modules/6.4.12-060412-generic/kernel/sound/core/snd-hwdep.ko.zst
insmod /lib/modules/6.4.12-060412-generic/kernel/sound/hda/snd-hda-core.ko.zst
insmod /lib/modules/6.4.12-060412-generic/kernel/sound/pci/hda/snd-hda-codec.ko.zst
insmod /lib/modules/6.4.12-060412-generic/kernel/sound/hda/snd-intel-sdw-acpi.ko.zst
insmod /lib/modules/6.4.12-060412-generic/kernel/sound/hda/snd-intel-dspcfg.ko.zst dsp_driver=1
insmod /lib/modules/6.4.12-060412-generic/kernel/sound/pci/hda/snd-hda-intel.ko.zst dmic_detect=0
我可能得出了错误的结论,但是否可以安全地假设当前的多媒体卡不适用于当前的Linux内核,在研究音频卡时我偶然发现了这一点https://www.intel.com/content/www/us/en/download/18857/audio-firmware-and-user-guide-for-the-intel-atom-processor-e3900-series-intel-celeron-processor-n3350-and-intel-pentium-processor-n4200-on-yocto-project.html
我对 Linux 的了解还不够,无法安装此固件或编辑和刻录 BIOS 或创建自定义 Linux 内核映像。我想知道我是否遗漏了什么,我尝试了所有涉及 Alsa、Pulseaudio 和 Pipewire 的解决方案,并编辑了 Modprobe 和其他相关文件,但没有任何变化,是否可以安全地假设问题比软件不兼容更深层次。
我还尝试重新安装 firmware-sof-signed 和 ubuntu-drivers-common,但由于固件已更新,因此无法更新。另请注意,我已使用 Mainline Kernels 包将内核更新为最新的 Linux 内核,但这没有帮助。
感谢花时间阅读本文的所有人,如果我由于经验不足而遗漏了任何内容,请原谅我。
更新
因此,我对 ALSA 项目进行了一些研究,根据此信息,该卡似乎确实没有内置于 ALSA页PCI 供应商设备代码似乎没有作为驱动程序添加到 ALSA。进一步研究显示由于某种原因它从未被添加到内核。将研究进一步的解决方案。
如果有人知道如何将固件添加到内核或有好的资源,请通知我。
答案1
您可以从这存储库。
git clone https://github.com/WeirdTreeThing/chromebook-linux-audio
cd chromebook-linux-audio
./setup-audio
然后重启。