Re: [alsa-devel] Crash 2.6.32.x, Echo 3G, Alsa, SCSI
Frederick V Heitkamp wrote:
Repeatable Hard Crash. What else do I need to provide?
[ 5484.995249] WriteControlReg: not written, no change [ 5485.069621] divide error: 0000 [#1] pcm_hw_params ok [ 5485.070159] Prepare rate=44100 format=2 channels=2 [ 5485.070161] set_audio_format[14] = 5 [ 5485.070166] Prepare rate=44100 format=2 channels=2 [ 5485.070167] set_audio_format[14] = 5 [ 5485.070003] PREEMPT SMP ... [ 5485.070003] EIP is at pcm_pointer+0x37/0x70 [snd_echo3g] ... [ 5485.965788] [<c10041c0>] ? do_divide_error+0x0/0x90 [ 5485.980619] [<f87aa037>] ? pcm_pointer+0x37/0x70 [snd_echo3g] [ 5485.998047] [<c104764e>] ? run_timer_softirq+0x17e/0x2e0 [ 5486.014175] [<f87ac9bf>] ? snd_echo_interrupt+0x11f/0x240 [snd_echo3g] [ 5486.033940] [<c107a5d5>] ? handle_IRQ_event+0x45/0x190
bytes_to_frames() divides by runtime->frame_bits which is not set until after the hw_params callback has succeeded, but the corresponding chip->substream[] entry is set in that callback, by init_engine(). It should probably have been set in the prepare callback.
Frederick, please try the patch below.
Takashi, is there any reason why the runtime-> fields are initialized after the hw_params callback?
Regards, Clemens
--- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -403,12 +403,6 @@ if (err < 0) goto _error;
- if (substream->ops->hw_params != NULL) { - err = substream->ops->hw_params(substream, params); - if (err < 0) - goto _error; - } - runtime->access = params_access(params); runtime->format = params_format(params); runtime->subformat = params_subformat(params); @@ -446,6 +440,13 @@ runtime->boundary *= 2;
snd_pcm_timer_resolution_change(substream); + + if (substream->ops->hw_params != NULL) { + err = substream->ops->hw_params(substream, params); + if (err < 0) + goto _error; + } + runtime->status->state = SNDRV_PCM_STATE_SETUP;
pm_qos_remove_requirement(PM_QOS_CPU_DMA_LATENCY,
On Tue, 2 Feb 2010, Clemens Ladisch wrote:
[ 5485.965788] [<c10041c0>] ? do_divide_error+0x0/0x90 [ 5485.980619] [<f87aa037>] ? pcm_pointer+0x37/0x70 [snd_echo3g] [ 5485.998047] [<c104764e>] ? run_timer_softirq+0x17e/0x2e0 [ 5486.014175] [<f87ac9bf>] ? snd_echo_interrupt+0x11f/0x240 [snd_echo3g] [ 5486.033940] [<c107a5d5>] ? handle_IRQ_event+0x45/0x190
bytes_to_frames() divides by runtime->frame_bits which is not set until after the hw_params callback has succeeded, but the corresponding chip->substream[] entry is set in that callback, by init_engine(). It should probably have been set in the prepare callback.
How can an irq arrive before hw_params() and prepare() ?
Frederick, are you using the midi interface ?
-- Giuliano.
Frederick, are you using the midi interface ?
No.
-- Giuliano. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
On Tue, 02 Feb 2010 16:30:27 +0100 Clemens Ladisch clemens@ladisch.de wrote:
Frederick V Heitkamp wrote:
Repeatable Hard Crash. What else do I need to provide?
[ 5484.995249] WriteControlReg: not written, no change [ 5485.069621] divide error: 0000 [#1] pcm_hw_params ok [ 5485.070159] Prepare rate=44100 format=2 channels=2 [ 5485.070161] set_audio_format[14] = 5 [ 5485.070166] Prepare rate=44100 format=2 channels=2 [ 5485.070167] set_audio_format[14] = 5 [ 5485.070003] PREEMPT SMP ... [ 5485.070003] EIP is at pcm_pointer+0x37/0x70 [snd_echo3g] ... [ 5485.965788] [<c10041c0>] ? do_divide_error+0x0/0x90 [ 5485.980619] [<f87aa037>] ? pcm_pointer+0x37/0x70 [snd_echo3g] [ 5485.998047] [<c104764e>] ? run_timer_softirq+0x17e/0x2e0 [ 5486.014175] [<f87ac9bf>] ? snd_echo_interrupt+0x11f/0x240 [snd_echo3g] [ 5486.033940] [<c107a5d5>] ? handle_IRQ_event+0x45/0x190
bytes_to_frames() divides by runtime->frame_bits which is not set until after the hw_params callback has succeeded, but the corresponding chip->substream[] entry is set in that callback, by init_engine(). It should probably have been set in the prepare callback.
I've just had another look at my code. Although it never happened to me, it is indeed possible when hw_params() completes if another substream is already running. The reason is that the card delivers an irq when it executes an irq instruction in any of the running s-g lists. The irq handler cannot know which substream caused it, so it has to call the pointer() function for each of the configured substreams (ie. the ones which completed one of the pcm_*_hw_params() callbacks.
There is another possible fix. I tested it briefly. It looks ok wrt race conditions because pipe->state is set only in the trigger callback. I hope I didn't overlook anything again...
Signed-off-by: Giuliano Pochini pochini@shiny.it
--- alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c__orig 2010-02-02 22:37:33.000000000 +0100 +++ alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c 2010-02-02 22:44:03.000000000 +0100 @@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(in /* The hardware doesn't tell us which substream caused the irq, thus we have to check all running substreams. */ for (ss = 0; ss < DSP_MAXPIPES; ss++) { - if ((substream = chip->substream[ss])) { + substream = chip->substream[ss]; + if (substream && ((struct audiopipe *)substream->runtime-> + private_data)->state == PIPE_STATE_STARTED) { period = pcm_pointer(substream) / substream->runtime->period_size; if (period != chip->last_period[ss]) {
There is another possible fix. I tested it briefly. It looks ok wrt race
conditions because pipe->state is set only in the trigger callback. I hope I didn't overlook anything again...
Signed-off-by: Giuliano Pochini pochini@shiny.it
--- alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c__orig 2010-02-02 22:37:33.000000000 +0100 +++ alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c 2010-02-02 22:44:03.000000000 +0100 @@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(in /* The hardware doesn't tell us which substream caused the irq, thus we have to check all running substreams. */ for (ss = 0; ss < DSP_MAXPIPES; ss++) { - if ((substream = chip->substream[ss])) { + substream = chip->substream[ss]; + if (substream && ((struct audiopipe *)substream->runtime-> + private_data)->state == PIPE_STATE_STARTED) { period = pcm_pointer(substream) / substream->runtime->period_size; if (period != chip->last_period[ss]) {
There is another possible fix. I tested it briefly. It looks ok wrt race conditions because pipe->state is set only in the trigger callback. I hope I didn't overlook anything again...
Signed-off-by: Giuliano Pochini pochini@shiny.it
--- alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c__orig 2010-02-02 22:37:33.000000000 +0100 +++ alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c 2010-02-02 22:44:03.000000000 +0100 @@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(in /* The hardware doesn't tell us which substream caused the irq, thus we have to check all running substreams. */ for (ss = 0; ss < DSP_MAXPIPES; ss++) { - if ((substream = chip->substream[ss])) { + substream = chip->substream[ss]; + if (substream && ((struct audiopipe *)substream->runtime-> + private_data)->state == PIPE_STATE_STARTED) { period = pcm_pointer(substream) / substream->runtime->period_size; if (period != chip->last_period[ss]) {
On 02/02/10 17:09, Giuliano Pochini wrote:
On Tue, 02 Feb 2010 16:30:27 +0100 Clemens Ladischclemens@ladisch.de wrote:
Frederick V Heitkamp wrote:
Repeatable Hard Crash. What else do I need to provide?
[ 5484.995249] WriteControlReg: not written, no change [ 5485.069621] divide error: 0000 [#1] pcm_hw_params ok [ 5485.070159] Prepare rate=44100 format=2 channels=2 [ 5485.070161] set_audio_format[14] = 5 [ 5485.070166] Prepare rate=44100 format=2 channels=2 [ 5485.070167] set_audio_format[14] = 5 [ 5485.070003] PREEMPT SMP ... [ 5485.070003] EIP is at pcm_pointer+0x37/0x70 [snd_echo3g] ... [ 5485.965788] [<c10041c0>] ? do_divide_error+0x0/0x90 [ 5485.980619] [<f87aa037>] ? pcm_pointer+0x37/0x70 [snd_echo3g] [ 5485.998047] [<c104764e>] ? run_timer_softirq+0x17e/0x2e0 [ 5486.014175] [<f87ac9bf>] ? snd_echo_interrupt+0x11f/0x240 [snd_echo3g] [ 5486.033940] [<c107a5d5>] ? handle_IRQ_event+0x45/0x190
bytes_to_frames() divides by runtime->frame_bits which is not set until after the hw_params callback has succeeded, but the corresponding chip->substream[] entry is set in that callback, by init_engine(). It should probably have been set in the prepare callback.
I've just had another look at my code. Although it never happened to me, it is indeed possible when hw_params() completes if another substream is already running. The reason is that the card delivers an irq when it executes an irq instruction in any of the running s-g lists. The irq handler cannot know which substream caused it, so it has to call the pointer() function for each of the configured substreams (ie. the ones which completed one of the pcm_*_hw_params() callbacks.
There is another possible fix. I tested it briefly. It looks ok wrt race conditions because pipe->state is set only in the trigger callback. I hope I didn't overlook anything again...
Signed-off-by: Giuliano Pochinipochini@shiny.it
--- alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c__orig 2010-02-02 22:37:33.000000000 +0100 +++ alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c 2010-02-02 22:44:03.000000000 +0100 @@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(in /* The hardware doesn't tell us which substream caused the irq, thus we have to check all running substreams. */ for (ss = 0; ss< DSP_MAXPIPES; ss++) {
if ((substream = chip->substream[ss])) {
substream = chip->substream[ss];
if (substream&& ((struct audiopipe *)substream->runtime->
private_data)->state == PIPE_STATE_STARTED) { period = pcm_pointer(substream) / substream->runtime->period_size; if (period != chip->last_period[ss]) {
I've tried some newer kernels. Still having problems with the echo 3G. This is kernel version: 2.6.32.13. The above patches posted to the linux kernel list seemed to get rid of the crashes, but evidently did not go into the main kernel tree. Any help appreciated. I am willing to help to the best of my ability. Thanks!
Fred
This segment keeps looping to infinity: [ 9331.528043] pcm_hw_free(0) [ 9331.529200] free_pipes: Pipe 0 [ 9331.545230] pcm_hw_freed [ 9331.552808] pcm_hw_freed [ 9331.560365] pcm_close [ 9331.567145] pcm_close oc=0 cs=1 rs=1 [ 9331.578595] pcm_close2 oc=0 cs=1 rs=0 [ 9490.665630] pcm_analog_out_open [ 9490.675009] max_channels=6 [ 9490.683109] pcm_analog_out_open cs=1 oc=1 r=44100 [ 9490.698046] allocate_pipes: ch=0 int=2 [ 9490.702428] allocate_pipes: ok [ 9490.718350] allocate_pipes()=0 [ 9490.727466] pcm_hw_params (bufsize=131072B periods=2 persize=65536B) [ 9490.746450] SetSampleRate: 44100 clock d63 [ 9490.756870] WriteControlReg: Setting 0xd63, 0x3bfe [ 9490.768468] WriteControlReg: not written, no change [ 9490.787532] pcm_hw_params ok [ 9490.796155] Prepare rate=44100 format=2 channels=2 [ 9490.810464] set_audio_format[0] = 5 [ 9490.820922] Prepare rate=44100 format=2 channels=2 [ 9490.835233] set_audio_format[0] = 5 [ 9490.845758] pcm_trigger start [ 9490.847582] start_transport 1 [ 9497.317297] pcm_trigger stop [ 9497.318517] stop_transport 1 [ 9497.334516] pcm_hw_free(0) [ 9497.335483] free_pipes: Pipe 0 [ 9497.351709] pcm_hw_freed [ 9497.359278] pcm_hw_freed [ 9497.366836] pcm_close [ 9497.373613] pcm_close oc=0 cs=1 rs=1 [ 9497.385061] pcm_close2 oc=0 cs=1 rs=0 [ 9503.442232] pcm_analog_out_open [ 9503.451611] max_channels=6 [ 9503.459713] pcm_analog_out_open cs=1 oc=1 r=44100 [ 9503.474663] allocate_pipes: ch=0 int=2 [ 9503.484394] allocate_pipes: ok [ 9503.494962] allocate_pipes()=0 [ 9503.504081] pcm_hw_params (bufsize=131072B periods=2 persize=65536B) [ 9503.523069] SetSampleRate: 44100 clock d63 [ 9503.532174] WriteControlReg: Setting 0xd63, 0x3bfe [ 9503.545805] WriteControlReg: not written, no change [ 9503.564143] pcm_hw_params ok [ 9503.572765] Prepare rate=44100 format=2 channels=2 [ 9503.587074] set_audio_format[0] = 5 [ 9503.597490] Prepare rate=44100 format=2 channels=2 [ 9503.611839] set_audio_format[0] = 5 [ 9503.622355] pcm_trigger start [ 9503.623236] start_transport 1 [ 9510.095872] pcm_trigger stop [ 9510.096578] stop_transport 1 [ 9510.113193] pcm_hw_free(0) [ 9510.114163] free_pipes: Pipe 0 [ 9510.130405] pcm_hw_freed [ 9510.137982] pcm_hw_freed [ 9510.145541] pcm_close [ 9510.152317] pcm_close oc=0 cs=1 rs=1
On Mon, 31 May 2010 15:05:08 -0400 "F. Heitkamp" heitkamp@ameritech.net wrote:
On 02/02/10 17:09, Giuliano Pochini wrote:
On Tue, 02 Feb 2010 16:30:27 +0100 Clemens Ladischclemens@ladisch.de wrote:
Frederick V Heitkamp wrote:
Repeatable Hard Crash. What else do I need to provide?
[...]
Signed-off-by: Giuliano Pochinipochini@shiny.it
--- alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c__orig 2010-02-02 22:37:33.000000000 +0100 +++ alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c 2010-02-02 22:44:03.000000000 +0100 @@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(in /* The hardware doesn't tell us which substream caused the irq, thus we have to check all running substreams. */ for (ss = 0; ss< DSP_MAXPIPES; ss++) {
if ((substream = chip->substream[ss])) {
substream = chip->substream[ss];
if (substream&& ((struct audiopipe *)substream->runtime->
private_data)->state == PIPE_STATE_STARTED) { period = pcm_pointer(substream) / substream->runtime->period_size; if (period != chip->last_period[ss]) {
I've tried some newer kernels. Still having problems with the echo 3G. This is kernel version: 2.6.32.13. The above patches posted to the linux kernel list seemed to get rid of the crashes, but evidently did not go into the main kernel tree.
Indeed. I've just checked 2.6.33 and the patch isn't there. It's in 2.6.34.
If you need 2.6.32.13 you can apply the above patch to the kernel tree or download ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.23.tar.bz2, otherwise just use the latest kernel.
At Mon, 31 May 2010 22:59:36 +0200, Giuliano Pochini wrote:
On Mon, 31 May 2010 15:05:08 -0400 "F. Heitkamp" heitkamp@ameritech.net wrote:
On 02/02/10 17:09, Giuliano Pochini wrote:
On Tue, 02 Feb 2010 16:30:27 +0100 Clemens Ladischclemens@ladisch.de wrote:
Frederick V Heitkamp wrote:
Repeatable Hard Crash. What else do I need to provide?
[...]
Signed-off-by: Giuliano Pochinipochini@shiny.it
--- alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c__orig 2010-02-02 22:37:33.000000000 +0100 +++ alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c 2010-02-02 22:44:03.000000000 +0100 @@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(in /* The hardware doesn't tell us which substream caused the irq, thus we have to check all running substreams. */ for (ss = 0; ss< DSP_MAXPIPES; ss++) {
if ((substream = chip->substream[ss])) {
substream = chip->substream[ss];
if (substream&& ((struct audiopipe *)substream->runtime->
private_data)->state == PIPE_STATE_STARTED) { period = pcm_pointer(substream) / substream->runtime->period_size; if (period != chip->last_period[ss]) {
I've tried some newer kernels. Still having problems with the echo 3G. This is kernel version: 2.6.32.13. The above patches posted to the linux kernel list seemed to get rid of the crashes, but evidently did not go into the main kernel tree.
Indeed. I've just checked 2.6.33 and the patch isn't there. It's in 2.6.34.
If you need 2.6.32.13 you can apply the above patch to the kernel tree or download ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.23.tar.bz2, otherwise just use the latest kernel.
Care to send the patch to stable kernel (with the upstream commit id)?
thanks,
Takashi
On 05/31/10 16:59, Giuliano Pochini wrote:
On Mon, 31 May 2010 15:05:08 -0400 "F. Heitkamp"heitkamp@ameritech.net wrote:
On 02/02/10 17:09, Giuliano Pochini wrote:
On Tue, 02 Feb 2010 16:30:27 +0100 Clemens Ladischclemens@ladisch.de wrote:
Frederick V Heitkamp wrote:
Repeatable Hard Crash. What else do I need to provide?
[...]
Signed-off-by: Giuliano Pochinipochini@shiny.it
--- alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c__orig 2010-02-02 22:37:33.000000000 +0100 +++ alsa-driver-1.0.22.1/alsa-kernel/pci/echoaudio/echoaudio.c 2010-02-02 22:44:03.000000000 +0100 @@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(in /* The hardware doesn't tell us which substream caused the irq, thus we have to check all running substreams. */ for (ss = 0; ss< DSP_MAXPIPES; ss++) {
if ((substream = chip->substream[ss])) {
substream = chip->substream[ss];
if (substream&& ((struct audiopipe *)substream->runtime->
private_data)->state == PIPE_STATE_STARTED) { period = pcm_pointer(substream) / substream->runtime->period_size; if (period != chip->last_period[ss]) {
I've tried some newer kernels. Still having problems with the echo 3G. This is kernel version: 2.6.32.13. The above patches posted to the linux kernel list seemed to get rid of the crashes, but evidently did not go into the main kernel tree.
Indeed. I've just checked 2.6.33 and the patch isn't there. It's in 2.6.34.
If you need 2.6.32.13 you can apply the above patch to the kernel tree or download ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.23.tar.bz2, otherwise just use the latest kernel.
I tried 2.6.34. I have jack 1.9..5 installed. I was able to use rhythmbox to play mp3s. I could not use the echomixer app. It complained about a channels mismatch.
My goal is to be able to plug in a MIDI keyboard, or USB guitar interface and play along with songs etc.
I plugged in a MIDI keyboard, "/proc/asound/cards" showed the keyboard was recognized. The keyboard has a USB and MIDI interface. I am not sure if they both work at the same time. I had the MIDI cable plugged into the Gina3G, but I could not tell if the keyboard was recognized. I compiled csound5. When I engaged it the system immediately froze and started spitting out:
5831.768583] set_audio_format[0] = 86 [ 5831.768610] pcm_trigger start [ 5831.768611] start_transport 4001 [ 5831.790538] pcm_trigger stop [ 5831.790539] stop_transport 4001 [ 5831.790576] Prepare rate=48000 format=10 channels=2 [ 5831.790578] set_audio_format[14] = 7 [ 5831.790579] Prepare rate=48000 format=10 channels=6 [ 5831.790580] set_audio_format[0] = 86 [ 5831.790608] pcm_trigger start [ 5831.790609] start_transport 4001 [ 5831.812538] pcm_trigger stop [ 5831.812540] stop_transport 4001 [ 5831.812576] Prepare rate=48000 format=10 channels=2 [ 5831.812577] set_audio_format[14] = 7 [ 5831.812578] Prepare rate=48000 format=10 channels=6 [ 5831.812580] set_audio_format[0] = 86 [ 5831.812607] pcm_trigger start [ 5831.812608] start_transport 4001 [ 5831.834537] pcm_trigger stop [ 5831.834539] stop_transport 4001 [ 5831.834576] Prepare rate=48000 format=10 channels=2 [ 5831.834577] set_audio_format[14] = 7 [ 5831.834579] Prepare rate=48000 format=10 channels=6 [ 5831.834580] set_audio_format[0] = 86 [ 5831.834607] pcm_trigger start [ 5831.834608] start_transport 4001 [ 5831.856536] pcm_trigger stop [ 5831.856538] stop_transport 4001 [ 5831.856574] Prepare rate=48000 format=10 channels=2 [ 5831.856576] set_audio_format[14] = 7 [ 5831.856577] Prepare rate=48000 format=10 channels=6 [ 5831.856579] set_audio_format[0] = 86 [ 5831.856606] pcm_trigger start [ 5831.856607] start_transport 4001 [ 5831.878536] pcm_trigger stop [ 5831.878538] stop_transport 4001 [ 5831.878575] Prepare rate=48000 format=10 channels=2 [ 5831.878576] set_audio_format[14] = 7 [ 5831.878578] Prepare rate=48000 format=10 channels=6 [ 5831.878579] set_audio_format[0] = 86 [ 5831.878606] pcm_trigger start [ 5831.878607] start_transport 4001 [ 5831.900535] pcm_trigger stop [ 5831.900537] stop_transport 4001 [ 5831.900575] Prepare rate=48000 format=10 channels=2 [ 5831.900576] set_audio_format[14] = 7 [ 5831.900578] Prepare rate=48000 format=10 channels=6 [ 5831.900579] set_audio_format[0] = 86 [ 5831.900606] pcm_trigger start [ 5831.900607] start_transport 4001 [ 5831.922535] pcm_trigger stop [ 5831.922537] stop_transport 4001 [ 5831.922576] Prepare rate=48000 format=10 channels=2 [ 5831.922578] set_audio_format[14] = 7 [ 5831.922579] Prepare rate=48000 format=10 channels=6 [ 5831.922580] set_audio_format[0] = 86 [ 5831.922608] pcm_trigger start [ 5831.922609] start_transport 4001 [ 5831.944535] pcm_trigger stop [ 5831.944537] stop_transport 4001 [ 5831.944575] Prepare rate=48000 format=10 channels=2 [ 5831.944576] set_audio_format[14] = 7 [ 5831.944578] Prepare rate=48000 format=10 channels=6 [ 5831.944579] set_audio_format[0] = 86 [ 5831.944607] pcm_trigger start [ 5831.944608] start_transport 4001 [ 5831.966536] pcm_trigger stop [ 5831.966538] stop_transport 4001 [ 5831.966576] Prepare rate=48000 format=10 channels=2 [ 5831.966578] set_audio_format[14] = 7 [ 5831.966579] Prepare rate=48000 format=10 channels=6 [ 5831.966580] set_audio_format[0] = 86 [ 5831.966609] pcm_trigger start [ 5831.966610] start_transport 4001 [ 5831.988533] pcm_trigger stop [ 5831.988535] stop_transport 4001 [ 5831.988572] Prepare rate=48000 format=10 channels=2 [ 5831.988574] set_audio_format[14] = 7 [ 5831.988576] Prepare rate=48000 format=10 channels=6 [ 5831.988577] set_audio_format[0] = 86 [ 5831.988604] pcm_trigger start [ 5831.988605] start_transport 4001 [ 5832.010532] pcm_trigger stop [ 5832.010534] stop_transport 4001 [ 5832.010572] Prepare rate=48000 format=10 channels=2 [ 5832.010574] set_audio_format[14] = 7 [ 5832.010575] Prepare rate=48000 format=10 channels=6 [ 5832.010576] set_audio_format[0] = 86 [ 5832.010604] pcm_trigger start [ 5832.010605] start_transport 4001 [ 5832.032531] pcm_trigger stop [ 5832.032533] stop_transport 4001 [ 5832.032569] Prepare rate=48000 format=10 channels=2 [ 5832.032570] set_audio_format[14] = 7 [ 5832.032572] Prepare rate=48000 format=10 channels=6 [ 5832.032573] set_audio_format[0] = 86 [ 5832.032600] pcm_trigger start [ 5832.032601] start_transport 4001 [ 5832.054532] pcm_trigger stop [ 5832.054534] stop_transport 4001 [ 5832.054571] Prepare rate=48000 format=10 channels=2 [ 5832.054573] set_audio_format[14] = 7 [ 5832.054574] Prepare rate=48000 format=10 channels=6 [ 5832.054575] set_audio_format[0] = 86 [ 5832.054602] pcm_trigger start [ 5832.054603] start_transport 4001 [ 5832.076529] pcm_trigger stop [ 5832.076531] stop_transport 4001 [ 5832.076567] Prepare rate=48000 format=10 channels=2 [ 5832.076568] set_audio_format[14] = 7 [ 5832.076570] Prepare rate=48000 format=10 channels=6 [ 5832.076571] set_audio_format[0] = 86 [ 5832.076598] pcm_trigger start [ 5832.076599] start_transport 4001 [ 5832.098530] pcm_trigger stop [ 5832.098532] stop_transport 4001 [ 5832.098568] Prepare rate=48000 format=10 channels=2 [ 5832.098569] set_audio_format[14] = 7 [ 5832.098570] Prepare rate=48000 format=10 channels=6 [ 5832.098571] set_audio_format[0] = 86 [ 5832.098599] pcm_trigger start [ 5832.098600] start_transport 4001 [ 5832.120532] pcm_trigger stop [ 5832.120533] stop_transport 4001 [ 5832.120573] Prepare rate=48000 format=10 channels=2 [ 5832.120575] set_audio_format[14] = 7 [ 5832.120576] Prepare rate=48000 format=10 channels=6 [ 5832.120577] set_audio_format[0] = 86 [ 5832.120606] pcm_trigger start [ 5832.120607] start_transport 4001 [ 5832.142529] pcm_trigger stop [ 5832.142530] stop_transport 4001 [ 5832.142569] Prepare rate=48000 format=10 channels=2 [ 5832.142570] set_audio_format[14] = 7 [ 5832.142571] Prepare rate=48000 format=10 channels=6 [ 5832.142573] set_audio_format[0] = 86 [ 5832.142600] pcm_trigger start [ 5832.142601] start_transport 4001 [ 5832.164529] pcm_trigger stop [ 5832.164530] stop_transport 4001 [ 5832.164568] Prepare rate=48000 format=10 channels=2 [ 5832.164569] set_audio_format[14] = 7 [ 5832.164571] Prepare rate=48000 format=10 channels=6 [ 5832.164572] set_audio_format[0] = 86 [ 5832.164599] pcm_trigger start [ 5832.164600] start_transport 4001 [ 5832.186528] pcm_trigger stop [ 5832.186529] stop_transport 4001 [ 5832.186567] Prepare rate=48000 format=10 channels=2 [ 5832.186568] set_audio_format[14] = 7 [ 5832.186570] Prepare rate=48000 format=10 channels=6 [ 5832.186571] set_audio_format[0] = 86 [ 5832.186601] pcm_trigger start [ 5832.186602] start_transport 4001 [ 5832.208527] pcm_trigger stop [ 5832.208528] stop_transport 4001 [ 5832.208564] Prepare rate=48000 format=10 channels=2 [ 5832.208566] set_audio_format[14] = 7 [ 5832.208567] Prepare rate=48000 format=10 channels=6 [ 5832.208569] set_audio_format[0] = 86 [ 5832.208596] pcm_trigger start [ 5832.208597] start_transport 4001 [ 5832.230526] pcm_trigger stop [ 5832.230527] stop_transport 4001 [ 5832.230565] Prepare rate=48000 format=10 channels=2 [ 5832.230566] set_audio_format[14] = 7 [ 5832.230567] Prepare rate=48000 format=10 channels=6 [ 5832.230568] set_audio_format[0] = 86 [ 5832.230596] pcm_trigger start [ 5832.230597] start_transport 4001 [ 5832.252545] pcm_trigger stop [ 5832.252547] stop_transport 4001 [ 5832.252583] Prepare rate=48000 format=10 channels=2 [ 5832.252584] set_audio_format[14] = 7 [ 5832.252586] Prepare rate=48000 format=10 channels=6 [ 5832.252587] set_audio_format[0] = 86 [ 5832.252614] pcm_trigger start [ 5832.252615] start_transport 4001 [ 5832.274524] pcm_trigger stop [ 5832.274526] stop_transport 4001 [ 5832.274561] Prepare rate=48000 format=10 channels=2 [ 5832.274563] set_audio_format[14] = 7 [ 5832.274564] Prepare rate=48000 format=10 channels=6 [ 5832.274565] set_audio_format[0] = 86 [ 5832.274593] pcm_trigger start [ 5832.274594] start_transport 4001 [ 5832.296536] pcm_trigger stop [ 5832.296538] stop_transport 4001 [ 5832.296576] Prepare rate=48000 format=10 channels=2 [ 5832.296577] set_audio_format[14] = 7 [ 5832.296578] Prepare rate=48000 format=10 channels=6 [ 5832.296579] set_audio_format[0] = 86 [ 5832.296606] pcm_trigger start [ 5832.296607] start_transport 4001 [ 5832.318525] pcm_trigger stop [ 5832.318527] stop_transport 4001 [ 5832.318566] Prepare rate=48000 format=10 channels=2 [ 5832.318567] set_audio_format[14] = 7 [ 5832.318569] Prepare rate=48000 format=10 channels=6 [ 5832.318570] set_audio_format[0] = 86 [ 5832.318598] pcm_trigger start [ 5832.318599] start_transport 4001 [ 5832.340523] pcm_trigger stop [ 5832.340524] stop_transport 4001 [ 5832.340563] Prepare rate=48000 format=10 channels=2 [ 5832.340564] set_audio_format[14] = 7 [ 5832.340566] Prepare rate=48000 format=10 channels=6 [ 5832.340567] set_audio_format[0] = 86 [ 5832.340594] pcm_trigger start [ 5832.340595] start_transport 4001 [ 5832.362522] pcm_trigger stop [ 5832.362524] stop_transport 4001 [ 5834.003252] SysRq : Terminate All Tasks [ 5846.410995] pcm_close [ 5846.410997] pcm_close oc=2 cs=0 rs=1 [ 5846.410998] pcm_close2 oc=2 cs=0 rs=1 [ 5846.449499] Prepare rate=48000 format=10 channels=2 [ 5846.473577] set_audio_format[14] = 7 [ 5846.484293] Prepare rate=48000 format=10 channels=6 [ 5846.503645] set_audio_format[0] = 86 [ 5846.514449] pcm_trigger start [ 5846.515307] start_transport 4001 [ 5846.533291] pcm_trigger stop [ 5846.534001] stop_transport 4001 [ 5846.567444] pcm_hw_free(14) [ 5846.568002] free_pipes: Pipe 14 [ 5846.585146] pcm_hw_freed [ 5846.592757] pcm_hw_freed [ 5846.600307] pcm_close [ 5846.607086] pcm_close oc=1 cs=0 rs=1 [ 5846.618528] pcm_close2 oc=1 cs=1 rs=1 [ 5846.630021] pcm_hw_free(0) [ 5846.631001] free_pipes: Pipe 0 [ 5846.647193] pcm_hw_freed [ 5846.654751] pcm_hw_freed [ 5846.662303] pcm_close [ 5846.669072] pcm_close oc=0 cs=1 rs=1 [ 5846.680516] pcm_close2 oc=0 cs=1 rs=0 [ 5846.706051] uhci_hcd 0000:00:1d.2: release dev 4 ep81-INT, period 8, phase 4s [ 5846.783378] [drm] Resetting GPU
On Tue, 01 Jun 2010 08:25:35 -0400 "F. Heitkamp" heitkamp@ameritech.net wrote:
I've tried some newer kernels. Still having problems with the echo 3G. This is kernel version: 2.6.32.13. The above patches posted to the linux kernel list seemed to get rid of the crashes, but evidently did not go into the main kernel tree.
Indeed. I've just checked 2.6.33 and the patch isn't there. It's in 2.6.34.
If you need 2.6.32.13 you can apply the above patch to the kernel tree or download ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.23.tar.bz2, otherwise just use the latest kernel.
I tried 2.6.34. I have jack 1.9..5 installed. I was able to use rhythmbox to play mp3s. I could not use the echomixer app. It complained about a channels mismatch.
I'm running 2.6.34 now. Both a very old version of echomixer (2005!) and the latest version I just compiled from alsa-tools-1.0.23 work fine with my Gina3G. Please quote the error message.
My goal is to be able to plug in a MIDI keyboard, or USB guitar interface and play along with songs etc.
I plugged in a MIDI keyboard, "/proc/asound/cards" showed the keyboard was recognized. The keyboard has a USB and MIDI interface. I am not sure if they both work at the same time. I had the MIDI cable plugged into the Gina3G, but I could not tell if the keyboard was recognized. I compiled csound5. When I engaged it the system immediately froze and started spitting out: [...]
Ok, I compiled csound, but I don't know how to use it. How can I reproduce the problem ?
participants (6)
-
Clemens Ladisch
-
F. Heitkamp
-
Frederick V Heitkamp
-
Giuliano Pochini
-
Giuliano Pochini
-
Takashi Iwai