pacmd list-cards - 声卡被 lspci 检测到但不能用作输出设备 - Realtek ALC1220 / AMD Starship/Matisse

pacmd list-cards - 声卡被 lspci 检测到但不能用作输出设备 - Realtek ALC1220 / AMD Starship/Matisse

我在 Ubuntu 20.04 - 内核上5.8.0-53-generic

我有一个Realtek ALC1220 / AMD Starship/Matisse集成声卡尚未可用但确实被检测到。

以下是我尝试过的:

$ lspci -nnk | grep -A2 Audio
   0b:00.1 Audio device [0403]: NVIDIA Corporation TU116 High Definition Audio Controller [10de:1aeb] (rev a1)
      Subsystem: Micro-Star International Co., Ltd. [MSI] TU116 High Definition Audio Controller [1462:3850]
      Kernel driver in use: snd_hda_intel
      Kernel modules: snd_hda_intel
   --
   0d:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
      Subsystem: ASRock Incorporation Starship/Matisse HD Audio Controller [1849:2225]
      Kernel driver in use: snd_hda_intel
      Kernel modules: snd_hda_intel

我不知道为什么它被描述为“AMD Starship/Matisse HD 音频控制器 [1022:1487]“因为根据主板规格,它是Realtek ALC1220并且 Realtek 芯片在主板上。

然后当我hwinfo --sound这样做时它也会显示:

$ hwinfo --sound
38: PCI b00.1: 0403 Audio device                                
  [Created at pci.386]
  Unique ID: 94OI.jIn_AT3E4+2
  Parent ID: w+J7.mexhps_MX6B
  SysFS ID: /devices/pci0000:00/0000:00:03.1/0000:0b:00.1
  SysFS BusID: 0000:0b:00.1
  Hardware Class: sound
  Model: "nVidia Audio device"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x1aeb 
  SubVendor: pci 0x1462 "Micro-Star International Co., Ltd. [MSI]"
  SubDevice: pci 0x3850 
  Revision: 0xa1
  Driver: "snd_hda_intel"
  Driver Modules: "snd_hda_intel"
  Memory Range: 0xfc080000-0xfc083fff (rw,non-prefetchable)
  IRQ: 124 (444 events)
  Module Alias: "pci:v000010DEd00001AEBsv00001462sd00003850bc04sc03i00"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #7 (PCI bridge)

39: PCI d00.4: 0403 Audio device
  [Created at pci.386]
  Unique ID: 6mF5.Guo4_MApwo4
  Parent ID: JZZT.YJhZDzGYdS4
  SysFS ID: /devices/pci0000:00/0000:00:08.1/0000:0d:00.4
  SysFS BusID: 0000:0d:00.4
  Hardware Class: sound
  Model: "AMD Starship/Matisse HD Audio Controller"
  Vendor: pci 0x1022 "AMD"
  Device: pci 0x1487 "Starship/Matisse HD Audio Controller"
  SubVendor: pci 0x1849 "ASRock Incorporation"
  SubDevice: pci 0x2225 
  Driver: "snd_hda_intel"
  Driver Modules: "snd_hda_intel"
  Memory Range: 0xfcc00000-0xfcc07fff (rw,non-prefetchable)
  IRQ: 126 (no events)
  Module Alias: "pci:v00001022d00001487sv00001849sd00002225bc04sc03i00"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #32 (PCI bridge)

但是当我这样做时pacmd list-cards它并没有显示所以我无法切换到它:

$ pacmd list-cards
   1 card(s) available.
      index: 0
      name: <alsa_card.pci-0000_0b_00.1>
      driver: <module-alsa-card.c>
      owner module: 7
      properties:
         alsa.card = "0"
         alsa.card_name = "HDA NVidia"
         alsa.long_card_name = "HDA NVidia at 0xfc080000 irq 124"
         alsa.driver_name = "snd_hda_intel"
         device.bus_path = "pci-0000:0b:00.1"
         sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:0b:00.1/sound/card0"
         device.bus = "pci"
         device.vendor.id = "10de"
         device.vendor.name = "NVIDIA Corporation"
         device.product.id = "1aeb"
         device.product.name = "TU116 High Definition Audio Controller"
         device.string = "0"
         device.description = "TU116 High Definition Audio Controller"
         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: unknown)
         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)
         output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: no)
         output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (priority 600, available: no)
         output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (priority 600, available: no)
         output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: no)
         output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (priority 600, available: no)
         output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (priority 600, available: no)
         output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (priority 5700, available: no)
         output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (priority 600, available: no)
         output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (priority 600, available: no)
         output:hdmi-stereo-extra6: Digital Stereo (HDMI 7) Output (priority 5700, available: no)
         output:hdmi-surround-extra6: Digital Surround 5.1 (HDMI 7) Output (priority 600, available: no)
         output:hdmi-surround71-extra6: Digital Surround 7.1 (HDMI 7) Output (priority 600, available: no)
         off: Off (priority 0, available: unknown)
      active profile: <output:hdmi-stereo-extra1>
      sinks:
         alsa_output.pci-0000_0b_00.1.hdmi-stereo-extra1/#0: TU116 High Definition Audio Controller Digital Stereo (HDMI 2)
      sources:
         alsa_output.pci-0000_0b_00.1.hdmi-stereo-extra1.monitor/#0: Monitor of TU116 High Definition Audio Controller Digital Stereo (HDMI 2)
      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: yes)
            properties:
               device.icon_name = "video-display"
               device.product.name = "VX2363 Series"
         hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
            properties:
               device.icon_name = "video-display"
         hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
            properties:
               device.icon_name = "video-display"
         hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no)
            properties:
               device.icon_name = "video-display"
         hdmi-output-5: HDMI / DisplayPort 6 (priority 5400, latency offset 0 usec, available: no)
            properties:
               device.icon_name = "video-display"
         hdmi-output-6: HDMI / DisplayPort 7 (priority 5300, latency offset 0 usec, available: no)
            properties:
               device.icon_name = "video-display"

alsamixer确实允许我选择它,但是当我这样做时,我得到的只是“此设备没有控件”,仅此而已。

在启动过程中,我得到:snd_hda_intel 0000:0d:00.4: no codecs found!

它没有在 Pulse Audio->Output Devices 中列出。

跑步dmesg | grep -i snd

[    4.686119] snd_hda_intel 0000:0b:00.1: enabling device (0000 -> 0002)
[    4.686207] snd_hda_intel 0000:0b:00.1: Disabling MSI
[    4.686215] snd_hda_intel 0000:0b:00.1: Handle vga_switcheroo audio client
[    4.686305] snd_hda_intel 0000:0d:00.4: enabling device (0000 -> 0002)
[    4.692177] snd_hda_intel 0000:0d:00.4: no codecs found!
[    5.083933] snd_hda_intel 0000:0b:00.1: bound 0000:0b:00.0 (ops nv50_audio_component_bind_ops [nouveau])
[  614.918468] Modules linked in: rfcomm cmac algif_hash algif_skcipher af_alg hid_logitech_hidpp udp_diag inet_diag input_leds joydev hid_logitech_dj hid_generic bnep btusb btrtl btbcm btintel bluetooth usbhid ecdh_generic hid ecc nfnetlink_queue nfnetlink vboxnetadp(OE) vboxnetflt(OE) ip6table_mangle iptable_mangle xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip6table_filter ip6_tables iptable_filter xt_NFQUEUE vboxdrv(OE) xt_tcpudp bpfilter snd_hda_codec_hdmi edac_mce_amd nouveau snd_hda_intel snd_intel_dspcfg binfmt_misc kvm_amd snd_hda_codec iwlmvm snd_hda_core snd_hwdep kvm mxm_wmi cdc_ether mac80211 snd_pcm usbnet video libarc4 r8152 crct10dif_pclmul ttm snd_seq_midi nls_iso8859_1 ghash_clmulni_intel mii snd_seq_midi_event drm_kms_helper snd_rawmidi iwlwifi cec snd_seq rc_core ucsi_ccg aesni_intel i2c_algo_bit snd_seq_device fb_sys_fops snd_timer crypto_simd syscopyarea typec_ucsi cryptd sysfillrect typec glue_helper cfg80211 k10temp wmi_bmof ccp snd sysimgblt

运行以下命令不能解决问题:

sudo modprobe snd_hda_codec_realtek

运行以下命令不能解决问题:

echo "0000:0b:00.1" > /sys/bus/pci/drivers/snd_hda_intel/unbind
modprobe -r snd_hda_intel
modprobe snd_hda_intel probe_mask=0x103

运行以下命令也不能解决问题:

echo "0000:0b:00.1" > /sys/bus/pci/drivers/snd_hda_intel/unbind
modprobe -r snd_hda_intel
modprobe snd_hda_intel probe_mask=0x1ff

我必须unbind先运行该命令,否则我将无法删除该模块,因为它正在使用中。

输出ls /proc/asound

card0 card1 cards devices Generic hwdep modules NVidia oss pcm seq timers version

输出ls /proc/asound/card0

codec#0 eld#0.0 eld#0.1 eld#0.10 eld#0.11 eld#0.12 eld#0.13 eld#0.14 eld#0.15 eld#0.2 eld#0.3 eld#0.4 eld#0.5 eld#0.6 eld#0.7 eld#0.8 eld#0.9 id pcm10p pcm11p pcm12p pcm3p pcm7p pcm8p pcm9p

输出ls /proc/asound/card1(这是我们需要运行的)

输出ls /proc/asound/card1

id

输出cat /proc/asound/card1/id

Generic

内容/etc/modprobe.d/alsa-base.conf

# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2

我看了看这里:“https://linux-hardware.org/?id=pci:1022-1487-1462-cb86“-设备“AMD Starship/Matisse HD 音频控制器”

看起来不太好。

我在这里找到了这个讨论:https://bugzilla.kernel.org/show_bug.cgi?id=206543我的也是 1022:1487,但我有一块 AsRock B550 Taichi 主板,而不是 TRX。这应该没关系,供应商 ID 和设备 ID 确实匹配。

我查看了 BIOS/EFI 并确保已启用高清音频。

我别无选择,不知道还能尝试什么。目前我通过 HDMI 接收音频,但如果我想使用麦克风,这对我没有帮助。

我也尝试了其他发行版 - 同样的问题,所以我不认为这与 Ubuntu 特别相关。

我编译了一个自定义内核 5.12.4,加载了它,但没有结果——同样的问题。

我也尝试过,sudo alsa force-reload但是没有用,它只是不会显示为输出设备,但确实被检测到。

答案1

遇到了同样的问题。我自己尝试了问题中的大部分步骤,但无济于事。

调查后,一些人报告说,他们成功地在 BIOS/UEFI 中禁用然后启用高清音频,并完全关闭电源。

BIOS 更新似乎也能解决一些人的问题。

这些解决方案对我来说不起作用,但我没有在您的尝试中看到列出它们。

相关内容