Hi list,

I was hoping to pick your brains regarding the sound on Apple PowerPC machines. 
For a long time now, sound has been broken on a number of these machines. This, 
I think, is due to i2c changes that started in April 2012. A number of bug 
reports have been raised by users at a distribution level (e.g. 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=714345 ) but as of yet no 
progress has been made on these.

Ubuntu has been hit by a "Fixing recursive fault, but reboot is needed!" bug 
that is caused by snd_powermac ( 
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1066435 ). I tried the 
latest daily build of Lubuntu yesterday and the problem appears to be gone, but 
since the bug is a bit temperamental, I'm wondering if it was a fluke? Has any 
work been done on this, and can we genuinely mark it as solved? However, I 
could not get sound working on my G4 iBook.

Ubuntu (and I think Debian) add snd_powermac to /etc/modules. Is this still 
necessary or does the module now auto-load? The installer has a complicated 
routine (/bin/discover-mac-io) to load certain sound modules and blacklist 
others. Can we remove this now?

I seem to remember reading somewhere that certain machines will be migrating 
from snd_powermac to snd_aoa, although I can't seem to find the reference to 
that now. If this is the case, I think a certain number of machines have 
slipped through the net. As users, what information do we need to provide to 
get this fixed? Attached is a patch that was sent by Stefan Gartner to the 
Debian mailing list ( 
https://lists.debian.org/debian-powerpc/2013/09/msg00031.html ). Is this patch 
okay? I'm afraid I don't know how to check the device id/codec used by my own 
machine, as at a kernel level I'm a bit clueless. Would it be possible to 
provide instructions on how to do this? I could then circulate the instructions 
to other users who also have no sound. That way we could hopefully fix all 
broken machines.

If you need any more info then I will be happy to provide it, although you may 
have to give me a few days to do it (no internet connection!...)

Many thanks

Adam



--- a/sound/aoa/fabrics/layout.c        2013-09-18 21:09:41.910672970 +0200
+++ b/sound/aoa/fabrics/layout.c        2013-09-18 23:23:58.230511273 +0200
@@ -113,6 +113,8 @@
 MODULE_ALIAS("aoa-device-id-14");
 MODULE_ALIAS("aoa-device-id-22");
 MODULE_ALIAS("aoa-device-id-35");
+MODULE_ALIAS("aoa-device-id-38");
+MODULE_ALIAS("aoa-device-id-40");
 MODULE_ALIAS("aoa-device-id-44");
 
 /* onyx with all but microphone connected */
@@ -362,7 +364,20 @@
                .connections = tas_connections_nolineout,
          },
        },
+       /* PowerBook6,4 */
+       { .device_id = 40,
+         .codecs[0] = {
+               .name = "tas",
+               .connections = tas_connections_all,
+         },
+       },
        /* PowerBook6,5 */
+       { .device_id = 38,
+         .codecs[0] = {
+               .name = "tas",
+               .connections = tas_connections_all,
+         },
+       },
        { .device_id = 44,
          .codecs[0] = {
                .name = "tas",
--- a/sound/aoa/soundbus/i2sbus/core.c  2013-09-18 20:24:03.962348741 +0200
+++ b/sound/aoa/soundbus/i2sbus/core.c  2013-09-18 23:34:41.934550116 +0200
@@ -201,7 +201,7 @@
                         * so restrict to those we do handle for now.
                         */
                        if (id && (*id == 22 || *id == 14 || *id == 35 ||
-                                  *id == 44)) {
+                                  *id == 44 || *id == 40 || *id == 38)) {
                                snprintf(dev->sound.modalias, 32,
                                         "aoa-device-id-%d", *id);
                                ok = 1;
                                          
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to