[snd_hda] Sound problem on Macbook pro model 3.1
Alexander Motin
mav at mavhome.dp.ua
Sat Jan 31 00:39:47 PST 2009
Patrick Lamaizière wrote:
> I'm trying to get the sound (snd_hda) working on my Macbook pro model
> 3,1.
>
> I run FreeBSD 7.1 but snd_hda is taken from current of today.
>
> Identification:
> $ pciconf -vl
> hdac0 at pci0:0:27:0: class=0x040300 card=0x00a0106b chip=0x284b8086
> rev=0x03 hdr=0x00
> vendor = 'Intel Corporation'
> device = '82801H &SUBSYS_81EC1043&REV_02\3&11583659&0&D8'
> class = multimedia
> subclass = HDA
>
> [Warning: according to the alsa project the PCI ID is shared between
> some Mac with differents HDA configurations:
> http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=93a1a5eb70be5cc14990b97ef2460212e32658dc
> and
> http://lkml.org/lkml/2008/8/24/143
> ]
>
> I must use a gpio0 quirk to get the speaker sound so i added a device
> hint:
> hint.hdac.0.config="gpio0"
>
> And I should fix the association between the headphone pin and the
> speaker.
> device hint:
> hint.hdac.0.cad0.nid21.config="as=4 seq=15"
>
> hdac0: HDA Driver Revision: 20090126_0126
> hdac0: Reserved 0x4000 bytes for rid 0x10 type 3 at 0x9b500000
> hdac0: [MPSAFE]
> hdac0: [ITHREAD]
> hdac0: HDA Config: gpio0
> hdac0: Probing codec #0...
> hdac0: HDA Codec #0: Realtek ALC885
> hdac0: HDA Codec ID: 0x10ec0885
> hdac0: Vendor: 0x10ec
> hdac0: Device: 0x0885
> hdac0: Revision: 0x01
> hdac0: Stepping: 0x03
> hdac0: PCI Subvendor: 0x00a0106b
> hdac0: Found audio FG nid=1 startnode=2 endnode=39 total=37
> hdac0:
> hdac0: Processing audio FG cad=0 nid=1...
> hdac0: GPIO: 0x40000002 NumGPIO=2 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
> hdac0: nid 20 0x90100140 as 4 seq 0 Speaker Fixed jack 0 loc
> 16 color Unknown misc 1
> hdac0: nid 21 0x012b4050 as 5 seq 0 Headphones Jack jack 11 loc
> 1 color Green misc 0
> [...]
> hdac0: Patched pins configuration:
> hdac0: nid 20 0x90100140 as 4 seq 0 Speaker Fixed jack 0 loc
> 16 color
> Unknown misc 1
> hdac0: nid 21 0x012b404f as 4 seq 15 Headphones Jack jack 11 loc
> 1 color
>
> Now when i plug a headphone, the sound from the speaker is
> muted but i don't hear sound in the headphone. There is some sound but
> the level is very very very low.
>
> I think i have to add a ovref quirk somewhere or another quirk, but a
> quirk
> hint.hdac.0.config="gpio0 ovref" does not seem to do anything:
>
> hdac0: FG config/quirks: gpio0 forcestereo ivref50 ivref80 ivref100
> ivref
>
> Why ovref is not listed? How to add a quirk 'ovref' or 'eapdinv',
> there is no example in the man page?
There was a bug in this string parsing which I have just fixed in
CURRENT. eapdinv will be ineffective for this codec, as there is no EAPD
controls reported by it. Actually I have never seen that ovref do
something, but you may try it, Linux seems doing it for several macbooks.
> files:
> - hda and pcm output:
> http://user.lamaiziere.net/patrick/keep/hda.txt
> http://user.lamaiziere.net/patrick/keep/hda-linux.svg
> The sound works fine under Linux, for information I add:
> - hda codec output from Linux(ubuntu-8/10)
> (ie /proc/asound/card*/codec*)
> http://user.lamaiziere.net/patrick/keep/hda-linux.txt
> - codecgraph output:
> http://user.lamaiziere.net/patrick/keep/hda-linux.svg
> (is it useful for you?)
>
> Any help will be very welcome, thanks.
If you are not doing redirection, but instead just playing to headphones
via different pcm device, does they work fine?
--
Alexander Motin
More information about the freebsd-multimedia
mailing list