[snd_hda] Sound problem on Macbook pro model 3.1
Patrick Lamaizière
patfbsd at davenulle.org
Fri Jan 30 15:38:36 PST 2009
Hello,
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?
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.
Regards.
More information about the freebsd-multimedia
mailing list