如何检查声卡是HDA模式还是I2S模式?

如何检查声卡是HDA模式还是I2S模式?

如何检查我的笔记本电脑 Dell XPS 13 (2015) (9343) 的声卡是否以 HDA 模式或 I2S 模式加载?

根据建筑维基百科,该笔记本电脑有双模声卡

硬件:

[mattia@arch-xps ~]$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Broadwell-U Host Bridge-OPI [8086:1604] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 5500 [8086:1616] (rev 09)
00:03.0 Audio device [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c] (rev 09)
00:04.0 Signal processing controller [1180]: Intel Corporation Broadwell-U Processor Thermal Subsystem [8086:1603] (rev 09)
00:14.0 USB controller [0c03]: Intel Corporation Wildcat Point-LP USB xHCI Controller [8086:9cb1] (rev 03)
00:16.0 Communication controller [0780]: Intel Corporation Wildcat Point-LP MEI Controller #1 [8086:9cba] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation Wildcat Point-LP High Definition Audio Controller [8086:9ca0] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 [8086:9c90] (rev e3)
00:1c.3 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 [8086:9c96] (rev e3)
00:1d.0 USB controller [0c03]: Intel Corporation Wildcat Point-LP USB EHCI Controller [8086:9ca6] (rev 03)
00:1f.0 ISA bridge [0601]: Intel Corporation Wildcat Point-LP LPC Controller [8086:9cc3] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] [8086:9c83] (rev 03)
00:1f.3 SMBus [0c05]: Intel Corporation Wildcat Point-LP SMBus Controller [8086:9ca2] (rev 03)
00:1f.6 Signal processing controller [1180]: Intel Corporation Wildcat Point-LP Thermal Management Controller [8086:9ca4] (rev 03)
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5249 PCI Express Card Reader [10ec:5249] (rev 01)
02:00.0 Network controller [0280]: Broadcom Limited BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)

消息:

[mattia@arch-xps ~]$ dmesg
[    0.000000] microcode: microcode updated early to revision 0x25, date = 2017-01-27
[    0.000000] Linux version 4.11.5-2-ck (mattia@arch-xps) (gcc version 7.1.1 20170516 (GCC) ) #1 SMP PREEMPT Thu Jun 15 18:44:16 CEST 2017
[    0.000000] Command line: initrd=\intel-ucode.img initrd=\initramfs-linux-ck.img root=PARTUUID=3a0ebdfc-e32f-4a35-a482-35dcfd8ee34a resume=PARTUUID=18f13113-dc7f-4138-8084-4e4a67c581ba elevator=bfq nowatchdog rw
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] e820: BIOS-provided physical RAM map:
...
[    1.134601] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[    1.134898] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    1.134905] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[    1.135992] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0004b810
[    1.135998] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
[    1.136266] hub 2-0:1.0: USB hub found
[    1.136284] hub 2-0:1.0: 11 ports detected
[    1.140057] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    1.140061] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 3
[    1.140221] hub 3-0:1.0: USB hub found
[    1.140235] hub 3-0:1.0: 4 ports detected
[    1.141794] ahci 0000:00:1f.2: version 3.0
[    1.141964] ahci 0000:00:1f.2: SSS flag set, parallel bus scan disabled
[    1.152044] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 4 ports 6 Gbps 0x8 impl SATA mode
[    1.152047] ahci 0000:00:1f.2: flags: 64bit ncq stag pm led clo only pio slum part deso sadm sds apst 
[    1.152452] scsi host0: ahci
[    1.152598] scsi host1: ahci
[    1.152697] scsi host2: ahci
[    1.152789] scsi host3: ahci
[    1.152825] ata1: DUMMY
[    1.152826] ata2: DUMMY
[    1.152826] ata3: DUMMY
[    1.152828] ata4: SATA max UDMA/133 abar m2048@0xf7422000 port 0xf7422280 irq 46
[    1.480802] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    1.483284] ata4.00: NCQ Send/Recv Log not supported
[    1.483290] ata4.00: ATA-9: SAMSUNG SSD PM851 M.2 2280 256GB, EXT25D0Q, max UDMA/133
[    1.483294] ata4.00: 500118192 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    1.484011] ata4.00: NCQ Send/Recv Log not supported
[    1.484068] ata4.00: configured for UDMA/133
[    1.484431] scsi 3:0:0:0: Direct-Access     ATA      SAMSUNG SSD PM85 5D0Q PQ: 0 ANSI: 5
[    1.487748] usb 1-1: new high-speed USB device number 2 using ehci-pci
[    1.507784] usb 2-1: new full-speed USB device number 2 using xhci_hcd
[    1.564223] sd 3:0:0:0: [sda] 500118192 512-byte logical blocks: (256 GB/238 GiB)
[    1.564249] sd 3:0:0:0: [sda] Write Protect is off
[    1.564254] sd 3:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    1.564306] sd 3:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.567449]  sda: sda1 sda2 sda3 sda4
[    1.567749] sd 3:0:0:0: [sda] Attached SCSI disk
[    1.652454] hub 1-1:1.0: USB hub found
[    1.652622] hub 1-1:1.0: 8 ports detected
[    1.658128] PM: Starting manual resume from disk
[    1.658131] PM: Hibernation image partition 8:2 present
[    1.658132] PM: Looking for hibernation image.
[    1.658305] PM: Image not found (code -22)
[    1.658306] PM: Hibernation image not present or could not be loaded.
[    1.679878] random: fast init done
[    1.731749] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[    1.808971] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.813785] systemd[1]: systemd 232 running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[    1.813932] systemd[1]: Detected architecture x86-64.
[    1.814557] systemd[1]: Set hostname to <arch-xps>.
[    1.817732] usb 2-3: new full-speed USB device number 3 using xhci_hcd
[    1.882521] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    1.883233] systemd[1]: Created slice User and Session Slice.
[    1.883333] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[    1.883425] systemd[1]: Listening on Journal Socket (/dev/log).
[    1.883514] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    1.883602] systemd[1]: Listening on Device-mapper event daemon FIFOs.
[    1.883690] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    1.901987] EXT4-fs (sda3): re-mounted. Opts: discard,data=ordered
[    2.030202] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input2
[    2.030783] ACPI: Lid Switch [LID0]
[    2.030854] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input3
[    2.030857] ACPI: Power Button [PBTN]
[    2.031841] ACPI: AC Adapter [AC] (off-line)
[    2.033912] proc_thermal 0000:00:04.0: enabling device (0000 -> 0002)
[    2.035422] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input4
[    2.035428] ACPI: Sleep Button [SBTN]
[    2.035539] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input5
[    2.035542] ACPI: Power Button [PWRF]
[    2.044011] ACPI Warning: \_SB.IETM._ART: Return Package type mismatch at index 0 - found Integer, expected Reference (20170119/nspredef-297)
[    2.044021] ACPI: Invalid package element [0]: got number, expecting [R]
[    2.044022] _ART package 0 is invalid, ignored
[    2.097729] tsc: Refined TSC clocksource calibration: 2194.918 MHz
[    2.097734] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x1fa37202099, max_idle_ns: 440795206796 ns
[    2.102435] systemd-journald[185]: Received request to flush runtime journal from PID 1
[    2.137774] usb 2-5: new high-speed USB device number 4 using xhci_hcd
[    2.199459] hidraw: raw HID events driver (C) Jiri Kosina
[    2.200577] (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[    2.202927] thermal LNXTHERM:00: registered as thermal_zone7
[    2.202929] ACPI: Thermal Zone [THM] (25 C)
[    2.204142] wmi: Mapper loaded
[    2.212758] thermal LNXTHERM:01: registered as thermal_zone8
[    2.212760] ACPI: Thermal Zone [TZ00] (34 C)
[    2.222982] thermal LNXTHERM:02: registered as thermal_zone9
[    2.222984] ACPI: Thermal Zone [TZ01] (34 C)
[    2.231379] ACPI: Battery Slot [BAT0] (battery present)
[    2.298443] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    2.338464] i801_smbus 0000:00:1f.3: SPD Write Disable is set
[    2.338539] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
[    2.348705] intel_pch_thermal 0000:00:1f.6: enabling device (0000 -> 0002)
[    2.348941] (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[    2.349005] snd_hda_intel 0000:00:03.0: enabling device (0000 -> 0002)
[    2.349145] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
[    2.361342] Adding 8911868k swap on /dev/sda2.  Priority:-1 extents:1 across:8911868k SSFS
[    2.375421] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3263: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    2.375423] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    2.375425] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    2.375426] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
[    2.375428] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[    2.375430] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x18
[    2.375432] snd_hda_codec_realtek hdaudioC1D0:      Headphone Mic=0x1a
[    2.375433] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
[    2.378024] input: PC Speaker as /devices/platform/pcspkr/input/input6
[    2.393846] wl: loading out-of-tree module taints kernel.
[    2.393849] wl: module license 'MIXED/Proprietary' taints kernel.
[    2.393850] Disabling lock debugging due to kernel taint
[    2.395919] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms ovfl timer
[    2.395921] RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
[    2.395922] RAPL PMU: hw unit of domain package 2^-14 Joules
[    2.395922] RAPL PMU: hw unit of domain dram 2^-14 Joules
[    2.395923] RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
[    2.396427] dcdbas dcdbas: Dell Systems Management Base Driver (version 5.6.0-3.2)
[    2.404262] wl 0000:02:00.0: enabling device (0000 -> 0002)
[    2.427078] AVX2 version of gcm_enc/dec engaged.
[    2.427079] AES CTR mode by8 optimization enabled
[    2.441627] random: crng init done
[    2.452210] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card1/input7
[    2.452405] input: HDA Intel PCH Headphone Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input9
[    2.469884] wlan0: Broadcom BCM43b1 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)

[    2.476553] [drm] Memory usable by graphics device = 4096M
[    2.476556] checking generic (e0000000 7e9000) vs hw (e0000000 10000000)
[    2.476557] fb: switching to inteldrmfb from EFI VGA
[    2.476580] Console: switching to colour dummy device 80x25
[    2.476687] [drm] Replacing VGA console driver
[    2.477144] [drm] ACPI BIOS requests an excessive sleep of 25000 ms, using 1500 ms instead
[    2.488089] EXT4-fs (sda4): mounted filesystem with ordered data mode. Opts: discard,data=ordered
[    2.490303] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.490304] [drm] Driver supports precise vblank timestamp query.
[    2.492246] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    2.499820] intel_rapl: Found RAPL domain package
[    2.499823] intel_rapl: Found RAPL domain core
[    2.499824] intel_rapl: Found RAPL domain uncore
[    2.499825] intel_rapl: Found RAPL domain dram
[    2.499830] intel_rapl: RAPL package 0 domain package locked by BIOS
[    2.499835] intel_rapl: RAPL package 0 domain dram locked by BIOS
[    2.502529] [drm] Initialized i915 1.6.0 20170123 for 0000:00:02.0 on minor 0
[    2.503948] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    2.506665] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input10
[    2.506995] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    2.507006] [drm] Initialized i915 1.6.0 20170123 for 0000:00:02.0 on minor 0
[    2.604468] dell_wmi: Detected Dell WMI interface version 1
[    2.604594] input: Dell WMI hotkeys as /devices/virtual/input/input11
[    2.608888] input: DLL0665:01 06CB:76AD Touchpad as /devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input13
[    2.608965] hid-multitouch 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
[    2.610405] wl 0000:02:00.0 wlp2s0: renamed from wlan0
[    2.655707] mousedev: PS/2 mouse device common for all mice
[    2.668750] fbcon: inteldrmfb (fb0) is primary device
[    3.108005] clocksource: Switched to clocksource tsc
[    3.426028] media: Linux media interface: v0.10
[    3.431855] Linux video capture interface: v2.00
[    3.435199] Bluetooth: Core ver 2.22
[    3.435220] NET: Registered protocol family 31
[    3.435220] Bluetooth: HCI device and connection manager initialized
[    3.435223] Bluetooth: HCI socket layer initialized
[    3.435225] Bluetooth: L2CAP socket layer initialized
[    3.435230] Bluetooth: SCO socket layer initialized
[    3.440625] usbcore: registered new interface driver btusb
[    3.441768] dm9601 2-1:1.0 eth0: register 'dm9601' at usb-0000:00:14.0-1, Davicom DM96xx USB 10/100 Ethernet, 00:e0:4c:53:44:58
[    3.441862] usbcore: registered new interface driver dm9601
[    3.442095] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD (0bda:5682)
[    3.443756] usbcore: registered new interface driver sr9700
[    3.445335] dm9601 2-1:1.0 enp0s20u1: renamed from eth0
[    3.451777] uvcvideo 2-5:1.0: Entity type for entity Extension 4 was not initialized!
[    3.451778] uvcvideo 2-5:1.0: Entity type for entity Extension 7 was not initialized!
[    3.451779] uvcvideo 2-5:1.0: Entity type for entity Processing 2 was not initialized!
[    3.451780] uvcvideo 2-5:1.0: Entity type for entity Camera 1 was not initialized!
[    3.451844] input: Integrated_Webcam_HD as /devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5:1.0/input/input18
[    3.451903] usbcore: registered new interface driver uvcvideo
[    3.451904] USB Video Class driver (1.1.1)
[    3.559500] Bluetooth: hci0: BCM: chip id 63
[    3.575523] Bluetooth: hci0: BCM20702A
[    3.576508] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[    3.990327] Console: switching to colour frame buffer device 240x67
[    4.011534] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    4.050380] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input19
[    4.050444] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input20
[    4.050503] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input21
[    4.050562] input: HDA Intel HDMI HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.0/sound/card0/input22
[    4.050649] input: HDA Intel HDMI HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:03.0/sound/card0/input23
[    4.164982] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.164984] Bluetooth: BNEP filters: protocol multicast
[    4.164988] Bluetooth: BNEP socket layer initialized
[    4.338501] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1572
[    4.354498] Bluetooth: hci0: DW1560 Bluetooth 4.0 LE
[    4.645255] IPv6: ADDRCONF(NETDEV_UP): enp0s20u1: link is not ready
[    4.689285] dm9601 2-1:1.0 enp0s20u1: link up, 100Mbps, full-duplex, lpa 0xFFFF
[    4.756496] dm9601 2-1:1.0 enp0s20u1: kevent 4 may have been dropped
[    4.762065] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[    4.767490] dm9601 2-1:1.0 enp0s20u1: kevent 4 may have been dropped
[    4.799684] dm9601 2-1:1.0 enp0s20u1: link up, 100Mbps, full-duplex, lpa 0xFFFF
[    4.887666] dm9601 2-1:1.0 enp0s20u1: link up, 100Mbps, full-duplex, lpa 0xFFFF
[    6.711458] Bluetooth: RFCOMM TTY layer initialized
[    6.711466] Bluetooth: RFCOMM socket layer initialized
[    6.711475] Bluetooth: RFCOMM ver 1.11
[    7.450784] TCP: request_sock_TCP: Possible SYN flooding on port 45265. Sending cookies.  Check SNMP counters.
[   15.633644] fuse init (API version 7.26)

答案1

您可以首先使用 识别声卡lspci -nn,使用 识别加载的声音模块lsmod,在 中查找编解码器芯片的名称/proc/asound/card*/codec\#*,然后通常dmesg在启动后读取输出以了解您拥有的硬件。

到目前为止我还没有见过任何使用 I2S 连接编解码器的笔记本电脑或台式机 - 如果有的话,这是在嵌入式系统中完成的。因此,您拥有 HDA 卡是非常安全的。

编辑

你的声卡是

00:03.0 Audio device [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c] (rev 09)
00:1b.0 Audio device [0403]: Intel Corporation Wildcat Point-LP High Definition Audio Controller [8086:9ca0] (rev 03)

根据您链接的 Wiki 页面,第一个声卡应broadwell-rt286在 I2S 模式下显示为 ALSA 设备(由 ACPI 启动时决定)。所以检查一下cat /proc/asound/cards,但我的猜测是“Broadwell-U”与“Broadwell RT286”不同,即使是 PCI 描述。

快速谷歌搜索发现展示 I2S 的使用情况:snd_soc_*除了snd_hda_*驱动其余 HDA HDMI 声卡的模块之外,您还有一堆活动模块(soc = 片上系统,我说它通常仅在嵌入式设备中使用),并且您有中的对应broadwell-audiohaswell-pcm-audio消息dmesg。由于你没有这些,我的猜测仍然是“HDA”,但你没有提供足够的信息来决定。

如果您发现这一切仍然令人困惑,请把满的启动后的输出dmesg、 的输出cat /proc/asound/cards、 的输出lsmod、 的输出cat /proc/asound/card*/codec\#*到pastebin或类似的文件中,并使用链接编辑您的问题。

相关内容