[alsa-devel] hda-intel front headphone (8086:27d8 1043:83bc)
Raymond Yau
superquad.vortex2 at gmail.com
Thu Jul 7 03:31:21 CEST 2011
2011/7/6 Alex <xenogenesi at virgilio.it>:
>> 2011/7/4 Alex <xenogenesi at virgilio.it>:
>> > Hi,
>> >
>> > I run a Debian/sid on an Asus P5KPL-SE mainboard, the snd-hda-intel seem
>> > to work fine, ever if it run with guess method:
>> >
>> > Unknown hardware: "HDA-Intel" "Realtek ALC887"
>> > "HDA:10ec0887,104383bc,00100202" "0x1043" "0x83bc"
>> > Hardware is initialized using a guess method
>>
>> This is the message from "alsactl init"
>
> yes
>
>> > The only annoying thing is about the front headphone, every mixer
>> > application show the front headphone item but doesn't have adjustable
>> > level and I hear nothing on headphone.
>> >
>> > Any hint?
>> >
>> > http://www.alsa-project.org/db/?f=d6bc3005fab4683f2606e48f2bc909258a4ee3e
>> > 3
>>
>> The codec alc887 in your Asus P5KPL-SE seem different from
>>
>> http://www.asus.com/Motherboards/Intel_Socket_775/P5KPL_SE/#specifications
>>
>> ALC662 High Definition Audio 6 -Channel CODEC
>> Audio Jack-detect Technology
The main point is both the specification and user manual only mention
6 channel codec
and you cannot get "Headphone Volume Control" when it is a 6 channel codec
>>
>> according to your codec info
>>
>> it seem that those fix_pin and multi_pin have the same capability to
>> connect to any DAC
>>
>>
>> static int alc880_auto_create_extra_out(struct alc_spec *spec, hda_nid_t
>> pin, const char *pfx)
>> {
>>
>> } else if (alc880_is_multi_pin(pin)) {
>> + nid = alc880_idx_to_dac(alc880_multi_pin_idx(pin));
>> + /* specify the DAC as the extra output */
>> + if (!spec->multiout.hp_nid)
>> + spec->multiout.hp_nid = nid;
>> + else
>> + spec->multiout.extra_out_nid[0] = nid;
>> + /* control HP volume/switch on the output mixer amp */
>> + nid = alc880_idx_to_mixer(alc880_multi_pin_idx(pin));
>> + err = add_pb_vol_ctrl(spec, ALC_CTL_WIDGET_VOL, pfx,
>> + HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_OUTPUT));
>> + if (err < 0)
>> + return err;
>> /* set manual connection */
>> /* we have only a switch on HP-out PIN */
>> err = add_pb_sw_ctrl(spec, ALC_CTL_WIDGET_MUTE, pfx,
>> HDA_COMPOSE_AMP_VAL(pin, 3, 0, HDA_OUTPUT));
>> if (err < 0)
>> return err;
>> }
>> return 0;
>
> My knowledge of audio/alsa programming is really poor, but if someone suggest
> a patch I can setup the thing and do some debug.
>
you have to find out whether 0x05 can be used by the headphone 0x1b
and create a playback volume control at 0x0f (i.e. whether alc887 is a
8 channel codec )
Node 0x05 [Audio Output] wcaps 0x411: Stereo
Converter: stream=0, channel=0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x0f [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x00 0x00] [0x00 0x00]
Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0
Amp-Out vals: [0x00 0x00]
Connection: 2
0x05 0x0b
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
Control: name="Headphone Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00]
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0000373e: IN OUT HP Detect Trigger
Vref caps: HIZ 50 GRD 80 100
Pin Default 0x02214020: [Jack] HP Out at Ext Front
Conn = 1/8, Color = Green
DefAssociation = 0x2, Sequence = 0x0
Pin-ctls: 0xc0: OUT HP VREF_HIZ
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 5
0x0c* 0x0d 0x0e 0x0f 0x26
More information about the Alsa-devel
mailing list