[alsa-devel] 2.6.31.x vs. rme vs. alsa 1.0.22?

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Tue Feb 23 01:06:57 CET 2010


On Mon, 2010-02-22 at 23:51 +0000, Fernando Lopez-Lezcano wrote:
> On Tue, 2010-02-16 at 17:58 -0800, Fernando Lopez-Lezcano wrote:
> > Hey, has anyone been seeing strange behavior from this combination?
> > 
> >   kernel 2.6.31.x rt20 + alsa 1.0.22 userland
> >   RME card (pcmcia card + multiface)
> > 
> > hdspmixer is not doing the right thing (does not initialize the card in
> > a way in which playback works), it does not see the hwdep interface (or
> > something like that) and disables metering,
> 
> This is what hdspmixer prints when I attempt to run it:
> 
> ----
> $ hdspmixer
> 
> HDSPMixer 1.6 - Copyright (C) 2003 Thomas Charbonnel <thomas at undata.org>
> This program comes with ABSOLUTELY NO WARRANTY
> HDSPMixer is free software, see the file COPYING for details
> 
> Looking for HDSP cards :
> Card 0 : HDA Intel at 0xfe020000 irq 17
> Card 1 : RME Hammerfall DSP + Multiface at 0xc0000000, irq 16
> Multiface found !
> 1 Hammerfall DSP card found.
> Initializing default presets
> HwDep ioctl failed. Metering stopped
> ----

And this is what strace says:

----
open("/dev/snd/controlC1", O_RDONLY|O_CLOEXEC) = 5
fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
ioctl(5, UI_DEV_CREATE, 0xbff6aef4)     = 0
close(5)                                = 0
open("/dev/snd/hwC1D0", O_RDONLY|O_CLOEXEC) = 5
fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
ioctl(5, 0x80044800, 0xbff6b270)        = 0
ioctl(5, SNDRV_HDSP_IOCTL_GET_PEAK_RMS, 0xbff6b57c) = -1 EINVAL (Invalid
argument)
write(2, "HwDep ioctl failed. Metering sto"..., 37HwDep ioctl failed.
Metering stopped
) = 37
close(5)                                = 0
----

-- Fernando



> > alsamixer even segfaults
> > when I reach the end of the controls listed. Plain weird. Smells like
> > something changed deep in the kernel that makes alsa-lib very unhappy.
> > Alsa-tools rebuilt from source does not make a difference. 
> > 
> > Weirdness goes away when I boot into 2.6.29.6 rt23...
> > 
> > Is there anything in alsa-* that depends on which _kernel_ is available
> > at compile time?
> 
> I have been trying to see if I can figure _anything_ out of this...
> 
> A diff of 2.6.29 (last known working) against 2.6.31.12 reveals
> something that might have an influence on the problem:
> 
> in snd_hdsp_create_hwdep there are two lines added:
> 
> + hw->ops.open = snd_hdsp_hwdep_dummy_op;
>   hw->ops.ioctl = snd_hdsp_hwdep_ioctl;
> + hw->ops.release = snd_hdsp_hwdep_dummy_op;
> 
> And snd_hdsp_hwdep_dummy_op just returns 0...
> 
> Other differences between the two files (not that many) seem irrelevant
> to me. 
> 
> I imagine this is what is causing the difference in behavior (hwdep
> fails). Any suggestions on what I could try to fix this?
> 
> Thanks for any help!
> 
> -- Fernando
> 
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



More information about the Alsa-devel mailing list