Jonathan,

Thanks for the info.
I have spent all evening reading the OpenBSD faq and trying find out where I get the updated version of azalia_codec.c from... I don't think it is in the 5.7 Patch series, so I set to and did the Upgrade to OpenBSD 5.8 which seemed OK until I tried to login. Much reading and faffing to find I had to use CTRL-ALT-F1 to get a terminal to login and do the sysmerge.

uname -a and dmesg both show the iMac is now running OpenBSD 5.8.
and the audio still doesn't work but in an interestingly different way!
Even as root I can't change the play.rate to 44100, it stays at 48000.

audioctl play.{seek,samples,errors} now returns
audioctl: field play.seek does not exist
audioctl: field play.samples does not exist
play.errors=0

I might have a bit more cvs updating to do? The version of azalia_codec.c in /usr/src/dev/pci seems to be still at 1.165 dated 2014/12/10.
But it is late now and I have had enough for today.

On 08/09/15 03:26, Jonathan Gray wrote:
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