Re: "alsactl store" fails to save Echo Gina3G mixer

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

 



Takashi, is there anything else you would like me to do to help with this issue? Should it perhaps be filed on the bug tracker so it doesn't get lost in this list?

-~Chris


On 09/04/2017 03:23 PM, Mark Hills wrote:
On Thu, 31 Aug 2017, Takashi Sakamoto wrote:

On Aug 29 2017 12:46, S. Christian Collins wrote:
On 08/28/2017 10:33 PM, Takashi Sakamoto wrote:
Would you get output from below command line for your Gina 3G?

$ amixer scontrols
The output of "amixer -c 1 scontrols" is attached to this e-mail as
"scontrols.txt".

And typically state data is stored into '/var/lib/alsa/asound.state' as a
default. For my information, could you disclose it if possible?
Yes, it is also attached to this e-mail. The asound.state file was last
modified on March 26th. I remember that I used to not get the error when
using "alsactl store", so perhaps an update caused this issue to appear
around that time?
$ alsactl -f ~/asound1.state store 1
(alsa-utils:alsactl/alsactl.c)
main()
   (alsa-utils:alsactl/state.c)
->save_state()
   ->get_controls()
     ->get_control()
       snd_ctl_elem_info(info)
       count = snd_ctl_elem_info_get_count(info)
       for (i = 0; i < count; i++)
         snd_ctl_elem_value_get_integer(ctl, i)

I guess that 'snd-echo3g.ko' returns value greater than 128 in a call graph of
'snd_ctl_elem_info_get_count()', then a call of
'snd_ctl_elem_value_get_integer()' hits an assertion in the function.
This sounds familiar -- would you like to compare to my post earlier in
the year (for Layla):

   http://mailman.alsa-project.org/pipermail/alsa-devel/2017-March/119125.html

In this post I made a misdiagnosis that it was related to my move to a
64-bit userland. When I found I could revert a patch it looks like it was
coincidence.

A patch mentioned by Mark Hills (a commit 275353bb684e 'ALSA: echoaudio: purge
contradictions between dimension matrix members and total number of members')
is fairly valid in a logical design of ALSA control protocol/interface. In
detail, please refer to my post[1].

Some of ALSA drivers for PCI cards produced by Echo Audio potentially have
problems which I mentioned in the post. They can cause buffer-over-run over
'struct snd_ctl_elem_value.value' in user space. The drivers should be going
to fix.

I wrote a small program to validate dimension information for your card[2].
Would you please execute it? Like:

$ gcc -o ./test ./alsa-ctl-dimen-check.c
$ ./test /dev/snd/controlC[0-9]
In case it's useful, I've also attached the output for my Layla 3G.

This is with the patch reverted as that's the kernel currently in use.
If it would be helpful for me to build another kernel, I can do that.


_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux