Subject: Re: snd-aoa status update / automatic driver loading

From: Wolfgang Pfeiffer <[email-masked]>
Date: Wed, 17 May 2006 23:54:12 +0200

Hi Johannes

Thanks for the update .. :)

I loaded the new drivers, and they work, as it seems. In the end it
will probably need a bit more use of this driver before i can give a
reliable test report ... :)

Below a few first notes ..

On Wed, May 17, 2006 at 12:09:24PM +0200, Johannes Berg wrote:
> Hey,
> 
> Currently snd-aoa is known to work on the following machines:
> * PowerBook5,8

I use snd-aoa on the latter

> 
> People with those machines are encouraged to use and stress-test it,

I compiled/installed your (old) snd-aoa files at about last (Tuesday)
night , and got these errors when re-booting the machine today:

-------------------------
# zgrep mismatch /var/log/boot.*gz [following op slightly edited for readability]

/var/log/boot.2.gz:Wed May 17 16:14:04 2006: ^[[9;0]^[[14;0]Setting up
ALSA...warning: 'alsactl restore' failed with error message 'alsactl:
set_control:894: warning: name mismatch (Line-out Switch/Headphone
Switch) for control #2

/var/log/boot.2.gz:Wed May 17 16:14:05 2006: alsactl: set_control:896:
warning: index mismatch (0/0) for control #2

/var/log/boot.2.gz:Wed May 17 16:14:05 2006: alsactl: set_control:894:
warning: name mismatch (Master Playback Volume/Capture Source) for
control #3

/var/log/boot.2.gz:Wed May 17 16:14:05 2006: alsactl: set_control:896:
warning: index mismatch (0/0) for control #3
--------------------------

This error seems to be *gone* after updating ('git pull') snd-aoa,
compiling and installing it at about 16:00 UTC today (Wednesday)...

# modinfo snd-aoa
filename:       /lib/modules/2.6.17-rc3-gf358166a-dirty/kernel/sound/aoa/snd-aoa.ko
description:    Apple Onboard Audio Sound Driver
author:         Johannes Berg <[email-masked]>
license:        GPL
vermagic:       2.6.17-rc3-gf358166a-dirty mod_unload gcc-4.1
depends:        snd
srcversion:     C4332AD34674ECE97C7BF91

Notes:

1:

I removed snd-powermac from /etc/modules to prevent the module from
being loaded when booting ... only today .. Sound still works ... :)

2:

Took me some reboots/'alsactl store' to have sound switched on
automatically after logging in to KDE ... not being sure what was
going on .. 

3:

I have a kmix Volume slider now ... this is new on *this* kmix applet
(i.e. the one I have to load via Multimedia --> KMix from the KDE
kicker)

So: Nice ... is this the solution you like, too ? ... ;) .. 

4:

I can hear two sound files at the same time: Didn't work at the first
try. I then installed again /etc/asound.conf, that I copied from my
old ti-IV-Book (Not being sure tho' whether this really is such a good
idea .... : 

-------------------------------
pcm.!default {
	type plug
	slave.pcm asymer
}

pcm.dmixer {
	type dmix
	ipc_key 1977
	ipc_perm 666
#	ipc_key_add_uid true
	slowptr true
	slave {
		pcm "hw:0"
		period_time 0
		period_size 1024
		buffer_size 8192
		rate 44100
	}
}

pcm.dsnooper {
	type dsnoop
	ipc_key 1978
	ipc_perm 666
#	ipc_key_add_uid true
	slave.pcm "hw:0"
}

pcm.asymer {
	type asym
	playback.pcm "dmixer"
	capture.pcm "dsnooper"
}

pcm.jack {
	type jack
	playback_ports {
		0 alsa_pcm:playback_1
		1 alsa_pcm:playback_2
	}
	capture_ports {
		0 alsa_pcm:capture_1
		1 alsa_pcm:capture_2
	}
}

# These are for alsa-oss
pcm.dsp0 pcm.default
ctl.mixer0 "hw:0"
------------------------------

5:

Ooops: Alsaplayer just disappeared while playing somem Internet radio
station:

/var/log/kern.log from about the time of the crash:

May 17 23:34:11 debby1-6 kernel: [15962.091766] i2sbus: stop/suspend

[nothing more, as it seems .. Sorry]

No problem restarting alsa-player after this little crash .. :) 

> Now, when you boot, mac-io is already built-in so provides the i2s
> device, which my i2sbus module binds to. Since udev synthesizes events,
> i2sbus gets loaded automatically. Now, i2sbus creates uevents on its
> own, with the layout number given as the MODALIAS. Hence, the layout
> fabric module is loaded because it has an alias for all the layouts it
> handles, and it in turn requests all the codec modules that it requires.
> Also, this means that 'modprobe i2sbus' will suffice to get the driver
> up and running without a reboot, 

... didn't try this so far, but I'll keep that in mind for
/etc/modules ... :)

The problem I had so far after installing the new snd-aoa drivers was
to first unload them (before reloading) without the need to reboot
... it seems the KDE panel (kicker) is using the drivers, thus
preventing them from being unloadable ... I'll see into that later on
... 

Just in case it helps:

# lsmod | grep -i snd   [again slightly edited]
snd_aoa_codec_onyx     12736  2 
snd_aoa_fabric_layout     7716  2 
snd_aoa                 8076  2 snd_aoa_codec_onyx,snd_aoa_fabric_layout
snd_pcm_oss            45824  0 
snd_mixer_oss          19392  1 snd_pcm_oss
snd_pcm                89060  2 i2sbus,snd_pcm_oss
snd_timer              22468  1 snd_pcm
snd_page_alloc          8744  1 snd_pcm
soundbus                6436  2 snd_aoa_fabric_layout,i2sbus
snd                    60148  12 snd_aoa_codec_onyx,
				 snd_aoa_fabric_layout,snd_aoa,i2sbus,
				 snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore               8612  1 snd

[do you see modules that are not needed anymore with the new snd-aoa,
with the hardware I have?]

/etc/modules:
-------------------------
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

apm_emu
ide-cd
#ide-disk
#ide-generic
sbp2
i2c-powermac
#snd-powermac

#snd-aoa:
soundbus
i2sbus
snd-aoa
snd-aoa-fabric-layout
snd-aoa-codec-onyx
# End snd-aoa

cpufreq_performance
cpufreq_powersave
sr_mod
therm_adt746x

------------------------

Thanks for your work .. :)

And please let me know if you need to know more ..

Best Regards
Wolfgang

-- 
Wolfgang Pfeiffer: /ICQ: 286585973/ + + +  /AIM: crashinglinux/
http://profiles.yahoo.com/wolfgangpfeiffer

Key ID: E3037113
http://keyserver.mine.nu/pks/lookup?search=0xE3037113&fingerprint=on