重启后 Ubuntu 20.04 中只有“虚拟输出”(声音) - 损坏的驱动程序/模块

san*_*lio 28 sound kernel alsa drivers 20.04

我现在使用 Ubuntu 20.04 一个多月了。重新启动后,我没有更多的声音和 WiFi。请注意,这与许多其他帖子不同,这些帖子在升级后似乎完全没有声音。在这种情况下,声音仅在重新启动后停止工作。

至于声音,我似乎没有适合 sound 的内核模块,所以我想最可能的解决方案是使模块可用(似乎我有两个声卡)。我将尝试在下面 (1) 中包含尽可能多的与具有类似问题的大量帖子相关的信息。

我在下面列出了 (2) 我认为在当前修复工作进行中最有用的帖子。

我在下面列出了我在草高时检查过的其他帖子(3)。


(1)有关我损坏的系统的信息,以及与我在设法拼凑在一起的工作系统中看到的内容的比较。

  1. 没有/proc/asound目录。
    相对
    $ cat /proc/asound/cards
     0 [PCH            ]: HDA-Intel - HDA Intel PCH
                          HDA Intel PCH at 0x604b108000 irq 159
     1 [NVidia         ]: HDA-Intel - HDA NVidia
                          HDA NVidia at 0xa4000000 irq 17
Run Code Online (Sandbox Code Playgroud)
  1. $ lsmod | grep snd什么都不输出。
    对比(也与比较)
    $ lsmod | grep snd_hda_intel
    snd_hda_intel          53248  10
    snd_intel_dspcfg       24576  3 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common
    snd_hda_codec         131072  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
    snd_hda_core           90112  9 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
    snd_pcm               106496  9 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
    snd                    90112  33 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm,snd_rawmidi
Run Code Online (Sandbox Code Playgroud)
  1. 内核模块
    $ dpkg -L linux-modules-5.4.0-40-generic | grep snd
    /lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-dummy.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-midi-emul.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-midi-event.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-midi.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-virmidi.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-compress.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-hrtimer.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-hwdep.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-pcm-dmaengine.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-pcm.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-rawmidi.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-seq-device.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-timer.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/core/snd.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/drivers/pcsp/snd-pcsp.ko
    /lib/modules/5.4.0-40-generic/kernel/sound/pci/snd-ens1370.ko
Run Code Online (Sandbox Code Playgroud)

对比完全一样

我如何检查这些是否是我需要的?
我如何检查其中任何一项是否与上面第 2 项中列出的英特尔的产品相符?
如何加载这些模块?

  1. inxi
    $ inxi -SA
    System:    Host: Hydrus1 Kernel: 5.4.0-40-generic x86_64 bits: 64 Desktop: Gnome 3.36.1 Distro: Ubuntu 20.04 LTS (Focal Fossa) 
    Audio:     Device-1: Intel 6 Series/C200 Series Family High Definition Audio driver: N/A 
               Device-2: NVIDIA GF104 High Definition Audio driver: N/A 
Run Code Online (Sandbox Code Playgroud)

对比(也与比较)

    $ inxi -SA
    System:    Host: ViaLactea Kernel: 5.4.0-40-generic x86_64 bits: 64 Console: tty 0 Distro: Ubuntu 20.04 LTS (Focal Fossa)
    Audio:     Device-1: Intel Cannon Lake PCH cAVS driver: snd_hda_intel
               Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel
               Sound Server: ALSA v: k5.4.0-40-generic
Run Code Online (Sandbox Code Playgroud)
  1. lspci

    $ lspci -nnk | grep -A 1 Audio
    00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
        DeviceName:  Onboard Audio
        Subsystem: Dell 6 Series/C200 Series Chipset Family High Definition Audio Controller [1028:04a4]
    00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)
    --
    01:00.1 Audio device [0403]: NVIDIA Corporation GF104 High Definition Audio Controller [10de:0beb] (rev a1)
        Subsystem: Dell GF104 High Definition Audio Controller [1028:04a4]
    03:00.0 Network controller [0280]: Intel Corporation Centrino Ultimate-N 6300 [8086:422b] (rev 35)
    
    Run Code Online (Sandbox Code Playgroud)

相对

    $ lspci -nnk | grep -n -A 4 Audio
    49:00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
    50-     Subsystem: Lenovo Cannon Lake PCH cAVS [17aa:225f]
    51-     Kernel driver in use: snd_hda_intel
    52-     Kernel modules: snd_hda_intel, snd_sof_pci
    53-00:1f.4 SMBus [0c05]: Intel Corporation Cannon Lake PCH SMBus Controller [8086:a323] (rev 10)
    --
    67:01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
    68-     Kernel driver in use: snd_hda_intel
    69-     Kernel modules: snd_hda_intel
    70-70:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader [10ec:525a] (rev 01)
    71-     Subsystem: Lenovo RTS525A PCI Express Card Reader [17aa:225f]
Run Code Online (Sandbox Code Playgroud)
  1. 系统(对战一模一样的内核)

    $ uname -a
    Linux Hydrus1 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    
    Run Code Online (Sandbox Code Playgroud)
  2. 测试声音

    $ aplay -l
    aplay: device_list:274: no soundcards found...
    
    Run Code Online (Sandbox Code Playgroud)

相对

    $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: PCH [HDA Intel PCH], device 0: ALC285 Analog [ALC285 Analog]
      Subdevices: 0/1
      Subdevice #0: subdevice #0
    card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    ...
Run Code Online (Sandbox Code Playgroud)
  1. lshw
        $ lshw -C multimedia
        WARNING: you should run this program as super-user.
          *-multimedia UNCLAIMED    
               description: Audio device
               product: GF104 High Definition Audio Controller
               vendor: NVIDIA Corporation
               physical id: 0.1
               bus info: pci@0000:01:00.1
               version: a1
               width: 32 bits
               clock: 33MHz
               capabilities: bus_master cap_list
               configuration: latency=0
               resources: memory:e0080000-e0083fff
          *-multimedia UNCLAIMED
               description: Audio device
               product: 6 Series/C200 Series Chipset Family High Definition Audio Controller
               vendor: Intel Corporation
               physical id: 1b
               bus info: pci@0000:00:1b.0
               version: 04
               width: 64 bits
               clock: 33MHz
               capabilities: bus_master cap_list
               configuration: latency=0
               resources: memory:e1e50000-e1e53fff
        WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
Run Code Online (Sandbox Code Playgroud)

这里引用(注意驱动程序)

    $ sudo lshw -C multimedia
      *-multimedia              
           description: Audio device
           product: GP104 High Definition Audio Controller
           vendor: NVIDIA Corporation
           physical id: 0.1
           bus info: pci@0000:01:00.1
           version: a1
           width: 32 bits
           clock: 33MHz
           capabilities: pm msi pciexpress bus_master cap_list
           configuration: driver=snd_hda_intel latency=0
           resources: irq:17 memory:f7080000-f7083fff
Run Code Online (Sandbox Code Playgroud)
  1. alsa 包裹

    $ dpkg -l | grep alsa
    ii  alsa-base                                     1.0.25+dfsg-0ubuntu5                all          ALSA driver configuration files
    ii  alsa-tools-gui                                1.1.7-1ubuntu1                      amd64        GUI based ALSA utilities for specific hardware
    ii  alsa-topology-conf                            1.2.2-1                             all          ALSA topology configuration files
    ii  alsa-ucm-conf                                 1.2.2-1ubuntu0.1                    all          ALSA Use Case Manager configuration files
    ii  alsa-utils                                    1.2.2-1ubuntu1                      amd64        Utilities for configuring and using ALSA
    ii  gstreamer1.0-alsa:amd64                       1.16.2-4                            amd64        GStreamer plugin for ALSA
    ii  libsox-fmt-alsa:amd64                         14.4.2+git20190427-2                amd64        SoX alsa format I/O library
    
    Run Code Online (Sandbox Code Playgroud)
  2. 插耳机也没声音。

  3. 我没有timidity-daemon删除。

  4. 尝试重新加载

    $ sudo alsa force-reload
    [sudo] password for user1: 
    Unloading ALSA sound driver modules: (none loaded).
    Loading ALSA sound driver modules: (none to reload).
    
    Run Code Online (Sandbox Code Playgroud)
  5. 模组探针

    $ grep intel /etc/modprobe.d/alsa-base.conf 
    options snd-intel8x0m index=-2
    
    Run Code Online (Sandbox Code Playgroud)

(2)相关且可能有用的帖子

无法使声音正常工作。Ubuntu 服务器 14.04.3

https://forums.linuxmint.com/viewtopic.php?t=221745

https://ubuntuforums.org/showthread.php?t=1684576

如何在启动时加载“snd-hda-intel”


(三)其他相关岗位

https://www.alsa-project.org/wiki/Matrix:Module-hda-intel

https://askubuntu.com/a/1244118/226614。最近的帖子,接受的答案。建议使用 appa进行固定。我不确定这会让事情变得更糟......

https://askubuntu.com/a/1249071/226614。最近贴文。建议使用 sudo setfacl -mu:user1:rw /dev/snd/* 试过这个,没有帮助。

https://askubuntu.com/a/847954/226614。旧帖子,接受的答案。建议安装alsa-firmware-loadersalsa-base。我不确定这仍然适用......

如何为 Creative Labs Audigy2 声卡安装缺少的固件?. 还有老帖子。还表明UNCLAIMED设备是由于固件问题。 为什么重启后会出现这个问题?

升级时没有声音(18.04 -> 20.04)只有“虚拟输出”

升级到 Ubuntu 20.04 后待机后的虚拟输出

20.04:从 Ubuntu 18.04 LTS 升级后,内部扬声器(音频)在 Ubuntu 20.04 LTS 中不起作用

Ubuntu 20.04 - 没有声音

脉冲音频未检测到声卡(但由 alsa)

如何为 Creative Labs Audigy2 声卡安装缺少的固件?

https://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/

san*_*lio 9

编辑: 在某些情况下,更新内核时避免丢失内核 linux-modules-extra-XX-generic可能有助于避免将来出现此问题。(我实际上在新的自动更新后再次遇到了同样的问题,然后确定了丢失的包)。


摘要:我设法

  1. 了解我的系统丢失了哪些文件。 这是我的主要障碍,在此评论的帮助下解决了,现在作为答案发布。剩下的就简单了
  2. 了解哪个包裹可以容纳它们。
  3. 安装它。

在尝试了很多事情之后,我已经解决了这个问题。除了我损坏的系统S1之外,还必须有一个类似的工作系统S2可用。我很幸运有这个,我想否则可能会花费我很多额外的时间。

详细说明上面的步骤列表:

  1. S1 中

     $ modprobe --show-depends snd_hda_intel
     modprobe: FATAL: Module snd_hda_intel not found in directory /lib/modules/5.4.0-40-generic
    
    Run Code Online (Sandbox Code Playgroud)

    S2 中

     $ modprobe --show-depends snd_hda_intel
     insmod /lib/modules/5.4.0-40-generic/kernel/sound/soundcore.ko
     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/5.4.0-40-generic/kernel/sound/core/snd-timer.ko
     install /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
     insmod /lib/modules/5.4.0-40-generic/kernel/sound/core/snd-hwdep.ko
     insmod /lib/modules/5.4.0-40-generic/kernel/sound/hda/snd-hda-core.ko
     insmod /lib/modules/5.4.0-40-generic/kernel/sound/pci/hda/snd-hda-codec.ko
     insmod /lib/modules/5.4.0-40-generic/kernel/sound/hda/snd-intel-dspcfg.ko
     insmod /lib/modules/5.4.0-40-generic/kernel/sound/pci/hda/snd-hda-intel.ko
    
    Run Code Online (Sandbox Code Playgroud)

    我的S1 中有前三个.ko文件,但没有后四个。

  2. 所以我检查了S2中最后四个文件的所有者包。

     $ dpkg -S /lib/modules/5.4.0-40-generic/kernel/sound/hda/snd-hda-core.ko
     linux-modules-extra-5.4.0-40-generic: /lib/modules/5.4.0-40-generic/kernel/sound/hda/snd-hda-core.ko
    
    Run Code Online (Sandbox Code Playgroud)

    这与S1 中缺少的其他三个文件相同。我查了一下,这个包没有安装在S1 中

  3. apt-get拿了包,重新启动,现在一切似乎都恢复正常了。

我的猜测是该软件包在声音工作期间存在,并且出于某种奇怪的原因从dkpg数据库中卸载(或删除,或...),或者...?

笔记:

  1. 5.4.0-39S1 中也有内核,在修复工作之前,声音在这个内核中也不起作用。结果linux-modules-extra-5.4.0-39-generic也没有安装。

  2. 关于(编译的)内核驱动程序与(可加载的)内核驱动程序/模块:请参阅.


abu*_*bua 9

尝试检查所有依赖项是否正确:

modprobe --show-depends snd_hda_intel 
Run Code Online (Sandbox Code Playgroud)

并检查内核模块是否存在:

find /lib/modules/$(uname -r)/kernel/sound -name snd-hda-intel.ko
Run Code Online (Sandbox Code Playgroud)

顺便说一句,解决 alsa/声音问题的正确论坛是 alsa 论坛(alsa-project.org/wiki/Main_Page)。

顺便说一句:有一个漂亮的脚本可以上传调试声音问题的所有必要信息 --> wiki.ubuntu.com/Audio/AlsaInfo;您也可以使用sudo apt install alsa-utils. 运行脚本alsa-info,这将帮助您以最少的努力打印所有必要的信息,以解决未来的问题。

由于缺少内核本身,您必须通过以下软件包安装它:

sudo apt install linux-modules-extra-$(uname -r)
Run Code Online (Sandbox Code Playgroud)

  • 在 ubuntu focus 中,这必须是 `linux-modules-extra-$(uname -r)` 因为 `uname -r` 打印一个以 `-generic` 结尾的字符串。像这样使用:`sudo apt-get install linux-modules-extra-$(uname -r)` (2认同)

Yua*_*nW. 8

有同样的问题,我只是做了:

sudo killall timidity
Run Code Online (Sandbox Code Playgroud)

然后声音又回来了。

但是重启后,又没有声音了。

然后我想出了禁用胆怯的正确方法:

sudo systemctl stop timidity.service
sudo systemctl disable timidity.service
Run Code Online (Sandbox Code Playgroud)

  • 为我工作,所以我想知道为什么我首先需要胆怯...... (2认同)

小智 6

请尝试这个

$ sudo apt-get install --reinstall alsa-base pulseaudio
$ sudo alsa force-reload
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

21705 次

最近记录:

4 年,4 月 前