我的较新的XPS 13(9370)也存在此问题,但就我而言,该问题与笔记本电脑扬声器和耳机输出之间的切换有关。出于某种原因,连接插孔时,耳机的放大器不会总是打开。要解决此问题,我必须强制启用放大器。
为了弄清楚该怎么办,我比较了cat /proc/asound/card0/codec#0
正常工作时和不正常工作时的输出,并注意到“ Exter Right”部分的“立体声放大器输出/ HP输出”有所不同:
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Control: name="Headphone Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0001001c: OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x04211020: [Jack] HP Out at Ext Right
Conn = 1/8, Color = Black
DefAssociation = 0x2, Sequence = 0x0
Pin-ctls: 0xc0: OUT HP
当耳机插孔工作时,最后一个值Pin-ctls为0xc0,否则为0x00。因此,当输出无效时,我将其翻转:
sudo hda-verb /dev/snd/hwC0D0 0x21 SET_PIN_WIDGET_CONTROL 0xc0
值可能会有所不同,具体取决于确切的声卡,但是此方法可能对其他人有用。