On Wed, Mar 28, 2007 at 10:03:30PM +0200, Rask Ingemann Lambertsen wrote: > # echo 'set irq 10 dma 5 dma 1' > /sys/bus/pnp/devices/03\:01/resources > # modprobe snd-jazz16 > $ cat /proc/asound/cards > 0 [CMI8738 ]: CMI8738 - C-Media PCI CMI8738 > C-Media PCI CMI8738 (model 37) at 0xd800, irq 9 > 1 [Jazz16 ]: Jazz16 - Media Vision Jazz16 > Sound Blaster Pro (Jazz16) at 0x220, irq 10, dma8 5, dma16 1 Notice the dma16 = 1 setting. [Trying to play 16-bit sound through an 8-bit DMA channel] > $ aplay -v -D hw:Jazz16,0 /tmp/male.wav > Playing WAVE '/tmp/male.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono > Hardware PCM card 1 'Media Vision Jazz16' device 0 subdevice 0 > Its setup is: > stream : PLAYBACK > access : RW_INTERLEAVED > format : S16_LE > subformat : STD > channels : 1 > rate : 8000 > exact rate : 8000 (1000000/125) > msbits : 16 > buffer_size : 4000 > period_size : 1000 > period_time : 125000 > tick_time : 4000 > tstamp_mode : NONE > period_step : 1 > sleep_min : 0 > avail_min : 1000 > xfer_align : 1000 > start_threshold : 4000 > stop_threshold : 4000 > silence_threshold: 0 > silence_size : 0 > boundary : 2097152000 > aplay: pcm_write:1257: write error: Ind/ud-fejl > > No sound, no interrupts and this message from /var/log/kernel: > kernel: playback write error (DMA or IRQ trouble?) The root cause is that snd_sbdsp_create() only supports dma16 set to 5, 6 or 7. Any other value is changed to -1, which is what happens in this case. It is a hack to avoid trouble with recent SoundBlaster 16 cards (Vibra16VX) using two 8-bit DMA channels, which the SB16 doesn't support. Fix: Use only dma8. -- Rask Ingemann Lambertsen _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel