我有一台安装了 PCIe FX100 KVM 主机卡的 Dell Precision 服务器(制造商是 Teradici,但已更名为 Dell 解决方案。)
我没有使用这张卡(它安装在机器上,但没有外部连接到任何东西),但我相信它仍然会覆盖板载音频,使其成为默认的、也是唯一的音频输出。因此,来自服务器的音频被路由到 KVM 卡。我不希望发生这种情况,因为我有扬声器连接到音频输出插孔。
我正在运行 Ubuntu 10.04,在系统->首选项->声音下,唯一列出的是“HDA Teradici”,即 KVM 卡。
根据服务器的手册,板载音频应该是“由 Sigmatel 的 STAC9200 高清晰度音频编解码器和 ESB2 的集成 AC97/高清晰度数字控制器组成的集成双芯片音频解决方案”。
- 我可以在哪里选择使用板载音频而不是 KVM 卡,或者如何找到 PCI 卡覆盖板载声音的位置?
- 如果这不可能,是否有可能以某种方式禁用 PCIe KVM 卡?这是一台远程机器,所以我无法物理移除该卡。
我还希望任何故障排除步骤能够为我指明正确的方向,以了解这张卡可能覆盖哪些内容、任何相关日志等。
lspci
输出
lspci
列出该设备的以下内容,但似乎没有列出任何其他音频设备(使用lspci -v | grep Audio
):
02:00.0 USB Controller: Teradici Corp. Device 1200
02:00.1 Audio device: Teradici Corp. Device 1200
lshw
输出
并lshw
有以下相关部分:
*-pci:1
description: PCI bridge
product: 5400 Chipset PCI Express Port 5
vendor: Intel Corporation
physical id: 5
bus info: pci@0000:00:05.0
version: 20
width: 32 bits
clock: 33MHz
capabilities: pci pm msi pciexpress bus_master cap_list
configuration: driver=pcieport
resources: irq:73 memory:dbf00000-dbffffff
*-usb
description: USB Controller
product: Teradici Corp.
...
configuration: driver=ohci_hcd latency=0
resources: irq:52 memory:dbffb000-dbffbfff
*-multimedia
description: Audio device
product: Teradici Corp.
vendor: Teradici Corp.
physical id: 0.1
bus info: pci@0000:02:00.1
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=HDA Intel latency=0
resources: irq:52 memory:dbffc000-dbffffff
pacmd list-cards
输出
并且pacmd list-cards
只列出了一张可用的卡(这就是为什么我认为我无法选择任何其他卡):
Welcome to PulseAudio! Use "help" for usage information.
>>> 1 card(s) available.
index: 0
name: <alsa_card.pci-0000_02_00.1>
driver: <module-alsa-card.c>
owner module: 4
properties:
alsa.card = "0"
alsa.card_name = "HDA Teradici"
alsa.long_card_name = "HDA Teradici at 0xdbffc000 irq 52"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:02:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:05.0/0000:02:00.1/sound/card0"
device.bus = "pci"
device.vendor.id = "6549"
device.vendor.name = "Teradici Corp."
device.product.id = "1200"
device.string = "0"
device.description = "HDA Teradici"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:analog-stereo: Analog Stereo Output (priority 6000)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060)
input:analog-stereo: Analog Stereo Input (priority 60)
off: Off (priority 0)
active profile: <output:analog-stereo>
sinks:
alsa_output.pci-0000_02_00.1.analog-stereo/#0: HDA Teradici Analog Stereo
sources:
alsa_output.pci-0000_02_00.1.analog-stereo.monitor/#0: Monitor of HDA Teradici Analog Stereo
>>>
aplay
输出
同样aplay -l
只列出 Teradici 设备:
**** List of PLAYBACK Hardware Devices ****
card 0: Teradici [HDA Teradici], device 0: ALC883 Analog [ALC883 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
alsa-details
脚本输出
我已经运行了 alsa-details 脚本,结果可以在此粘贴。
答案1
我从服务器上移除了 KVM 卡,然后自动检测到了板载音频。该卡显然在 Linux 中得不到很好的支持,因此对于遇到此问题的人,我建议您使用不依赖于特定服务器硬件的外部 KVM 解决方案。
答案2
卡或主板电路突然无法被检测到是一个很难发现的问题。
正如您所说,这是一台静态生产服务器,没有软件或硬件修改,这不应该是驱动程序错误。除非安装/更新了某些软件,否则我会选择硬件而不是软件。
但是对于板载音频硬件问题,论坛上没有人能够真正提供帮助。