http://git.kernel.org/cgit/linux/kernel/git/tiwai/hda-emu.git/tree/codecs/vt1802-asus-u30s?id=HEAD compare with this notebook, device 0 nid is using speaker 's audio output and device 2 is using headphone 's audio output seem spec->gen.indep_hp = 1 is not enough to force the driver to use speaker audio output by device 0 => lo_type=2, wired=1, mio=1, badness=0x0 multi_outs = 25/0/0/0 : 8/0/0/0 (type HP) out path: depth=4 :08:35:15:25 spk_outs = 24/0/0/0 : 9/0/0/0 spk path: depth=4 :09:34:14:24 mix path: depth=4 :08:21:15:25 mix path: depth=4 :08:21:14:24 ==> Best config: lo_type=2, wired=1, mio=1 multi_outs = 25/0/0/0 : 8/0/0/0 (type HP) out path: depth=4 :08:35:15:25 spk_outs = 24/0/0/0 : 9/0/0/0 spk path: depth=4 :09:34:14:24 mix path: depth=4 :08:21:15:25 mix path: depth=4 :08:21:14:24 https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/pci/hda/hda_generic.c you need to change static bool indep_hp_possible(struct hda_codec *codec) { struct hda_gen_spec *spec = codec->spec; struct auto_pin_cfg *cfg = &spec->autocfg; struct nid_path *path; int i, idx; + if (cfg->line_out_type == AUTO_PIN_HP_OUT) + return false; if (cfg->line_out_type == AUTO_PIN_HP_OUT) idx = spec->out_paths[0]; http://git.kernel.org/cgit/linux/kernel/git/tiwai/hda-emu.git/tree/codecs/vt1802-asus-g75?id=HEAD but it is strange that there are two volume controls in same node when it has headphone, speaker and subwoofer Node 0x08 [Audio Output] wcaps 0x41d: Stereo Amp-Out Control: name="Front Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Control: name="Headphone Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Device: name="VT1802 Analog", type="Audio", device=0 Amp-Out caps: ofs=0x2a, nsteps=0x2a, stepsize=0x05, mute=0 Amp-Out vals: [0x22 0x22] Converter: stream=8, channel=0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x09 [Audio Output] wcaps 0x41d: Stereo Amp-Out Control: name="Surround Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x2a, nsteps=0x2a, stepsize=0x05, mute=0 Amp-Out vals: [0x1d 0x1d] Converter: stream=8, channel=2 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 in your case , it is strange that balanced is set in eapd EAPD 0x3: BALANCED EAPD BTL controls the output configuration of a Pin Widget which has indicated support for balanced I/O (bit 6, Pin Capabilities Parameter). When this bit is 0, the output drivers are configured in normal, single-ended mode; when this bit is 1, they are configured in balanced mode. Note that in balanced mode, the Pin Widget has twice as many pins as it does in normal mode; i.e., a stereo Pin Widget in balanced mode has four signal pins (in addition to Vref pins). However, in both modes it must appear to software as a single Pin Widget. The additional pins must be reserved to this purpose; thus, in a configuration supporting BTL outputs the additional pins may not be enumerated as a separate Pin Widget. Node 0x24 [Pin Complex] wcaps 0x40050d: Stereo Amp-Out Control: name="Speaker Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Control: name="Speaker Phantom Jack", index=0, device=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x00010050: OUT EAPD Balanced EAPD 0x3: BALANCED EAPD Pin Default 0x901701f0: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 2 0x14* 0x3e