
我有一台安裝了 PCIe FX100 KVM 主機卡的 Dell Precision 伺服器(製造商是 Teradici,但已更名為 Dell 解決方案。)
我沒有使用這張卡(它安裝在機器中,但沒有外部連接到任何東西),但我相信它仍然覆蓋板載音頻,成為預設且唯一的音頻輸出。因此,來自伺服器的音訊將被路由到 KVM 卡。我不希望發生這種情況,因為我有揚聲器連接到音訊輸出插孔。
在“系統”->“首選項”->“聲音”下,唯一列出的是“HDA Teradici”,即 KVM 卡。
根據伺服器手冊,板載音訊應該是「一個整合的兩晶片音訊解決方案,由Sigmatel的STAC9200高清晰度音訊編解碼器和ESB2的整合AC97/高清晰度數位控制器組成」。然而,板載聲音似乎已被 KVM 卡禁用。
中的唯一條目/dev/snd/
是pci-0000:02:00.1
,它是 KVM 卡上的音訊介面(請參見lspci
下面的輸出)。
- 在哪裡可以選擇使用板載音訊而不是 KVM 卡?
- 如果這不可能,是否可以以某種方式停用 PCIe KVM 卡?這是一台遠端計算機,因此我無法物理移除該卡。
我也希望任何故障排除步驟能為我指明該卡可能涵蓋的內容、任何相關日誌等的正確方向。
lspci
輸出
lspci
列出了該設備的以下內容:
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
答案1
我從伺服器上移除了 KVM 卡,並自動偵測到板載音訊。 Ubuntu 中的製造商顯然不太支援該卡,因此對於遇到此問題的任何人,我建議您使用與特定伺服器硬體無關的外部 KVM 解決方案。
答案2
您應該檢查伺服器上的 BIOS 以確保板載音訊已啟用。 Teradici 卡將自身呈現為音訊設備,可能會觸發 BIOS 停用板載音訊。您應該能夠覆蓋它。
答案3
作為嘗試:
除非板載硬體使用相同的驅動程式“snd_hda_intel”驅動程序,否則您可以嘗試編輯 /etc/modprobe.d/blacklist 檔案並新增:
blacklist snd_hda_intel
為了阻止驅動程式啟動並搶佔KVM板。
另一種更具選擇性的方法可能是忽略具有與不需要的設備匹配的 udev 規則的設備並指定OPTIONS+="ignore_device"
有關編寫規則的更多信息,請參閱這。