[alsa-devel] No sound with nVidia Corporation MCP79 High Definition Audio (rev b1) (Macbook Pro 5, 5)
Takashi Iwai
tiwai at suse.de
Tue Jul 7 08:38:06 CEST 2009
At Tue, 07 Jul 2009 00:24:51 -0600,
Sean Burke wrote:
>
> Scríobh Takashi Iwai:
> > At Mon, 6 Jul 2009 22:14:56 +0200,
> > Andreas Nüßlein wrote:
> >
> >> On Monday 06 July 2009 21:26:18 you wrote:
> >>
> >>> At Mon, 06 Jul 2009 11:16:35 -0600,
> >>>
> >>> Easy things to test are GPIO bits. Run hda-verb like
> >>>
> >>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x0f
> >>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x0f
> >>> or
> >>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x0f
> >>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x0f
> >>>
> >>> etc. CS4206 seems to have 4 GPIO lines, and each bit (0-3)
> >>> corresponds to each GPIO. In many case, GPIO0 or GPIO1 corresponds to
> >>> the amplifier (EAPD) bit.
> >>> Define the GPIO direction of each GPIO bit by SET_GPIO_DIR, and
> >>> turn on/off the GPIO bits by SET_GPIO_DATA. Running
> >>> hda-verb /dev/snd/hwC0D0 0x01 GET_GPIO_DATA 0
> >>> will show the current GPIO data bits. Or you can check it in codec#*
> >>> proc file.
> >>>
> >>>
> >>> Takashi
> >>>
> >> w000000000000000000000000000000000t! =)
> >>
> >> takashi, thank you _so_ much!
> >>
> >> after running all 4 of those:
> >>
> >>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x0f
> >>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x0f
> >>> or
> >>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x0f
> >>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x0f
> >>>
> >>>
> >> i suddendly had sound!! :D :D :D :D :D :D :D
> >> only via speakers though - there is no sound via headphones right now.
> >>
> >> mixer channels:
> >> - Master (with Mutebutton), PCM and Front (also with Mute) all work =)
> >> - i don't know what surround would do (or it's extra switch)
> >> - headphones-volumes and mute button don't affect the speakers, which is good
> >> =)
> >>
> >>
> >> is there a way to reset what i did with hda-verb, so that i can figure out
> >> which combination it was exactly?
> >>
> >
> > You can just change the value 0x0f to a different value.
> > At least, you can try commands like
> > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x01
> > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x02
> > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x04
> > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x08
> > and check the speaker output at each time.
> > Also, check the GPIO direction,
> > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x01
> > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x01
> > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x02
> > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x02
> > ...
> >
> > Regarding the headphone: is the speaker muted when you plug in the
> > headphone? If not, it's likely an issue of the jack detection. If
> > the speaker is muted but no headphone output, it's a missing
> > initialization (or wrong GPIO setup).
> Setting both _DIR and _DATA to 0x08 worked, as did 0x0f.
OK, then GPIO2 is EAPD.
> Plugging in
> headphones does not mute the speaker.
I'll check this later.
thanks,
Takashi
More information about the Alsa-devel
mailing list