2011/7/6 Alex xenogenesi@virgilio.it:
2011/7/4 Alex xenogenesi@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