![为什么我的 CMI8738 声卡无法工作?](https://linux22.com/image/98976/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20CMI8738%20%E5%A3%B0%E5%8D%A1%E6%97%A0%E6%B3%95%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
不工作我的意思是:
当插头从卡背面的一个插座移至另一个插座时,扬声器会发出噪音。运行扬声器测试或播放时不会产生任何声音甚至噪音。
我买了一张便宜的声卡(StarTech PCISOUND5CH2
),再次发现声音很难工作。我正在与 Alsa 合作,因为我认为除非我能让 Alsa 合作,否则上层永远不会工作。据报道,这个版本至少曾在 Linux 上运行过。
我禁用了主板的板载声音,因为它是 Realtec 的一些变体,但也不起作用。我运行 alsamixer 来调高所有音量。
我的设置:
uname --all
Linux localhost.localdomain 4.8.6-201.fc24.x86_64 #1 SMP Thu Nov 3 14:38:57 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
操作系统:Fedora 24
我的 ALSA 信息是这里。
令人困惑的是,有许多声音设备值由 报告aplay -L
,其中包括 a sysdefault:CARD=CMI8738
,但没有任何直观的标签,例如“默认”。
我尝试了 Alsa 文档上的建议来禁用 DAC 交换器和 IEC8738,但我不确定我是否做得对,因为我只能将它们调低到 0。
在任何情况下我都听不到声音,但有时我会从 aplay 收到一条神秘的错误信息,例如:
aplay --device=rear:CARD=CMI8738 ./sine.wav --channels=1
Playing WAVE './sine.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
aplay: set_params:1303: Channels count non available
如果你看一下aplay.c
第 1303 行:
err = snd_pcm_hw_params_set_channels(handle, params, hwparams.channels);
if (err < 0) {
error(_("Channels count non available"));
prg_exit(EXIT_FAILURE);
}
它仅检查从函数返回的错误代码snd_pcm_hw_params_set_channels
。我阅读的文档表明它实际上提供了更多信息,但源代码忽略了它并报告了广泛的错误。不幸的是,这些工具不是开箱即用的(或 git repo),所以我无法做出我想看到真正错误的一项更改。
为什么我的工作如此艰难?我直接买一个 USB 适配器并将其插入会更好吗?有人可以指点一下吗一从发布之日起可以购买真正可以在 Fedora 24 中运行的 Linux 声卡吗?我现在已经使用过 3 个音响系统了。