[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [debian-powerpc] New Ibook no sound , Works only for the headphones



Hi! 

> Misteriously ive found that when i use mpg321 it works with the
> headphones!!! But none of the controls in alsamixer worked with this
> sound.
> ...

I had the same problems on my brand new 12" iBook, i.e.:
- modprobing dmasound_pmac fails with "No such device"
- snd_powermac results in sound on headphones, no sound in speakers and an 
ineffective mixer

Those results were seen on a vanilla 2.6.13 kernel, so my scenario looks 
pretty similar to yours. ;)

Reading through latest kernel-changes, I got inspired by: 

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=821690cdc82e4090ef6f91947f76a231fad5cbb1

Unfortunately that patch didn't help, but I modified it to exactly match my 
soundcard-model. So, here it is:

--- linux-2.6.13/sound/ppc/pmac.c       2005-08-29 14:11:45.000000000 +0200
+++ linux-2.6.13.patched/sound/ppc/pmac.c       2005-09-15 19:57:16.000000000 
+0200
@@ -988,6 +988,7 @@ static int __init snd_pmac_detect(pmac_t
                case 0x33:
                case 0x29:
                case 0x24:
+               case 0x50:
                        chip->num_freqs = ARRAY_SIZE(tumbler_freqs);
                        chip->model = PMAC_SNAPPER;
                        chip->can_byte_swap = 0; /* FIXME: check this */

This patch gives me sound on speakers and headphones and a lot of working 
mixer-controls, so it looks good...

I hope it helps,

cheers,
Sven

-- 
There are two major products that come out of Berkeley: LSD and UNIX. We don't 
believe this to be a coincidence. - Jeremy S. Anderson
--- linux-2.6.13/sound/ppc/pmac.c	2005-08-29 14:11:45.000000000 +0200
+++ linux-2.6.13.patched/sound/ppc/pmac.c	2005-09-15 19:57:16.000000000 +0200
@@ -988,6 +988,7 @@ static int __init snd_pmac_detect(pmac_t
 		case 0x33:
 		case 0x29:
 		case 0x24:
+		case 0x50:
 			chip->num_freqs = ARRAY_SIZE(tumbler_freqs);
 			chip->model = PMAC_SNAPPER;
 			chip->can_byte_swap = 0; /* FIXME: check this */

Reply to: