[alsa-devel] Fwd: Re: No sound with nVidia Corporation MCP79 High Definition Audio (rev b1) (Macbook Pro 5, 5)
Andreas Nüßlein
nutz at unfoog.de
Tue Jul 7 11:51:17 CEST 2009
On Tuesday 07 July 2009 08:00:19 you wrote:
> 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,
> > >
> > > Sean Burke wrote:
> > > > Scríobh Takashi Iwai:
> > > > > At Mon, 6 Jul 2009 17:53:46 +0200,
> > > > >
> > > > > Andreas Nüßlein wrote:
> > > > >>> The missing pin configuration initialization was already fixed by
> > > > >>> the driver overriding it after checking PCI SSID (which is
> > > > >>> different from the codec SSID). So, this should be no problem.
> > > > >>>
> > > > >>> However, the reason why the analog output doesn't work might be
> > > > >>> different from that. There might be something else missing, but
> > > > >>> I don't know.
> > > > >>>
> > > > >>>
> > > > >>> Takashi
> > > > >>
> > > > >> oh =(
> > > > >>
> > > > >>
> > > > >> hmm.. anything i can do? would it help if i tried changing values
> > > > >> randomly with hda-analyzer.py?
> > > > >
> > > > > Well, did the driver without my change work more or less with
> > > > > the analog audio, or have you never gotten the analog output?
> > > > > You can use the generic parser (i.e. the state without cirrus
> > > > > patch) by passing model=generic option to snd-hda-intel.
> > > >
> > > > For my part, nothing worked with the generic driver. I can't confirm
> > > > digital out, but I can confirm that the kfree error is gone. What
> > > > options are open for figuring out what remains?
> > >
> > > 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).
>
>
> Takashi
so here are my findings so far:
hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x08
is sufficient to turn on the right functionality for the speakers; meaning:
- 'front speaker'-channel actually controls the two front speakers within the
macbookpro - even controlling left and right channel seperately works =)
- 'surround' mute-switch and volume-control (why are those not within on
thing btw?) also work and control a third speaker in the mac, which
really seems responsibly for surround :)
headphones do not yet work, however i made a diff of
"/proc/asound/card0/codec#0" with and without something plugged in:
$ diff -u without_headphones.txt with_headphones.txt
--- without_headphones.txt 2009-07-07 11:41:36.558833270 +0200
+++ with_headphones.txt 2009-07-07 11:41:44.286832992 +0200
@@ -113,7 +113,7 @@
Conn = Unknown, Color = Unknown
DefAssociation = 0x2, Sequence = 0x1
Misc = NO_PRESENCE
- Pin-ctls: 0x40: OUT
+ Pin-ctls: 0x00:
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Delay: 1 samples
@@ -125,7 +125,7 @@
Conn = Unknown, Color = Unknown
DefAssociation = 0x2, Sequence = 0x0
Misc = NO_PRESENCE
- Pin-ctls: 0x40: OUT
+ Pin-ctls: 0x00:
Delay: 1 samples
Connection: 1
0x04
thanks =)
nutz
More information about the Alsa-devel
mailing list