On Tue, Sep 08, 2015 at 12:58:18AM +0100, Dave Turner wrote:
> I have tried the various tests on the audio system from the faqs, and an
> email search didn't find much on apple hardware and sound but it was
> discouraging... The changes from 5.7 to the imminent 5.8 do mention changes
> to the azalia driver but the description didn't appear to relate to my
> problem, although 5.6 to 5.7 did mention the mac mini and 'quirks'.
> My iMac is a version 6,1 from late 2006.
> It uses the Intel 82801GB HD Audio chip and the Realtek ALC885 codec.
> It uses the azalia audio driver.
> I played with mixerctl and audioctl, used 'cdio cdplay' etc, nothing would
> make a sound!
> The base setttings for audioctl had the play.rate at 48000 so I changed that
> to 44100 to test using cdio cdplay.
> I changed various settings in mixerctl to increase audio from 0 to 255, no
> sound.

It seems almost all the apple audio devices need various quirks,
try this:

Index: azalia_codec.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/azalia_codec.c,v
retrieving revision 1.170
diff -u -p -r1.170 azalia_codec.c
--- azalia_codec.c      24 Aug 2015 04:50:40 -0000      1.170
+++ azalia_codec.c      8 Sep 2015 02:23:49 -0000
@@ -198,6 +198,7 @@ azalia_codec_init_vtbl(codec_t *this)
        case 0x10ec0885:
                this->name = "Realtek ALC885";
                this->qrks |= AZ_QRK_WID_CDIN_1C | AZ_QRK_WID_BEEP_1D;
+               printf("\n%s subid=%x\n", XNAME(this), this->subid);
                if (this->subid == 0x00a1106b ||        /* APPLE_MB3 */
                    this->subid == 0xcb7910de ||        /* APPLE_MACMINI3_1 
(line-in + hp) */
                    this->subid == 0x00a0106b ||        /* APPLE_MB3_1 */
@@ -208,6 +209,10 @@ azalia_codec_init_vtbl(codec_t *this)
                    this->subid == 0xcb7910de ||        /* APPLE_MACMINI3_1 
(internal spkr) */
                    this->subid == 0x00a0106b)
                        this->qrks |= AZ_QRK_WID_OVREF50;
+               if (this->subid == 0x1000106b ||
+                   this->subid == 0x3e00106b) {
+                       this->qrks |= AZ_QRK_GPIO_UNMUTE_0 | 
AZ_QRK_GPIO_UNMUTE_1;
+               }
                break;
        case 0x10ec0888:
                this->name = "Realtek ALC888";

Reply via email to